clean up start
Signed-off-by: Jeff <jeff@gotenzing.com>
Showing
1000 changed files
with
3192 additions
and
0 deletions
Too many changes to show.
To preserve performance only 1000 of 1000+ files are displayed.
.DS_Store
0 → 100644
No preview for this file type
.buildpath
0 → 100644
.bundle/config
0 → 100644
.env
0 → 100644
| 1 | DB_HOST=127.0.0.1 | ||
| 2 | DB_NAME=commonwell_broker | ||
| 3 | DB_USER=root | ||
| 4 | DB_PASS=jeff518862 | ||
| 5 | |||
| 6 | |||
| 7 | merchant_id = "376299332" | ||
| 8 | api_id = "bdE8c883e75941978540fab06b857C7B" | ||
| 9 | |||
| 10 | |||
| 11 | external_payment_client_id = "i3dgneUrHPXFyfDQWCyueNmNcI5uh441" | ||
| 12 | external_payment_client_secret = "0TtB9dgxvXZYSk7QjI8Ib15Q29Bl-wZYHjW-V1O3vrxAa$ | ||
| 13 | external_payment_audience = "https://cmig-dev-payment-service.insurcloud.ca/" | ||
| 14 | external_payment = "https://api-dev03.nonprod.cmig.insurcloud.ca/payment-online$ | ||
| 15 | external_payment_token = "https://insurcloud-dev.auth0.com/oauth/token" | ||
| ... | \ No newline at end of file | ... | \ No newline at end of file |
.htaccess
0 → 100755
This diff is collapsed.
Click to expand it.
.project
0 → 100644
| 1 | <?xml version="1.0" encoding="UTF-8"?> | ||
| 2 | <projectDescription> | ||
| 3 | <name>corporate-site-2013</name> | ||
| 4 | <comment></comment> | ||
| 5 | <projects> | ||
| 6 | </projects> | ||
| 7 | <buildSpec> | ||
| 8 | <buildCommand> | ||
| 9 | <name>org.eclipse.wst.common.project.facet.core.builder</name> | ||
| 10 | <arguments> | ||
| 11 | </arguments> | ||
| 12 | </buildCommand> | ||
| 13 | <buildCommand> | ||
| 14 | <name>org.eclipse.wst.validation.validationbuilder</name> | ||
| 15 | <arguments> | ||
| 16 | </arguments> | ||
| 17 | </buildCommand> | ||
| 18 | <buildCommand> | ||
| 19 | <name>org.eclipse.dltk.core.scriptbuilder</name> | ||
| 20 | <arguments> | ||
| 21 | </arguments> | ||
| 22 | </buildCommand> | ||
| 23 | </buildSpec> | ||
| 24 | <natures> | ||
| 25 | <nature>org.eclipse.php.core.PHPNature</nature> | ||
| 26 | <nature>org.eclipse.wst.common.project.facet.core.nature</nature> | ||
| 27 | </natures> | ||
| 28 | </projectDescription> |
.user.ini
0 → 100644
Capfile
0 → 100644
| 1 | # Load DSL and Setup Up Stages | ||
| 2 | require 'capistrano/setup' | ||
| 3 | |||
| 4 | # Includes default deployment tasks | ||
| 5 | require 'capistrano/deploy' | ||
| 6 | |||
| 7 | |||
| 8 | # Loads custom tasks from `lib/capistrano/tasks' if you have any defined. | ||
| 9 | # Customize this path to change the location of your custom tasks. | ||
| 10 | Dir.glob('lib/capistrano/tasks/*.cap').each { |r| import r } |
Gemfile
0 → 100644
Gemfile.lock
0 → 100644
| 1 | GEM | ||
| 2 | remote: https://rubygems.org/ | ||
| 3 | specs: | ||
| 4 | airbrussh (1.3.0) | ||
| 5 | sshkit (>= 1.6.1, != 1.7.0) | ||
| 6 | capistrano (3.10.1) | ||
| 7 | airbrussh (>= 1.0.0) | ||
| 8 | i18n | ||
| 9 | rake (>= 10.0.0) | ||
| 10 | sshkit (>= 1.9.0) | ||
| 11 | capistrano-composer (0.0.6) | ||
| 12 | capistrano (>= 3.0.0.pre) | ||
| 13 | concurrent-ruby (1.0.5) | ||
| 14 | i18n (0.9.3) | ||
| 15 | concurrent-ruby (~> 1.0) | ||
| 16 | net-scp (1.2.1) | ||
| 17 | net-ssh (>= 2.6.5) | ||
| 18 | net-ssh (4.2.0) | ||
| 19 | rake (12.3.0) | ||
| 20 | sshkit (1.15.1) | ||
| 21 | net-scp (>= 1.1.2) | ||
| 22 | net-ssh (>= 2.8.0) | ||
| 23 | |||
| 24 | PLATFORMS | ||
| 25 | ruby | ||
| 26 | |||
| 27 | DEPENDENCIES | ||
| 28 | capistrano (~> 3.10) | ||
| 29 | capistrano-composer | ||
| 30 | |||
| 31 | BUNDLED WITH | ||
| 32 | 1.15.1 |
apple-touch-icon-114x114-precomposed.png
0 → 100644
9.75 KB
apple-touch-icon-144x144-precomposed.png
0 → 100644
7.99 KB
apple-touch-icon-57x57-precomposed.png
0 → 100644
6.23 KB
apple-touch-icon-72x72-precomposed.png
0 → 100644
7.09 KB
apple-touch-icon-precomposed.png
0 → 100644
6.23 KB
apple-touch-icon.png
0 → 100644
6.23 KB
composer.json
0 → 100644
| 1 | { | ||
| 2 | "require": { | ||
| 3 | "php": ">=5.4", | ||
| 4 | "symfony/var-dumper": "~2.6", | ||
| 5 | "vlucas/phpdotenv": "~1.1" | ||
| 6 | }, | ||
| 7 | "repositories": [ | ||
| 8 | { | ||
| 9 | "type": "composer", | ||
| 10 | "url": "https://wpackagist.org" | ||
| 11 | } | ||
| 12 | ], | ||
| 13 | "config": { | ||
| 14 | "preferred-install": "dist" | ||
| 15 | }, | ||
| 16 | "extra": { | ||
| 17 | "installer-paths": { | ||
| 18 | "wp-content/mu-plugins/{$name}/": [ | ||
| 19 | "type:wordpress-muplugin" | ||
| 20 | ], | ||
| 21 | "wp-content/plugins/{$name}/": [ | ||
| 22 | "type:wordpress-plugin" | ||
| 23 | ], | ||
| 24 | "wp-content/themes/{$name}/": [ | ||
| 25 | "type:wordpress-theme" | ||
| 26 | ] | ||
| 27 | }, | ||
| 28 | "wordpress-install-dir": "./" | ||
| 29 | } | ||
| 30 | } |
composer.lock
0 → 100644
| 1 | { | ||
| 2 | "_readme": [ | ||
| 3 | "This file locks the dependencies of your project to a known state", | ||
| 4 | "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", | ||
| 5 | "This file is @generated automatically" | ||
| 6 | ], | ||
| 7 | "content-hash": "2b5fd6e0e1d56a6dc87df0aae3949d7d", | ||
| 8 | "packages": [ | ||
| 9 | { | ||
| 10 | "name": "symfony/polyfill-mbstring", | ||
| 11 | "version": "v1.8.0", | ||
| 12 | "source": { | ||
| 13 | "type": "git", | ||
| 14 | "url": "https://github.com/symfony/polyfill-mbstring.git", | ||
| 15 | "reference": "3296adf6a6454a050679cde90f95350ad604b171" | ||
| 16 | }, | ||
| 17 | "dist": { | ||
| 18 | "type": "zip", | ||
| 19 | "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/3296adf6a6454a050679cde90f95350ad604b171", | ||
| 20 | "reference": "3296adf6a6454a050679cde90f95350ad604b171", | ||
| 21 | "shasum": "" | ||
| 22 | }, | ||
| 23 | "require": { | ||
| 24 | "php": ">=5.3.3" | ||
| 25 | }, | ||
| 26 | "suggest": { | ||
| 27 | "ext-mbstring": "For best performance" | ||
| 28 | }, | ||
| 29 | "type": "library", | ||
| 30 | "extra": { | ||
| 31 | "branch-alias": { | ||
| 32 | "dev-master": "1.8-dev" | ||
| 33 | } | ||
| 34 | }, | ||
| 35 | "autoload": { | ||
| 36 | "psr-4": { | ||
| 37 | "Symfony\\Polyfill\\Mbstring\\": "" | ||
| 38 | }, | ||
| 39 | "files": [ | ||
| 40 | "bootstrap.php" | ||
| 41 | ] | ||
| 42 | }, | ||
| 43 | "notification-url": "https://packagist.org/downloads/", | ||
| 44 | "license": [ | ||
| 45 | "MIT" | ||
| 46 | ], | ||
| 47 | "authors": [ | ||
| 48 | { | ||
| 49 | "name": "Nicolas Grekas", | ||
| 50 | "email": "p@tchwork.com" | ||
| 51 | }, | ||
| 52 | { | ||
| 53 | "name": "Symfony Community", | ||
| 54 | "homepage": "https://symfony.com/contributors" | ||
| 55 | } | ||
| 56 | ], | ||
| 57 | "description": "Symfony polyfill for the Mbstring extension", | ||
| 58 | "homepage": "https://symfony.com", | ||
| 59 | "keywords": [ | ||
| 60 | "compatibility", | ||
| 61 | "mbstring", | ||
| 62 | "polyfill", | ||
| 63 | "portable", | ||
| 64 | "shim" | ||
| 65 | ], | ||
| 66 | "time": "2018-04-26T10:06:28+00:00" | ||
| 67 | }, | ||
| 68 | { | ||
| 69 | "name": "symfony/var-dumper", | ||
| 70 | "version": "v2.8.42", | ||
| 71 | "source": { | ||
| 72 | "type": "git", | ||
| 73 | "url": "https://github.com/symfony/var-dumper.git", | ||
| 74 | "reference": "c7c7a988c44976c1634d2d1dad6422f5cc3de6b3" | ||
| 75 | }, | ||
| 76 | "dist": { | ||
| 77 | "type": "zip", | ||
| 78 | "url": "https://api.github.com/repos/symfony/var-dumper/zipball/c7c7a988c44976c1634d2d1dad6422f5cc3de6b3", | ||
| 79 | "reference": "c7c7a988c44976c1634d2d1dad6422f5cc3de6b3", | ||
| 80 | "shasum": "" | ||
| 81 | }, | ||
| 82 | "require": { | ||
| 83 | "php": ">=5.3.9", | ||
| 84 | "symfony/polyfill-mbstring": "~1.0" | ||
| 85 | }, | ||
| 86 | "conflict": { | ||
| 87 | "phpunit/phpunit": "<4.8.35|<5.4.3,>=5.0" | ||
| 88 | }, | ||
| 89 | "require-dev": { | ||
| 90 | "ext-iconv": "*", | ||
| 91 | "twig/twig": "~1.34|~2.4" | ||
| 92 | }, | ||
| 93 | "suggest": { | ||
| 94 | "ext-iconv": "To convert non-UTF-8 strings to UTF-8 (or symfony/polyfill-iconv in case ext-iconv cannot be used).", | ||
| 95 | "ext-symfony_debug": "" | ||
| 96 | }, | ||
| 97 | "type": "library", | ||
| 98 | "extra": { | ||
| 99 | "branch-alias": { | ||
| 100 | "dev-master": "2.8-dev" | ||
| 101 | } | ||
| 102 | }, | ||
| 103 | "autoload": { | ||
| 104 | "files": [ | ||
| 105 | "Resources/functions/dump.php" | ||
| 106 | ], | ||
| 107 | "psr-4": { | ||
| 108 | "Symfony\\Component\\VarDumper\\": "" | ||
| 109 | }, | ||
| 110 | "exclude-from-classmap": [ | ||
| 111 | "/Tests/" | ||
| 112 | ] | ||
| 113 | }, | ||
| 114 | "notification-url": "https://packagist.org/downloads/", | ||
| 115 | "license": [ | ||
| 116 | "MIT" | ||
| 117 | ], | ||
| 118 | "authors": [ | ||
| 119 | { | ||
| 120 | "name": "Nicolas Grekas", | ||
| 121 | "email": "p@tchwork.com" | ||
| 122 | }, | ||
| 123 | { | ||
| 124 | "name": "Symfony Community", | ||
| 125 | "homepage": "https://symfony.com/contributors" | ||
| 126 | } | ||
| 127 | ], | ||
| 128 | "description": "Symfony mechanism for exploring and dumping PHP variables", | ||
| 129 | "homepage": "https://symfony.com", | ||
| 130 | "keywords": [ | ||
| 131 | "debug", | ||
| 132 | "dump" | ||
| 133 | ], | ||
| 134 | "time": "2018-06-15T06:44:46+00:00" | ||
| 135 | }, | ||
| 136 | { | ||
| 137 | "name": "vlucas/phpdotenv", | ||
| 138 | "version": "v1.1.1", | ||
| 139 | "source": { | ||
| 140 | "type": "git", | ||
| 141 | "url": "https://github.com/vlucas/phpdotenv.git", | ||
| 142 | "reference": "0cac554ce06277e33ddf9f0b7ade4b8bbf2af3fa" | ||
| 143 | }, | ||
| 144 | "dist": { | ||
| 145 | "type": "zip", | ||
| 146 | "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/0cac554ce06277e33ddf9f0b7ade4b8bbf2af3fa", | ||
| 147 | "reference": "0cac554ce06277e33ddf9f0b7ade4b8bbf2af3fa", | ||
| 148 | "shasum": "" | ||
| 149 | }, | ||
| 150 | "require": { | ||
| 151 | "php": ">=5.3.2" | ||
| 152 | }, | ||
| 153 | "require-dev": { | ||
| 154 | "phpunit/phpunit": "~4.0" | ||
| 155 | }, | ||
| 156 | "type": "library", | ||
| 157 | "autoload": { | ||
| 158 | "psr-0": { | ||
| 159 | "Dotenv": "src/" | ||
| 160 | } | ||
| 161 | }, | ||
| 162 | "notification-url": "https://packagist.org/downloads/", | ||
| 163 | "license": [ | ||
| 164 | "BSD" | ||
| 165 | ], | ||
| 166 | "authors": [ | ||
| 167 | { | ||
| 168 | "name": "Vance Lucas", | ||
| 169 | "email": "vance@vancelucas.com", | ||
| 170 | "homepage": "http://www.vancelucas.com" | ||
| 171 | } | ||
| 172 | ], | ||
| 173 | "description": "Loads environment variables from `.env` to `getenv()`, `$_ENV` and `$_SERVER` automagically.", | ||
| 174 | "homepage": "http://github.com/vlucas/phpdotenv", | ||
| 175 | "keywords": [ | ||
| 176 | "dotenv", | ||
| 177 | "env", | ||
| 178 | "environment" | ||
| 179 | ], | ||
| 180 | "time": "2015-05-30T15:59:26+00:00" | ||
| 181 | } | ||
| 182 | ], | ||
| 183 | "packages-dev": [], | ||
| 184 | "aliases": [], | ||
| 185 | "minimum-stability": "stable", | ||
| 186 | "stability-flags": [], | ||
| 187 | "prefer-stable": false, | ||
| 188 | "prefer-lowest": false, | ||
| 189 | "platform": { | ||
| 190 | "php": ">=5.4" | ||
| 191 | }, | ||
| 192 | "platform-dev": [] | ||
| 193 | } |
config/.DS_Store
0 → 100644
No preview for this file type
config/deploy.rb
0 → 100644
| 1 | set :application, 'commonwell-web' | ||
| 2 | set :repo_url, 'git@git.gotenzing.com:commonwell/corporate-site-2013.git' | ||
| 3 | |||
| 4 | # Branch options | ||
| 5 | # Prompts for the branch name (defaults to current branch) | ||
| 6 | #ask :branch, -> { `git rev-parse --abbrev-ref HEAD`.chomp } | ||
| 7 | |||
| 8 | # Hardcodes branch to always be master | ||
| 9 | # This could be overridden in a stage config file | ||
| 10 | set :branch, :old_master_deploy | ||
| 11 | |||
| 12 | |||
| 13 | set :keep_releases, 2 | ||
| 14 | set :deploy_to, -> { "/var/www/html/production/#{fetch(:application)}" } | ||
| 15 | |||
| 16 | # Use :debug for more verbose output when troubleshooting | ||
| 17 | set :log_level, :info | ||
| 18 | |||
| 19 | |||
| 20 | # Put all shared files/directories here (e.g. uploads that need to go on the NFS drive) | ||
| 21 | set :linked_files, fetch(:linked_files, []).push('.env', 'wordfence-waf.php') | ||
| 22 | set :linked_dirs, fetch(:linked_dirs, []).push('wp-content/wflogs','wp-content/uploads', 'wp-content/storage', 'wp-content/languages', 'wp-content/cache' , 'wp-content/wp-rocket-config') | ||
| 23 | |||
| 24 | |||
| 25 | namespace :deploy do | ||
| 26 | desc 'Sync servers' | ||
| 27 | task :sync do | ||
| 28 | on roles(:web), in: :sequence, wait: 5 do | ||
| 29 | execute("si #{fetch(:application)}") | ||
| 30 | end | ||
| 31 | end | ||
| 32 | end | ||
| 33 | |||
| 34 | namespace :deploy do | ||
| 35 | desc 'Sync servers' | ||
| 36 | task :sync_again do | ||
| 37 | on roles(:web), in: :sequence, wait: 5 do | ||
| 38 | execute("si #{fetch(:application)}") | ||
| 39 | end | ||
| 40 | end | ||
| 41 | end | ||
| 42 | |||
| 43 | namespace :deploy do | ||
| 44 | desc 'Install composer packages' | ||
| 45 | task :install_theme_packages do | ||
| 46 | on roles(:web), in: :sequence, wait: 5 do | ||
| 47 | execute "cd '#{release_path}'; /usr/bin/php72 /home/tenzing_www/bin/composer install --no-dev --prefer-dist --no-interaction --quiet --optimize-autoloader" | ||
| 48 | end | ||
| 49 | end | ||
| 50 | end | ||
| 51 | |||
| 52 | namespace :deploy do | ||
| 53 | desc 'Install composer packages' | ||
| 54 | task :install_theme_packages do | ||
| 55 | on roles(:web), in: :sequence, wait: 5 do | ||
| 56 | execute "cd '#{release_path}/wp-content/themes/commonwell-corp'; /usr/bin/php72 /home/tenzing_www/bin/composer install --no-dev --prefer-dist --no-interaction --quiet --optimize-autoloader" | ||
| 57 | end | ||
| 58 | end | ||
| 59 | end | ||
| 60 | |||
| 61 | |||
| 62 | |||
| 63 | # Override `git#create_release` to handle submodules | ||
| 64 | namespace :git do | ||
| 65 | desc 'Copy repo to releases' | ||
| 66 | task create_release: :'git:update' do | ||
| 67 | on roles(:all) do | ||
| 68 | with fetch(:git_environmental_variables) do | ||
| 69 | within repo_path do | ||
| 70 | execute :git, :clone, '-b', fetch(:branch), '--recursive', '.', release_path | ||
| 71 | end | ||
| 72 | end | ||
| 73 | end | ||
| 74 | end | ||
| 75 | end | ||
| 76 | |||
| 77 | # The above restart task is not run by default | ||
| 78 | # Uncomment the following line to run it on deploys if needed | ||
| 79 | # after 'deploy:publishing', 'deploy:restart' | ||
| 80 | |||
| 81 | namespace :deploy do | ||
| 82 | desc 'Remove Git Files' | ||
| 83 | task :cleanup do | ||
| 84 | on roles(:web), in: :sequence, wait: 5 do | ||
| 85 | execute "cd '#{release_path}/'; rm -Rf .git/ " | ||
| 86 | end | ||
| 87 | end | ||
| 88 | end | ||
| 89 | |||
| 90 | namespace :deploy do | ||
| 91 | desc 'set file permissions' | ||
| 92 | task :set_permissions do | ||
| 93 | on roles(:web), in: :sequence, wait: 5 do | ||
| 94 | execute "cd '#{release_path}/'; chmod -Rf 777 .htaccess wordfence-waf.php wp-content/advanced-cache.php " | ||
| 95 | end | ||
| 96 | end | ||
| 97 | end | ||
| 98 | |||
| 99 | |||
| 100 | |||
| 101 | namespace :deploy do | ||
| 102 | desc 'Update WordPress template root paths to point to the new release' | ||
| 103 | task :update_option_paths do | ||
| 104 | on roles(:app) do | ||
| 105 | within fetch(:release_path) do | ||
| 106 | if test :wp, :core, 'is-installed' | ||
| 107 | [:stylesheet_root, :template_root].each do |option| | ||
| 108 | # Only change the value if it's an absolute path | ||
| 109 | # i.e. The relative path "/themes" must remain unchanged | ||
| 110 | # Also, the option might not be set, in which case we leave it like that | ||
| 111 | value = capture :wp, :option, :get, option, raise_on_non_zero_exit: false | ||
| 112 | if value != '' && value != '/themes' | ||
| 113 | execute :wp, :option, :set, option, fetch(:release_path).join('web/wp/wp-content/themes') | ||
| 114 | end | ||
| 115 | end | ||
| 116 | end | ||
| 117 | end | ||
| 118 | end | ||
| 119 | end | ||
| 120 | end | ||
| 121 | |||
| 122 | |||
| 123 | |||
| 124 | # The above update_option_paths task is not run by default | ||
| 125 | # Note that you need to have WP-CLI installed on your server | ||
| 126 | # Uncomment the following line to run it on deploys if needed | ||
| 127 | # after 'deploy:publishing', 'deploy:update_option_paths' | ||
| 128 | |||
| 129 | after 'deploy:updated', 'deploy:install_theme_packages' | ||
| 130 | after 'deploy:updated', 'deploy:sync' | ||
| 131 | after 'deploy:updated', 'deploy:set_permissions' | ||
| 132 | after 'deploy:finished', 'deploy:sync_again' |
config/deploy/production.rb
0 → 100644
| 1 | set :stage, :production | ||
| 2 | |||
| 3 | # Simple Role Syntax | ||
| 4 | # ================== | ||
| 5 | role :web, %w{tenzing_www@web-1} | ||
| 6 | |||
| 7 | # you can set custom ssh options | ||
| 8 | # it's possible to pass any option but you need to keep in mind that net/ssh understand limited list of options | ||
| 9 | # you can see them in [net/ssh documentation](http://net-ssh.github.io/net-ssh/classes/Net/SSH.html#method-c-start) | ||
| 10 | # set it globally | ||
| 11 | # set :ssh_options, { | ||
| 12 | # keys: %w(~/.ssh/id_rsa), | ||
| 13 | # forward_agent: false, | ||
| 14 | # auth_methods: %w(password) | ||
| 15 | # } | ||
| 16 | |||
| 17 | fetch(:default_env).merge!(wp_env: :production) |
config/deploy/staging.rb
0 → 100644
| 1 | set :application, 'commonwell-corp' | ||
| 2 | set :stage, :staging | ||
| 3 | set :branch, "new_product" | ||
| 4 | |||
| 5 | # Simple Role Syntax | ||
| 6 | # ================== | ||
| 7 | role :web, %w{tenzing_www@web-1} | ||
| 8 | |||
| 9 | # you can set custom ssh options | ||
| 10 | # it's possible to pass any option but you need to keep in mind that net/ssh understand limited list of options | ||
| 11 | # you can see them in [net/ssh documentation](http://net-ssh.github.io/net-ssh/classes/Net/SSH.html#method-c-start) | ||
| 12 | # set it globally | ||
| 13 | # set :ssh_options, { | ||
| 14 | # keys: %w(~/.ssh/id_rsa), | ||
| 15 | # forward_agent: false, | ||
| 16 | # auth_methods: %w(password) | ||
| 17 | # } | ||
| 18 | |||
| 19 | fetch(:default_env).merge!(wp_env: :staging) |
favicon.ico
0 → 100644
No preview for this file type
index.php
0 → 100644
| 1 | <?php | ||
| 2 | /** | ||
| 3 | * Front to the WordPress application. This file doesn't do anything, but loads | ||
| 4 | * wp-blog-header.php which does and tells WordPress to load the theme. | ||
| 5 | * | ||
| 6 | * @package WordPress | ||
| 7 | */ | ||
| 8 | |||
| 9 | /** | ||
| 10 | * Tells WordPress to load the WordPress theme and output it. | ||
| 11 | * | ||
| 12 | * @var bool | ||
| 13 | */ | ||
| 14 | define( 'WP_USE_THEMES', true ); | ||
| 15 | |||
| 16 | /** Loads the WordPress Environment and Template */ | ||
| 17 | require __DIR__ . '/wp-blog-header.php'; |
license.txt
0 → 100644
This diff is collapsed.
Click to expand it.
log/capistrano.log
0 → 100644
This diff is collapsed.
Click to expand it.
migrations/01_migrate_to_gce.php
0 → 100644
| 1 | <?php | ||
| 2 | /** | ||
| 3 | * Created by PhpStorm. | ||
| 4 | * User: insu | ||
| 5 | * Date: 15-03-05 | ||
| 6 | * Time: 10:06 AM | ||
| 7 | */ | ||
| 8 | require_once __DIR__ . '/../wp-config.php'; | ||
| 9 | |||
| 10 | $mysqli = @new mysqli(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME); | ||
| 11 | |||
| 12 | if ($mysqli->connect_errno) { | ||
| 13 | echo "<h1>Failed to connect to MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error . "</h1>\n"; | ||
| 14 | die(1); | ||
| 15 | } | ||
| 16 | |||
| 17 | $results = $mysqli->query("show tables;"); | ||
| 18 | if ($results === false or $mysqli->connect_errno) { | ||
| 19 | echo "MySQL error: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error . "\n"; | ||
| 20 | die(2); | ||
| 21 | } | ||
| 22 | while ($row = $results->fetch_assoc()) { | ||
| 23 | $sql = "SHOW TABLE STATUS WHERE Name = '{$row['Tables_in_test']}'"; | ||
| 24 | $thisTable = $mysqli->query($sql)->fetch_assoc(); | ||
| 25 | |||
| 26 | if ($thisTable['Engine'] === 'MyISAM') { | ||
| 27 | $sql = "alter table " . $row['Tables_in_test'] . " ENGINE = InnoDB;"; | ||
| 28 | echo $row['Tables_in_test'] . " is using the " . $thisTable['Engine'] . " Engine. [ Changing ]\n"; | ||
| 29 | $mysqli->query($sql); | ||
| 30 | } else { | ||
| 31 | echo $row['Tables_in_test'] . ' is already using the ' . $thisTable['Engine'] . " Engine. [ Ignoring ]\n"; | ||
| 32 | } | ||
| 33 | }; | ||
| 34 | |||
| 35 | die(0); | ||
| ... | \ No newline at end of file | ... | \ No newline at end of file |
phpinfo.php
0 → 100644
| 1 | <?php | ||
| 2 | |||
| 3 | phpinfo(); | ||
| 4 | |||
| 5 | // $fields = | ||
| 6 | // array ( | ||
| 7 | |||
| 8 | // 'location' => | ||
| 9 | // array ( | ||
| 10 | // 'name' => 'Location', | ||
| 11 | // 'field_name' => 'location', | ||
| 12 | // 'type' => 'textfield', | ||
| 13 | // 'show_list' => 'off', | ||
| 14 | // 'extra' => | ||
| 15 | // array ( | ||
| 16 | // 'show_label' => 'yes', | ||
| 17 | // 'multiline' => 'no', | ||
| 18 | // ), | ||
| 19 | // ), | ||
| 20 | // 'city' => | ||
| 21 | // array ( | ||
| 22 | // 'name' => 'City', | ||
| 23 | // 'field_name' => 'city', | ||
| 24 | // 'type' => 'textfield', | ||
| 25 | // 'show_list' => 'off', | ||
| 26 | // 'extra' => | ||
| 27 | // array ( | ||
| 28 | // 'show_label' => 'yes', | ||
| 29 | // 'multiline' => 'no', | ||
| 30 | // ), | ||
| 31 | // ), | ||
| 32 | // 'event_date' => | ||
| 33 | // array ( | ||
| 34 | // 'name' => 'Event Start Date', | ||
| 35 | // 'field_name' => 'event_date', | ||
| 36 | // 'type' => 'datefield', | ||
| 37 | // 'show_list' => 'off', | ||
| 38 | // 'extra' => | ||
| 39 | // array ( | ||
| 40 | // 'show_label' => 'yes', | ||
| 41 | // 'date_format' => 'Short', | ||
| 42 | // 'custom_date_format' => '', | ||
| 43 | // ), | ||
| 44 | // ), | ||
| 45 | // 'event_date_end' => | ||
| 46 | // array ( | ||
| 47 | // 'name' => 'Event End Date (optional)', | ||
| 48 | // 'field_name' => 'event_date_end', | ||
| 49 | // 'type' => 'datefield', | ||
| 50 | // 'show_list' => 'off', | ||
| 51 | // 'extra' => | ||
| 52 | // array ( | ||
| 53 | // 'show_label' => 'yes', | ||
| 54 | // 'date_format' => 'Short', | ||
| 55 | // 'custom_date_format' => '', | ||
| 56 | // ), | ||
| 57 | // ), | ||
| 58 | // 'time_start' => | ||
| 59 | // array ( | ||
| 60 | // 'name' => 'Start Time', | ||
| 61 | // 'field_name' => 'time_start', | ||
| 62 | // 'type' => 'textfield', | ||
| 63 | // 'show_list' => 'off', | ||
| 64 | // 'extra' => | ||
| 65 | // array ( | ||
| 66 | // 'show_label' => 'yes', | ||
| 67 | // 'multiline' => 'no', | ||
| 68 | // ), | ||
| 69 | // ), | ||
| 70 | // 'time_end' => | ||
| 71 | // array ( | ||
| 72 | // 'name' => 'End Time', | ||
| 73 | // 'field_name' => 'time_end', | ||
| 74 | // 'type' => 'textfield', | ||
| 75 | // 'show_list' => 'off', | ||
| 76 | // 'extra' => | ||
| 77 | // array ( | ||
| 78 | // 'show_label' => 'yes', | ||
| 79 | // 'multiline' => 'no', | ||
| 80 | // ), | ||
| 81 | // ), | ||
| 82 | // 'reg_open' => | ||
| 83 | // array ( | ||
| 84 | // 'name' => 'Registration Opens', | ||
| 85 | // 'field_name' => 'reg_open', | ||
| 86 | // 'type' => 'datefield', | ||
| 87 | // 'show_list' => 'off', | ||
| 88 | // 'extra' => | ||
| 89 | // array ( | ||
| 90 | // 'show_label' => 'yes', | ||
| 91 | // 'date_format' => 'Short', | ||
| 92 | // 'custom_date_format' => '', | ||
| 93 | // ), | ||
| 94 | // ), | ||
| 95 | // 'early_bird_deadline' => | ||
| 96 | // array ( | ||
| 97 | // 'name' => 'Early Bird Deadline', | ||
| 98 | // 'field_name' => 'early_bird_deadline', | ||
| 99 | // 'type' => 'datefield', | ||
| 100 | // 'show_list' => 'off', | ||
| 101 | // 'extra' => | ||
| 102 | // array ( | ||
| 103 | // 'show_label' => 'yes', | ||
| 104 | // 'date_format' => 'Medium', | ||
| 105 | // 'custom_date_format' => '', | ||
| 106 | // ), | ||
| 107 | // ), | ||
| 108 | // 'reg_deadline' => | ||
| 109 | // array ( | ||
| 110 | // 'name' => 'Registration Deadline', | ||
| 111 | // 'field_name' => 'reg_deadline', | ||
| 112 | // 'type' => 'datefield', | ||
| 113 | // 'show_list' => 'off', | ||
| 114 | // 'extra' => | ||
| 115 | // array ( | ||
| 116 | // 'show_label' => 'yes', | ||
| 117 | // 'date_format' => 'Medium', | ||
| 118 | // 'custom_date_format' => '', | ||
| 119 | // ), | ||
| 120 | // ), | ||
| 121 | // 'cancel_deadline' => | ||
| 122 | // array ( | ||
| 123 | // 'name' => 'Cancellation Deadline', | ||
| 124 | // 'field_name' => 'cancel_deadline', | ||
| 125 | // 'type' => 'datefield', | ||
| 126 | // 'show_list' => 'off', | ||
| 127 | // 'extra' => | ||
| 128 | // array ( | ||
| 129 | // 'show_label' => 'yes', | ||
| 130 | // 'date_format' => 'Medium', | ||
| 131 | // 'custom_date_format' => '', | ||
| 132 | // ), | ||
| 133 | // ), | ||
| 134 | // 'edit_deadline' => | ||
| 135 | // array ( | ||
| 136 | // 'name' => 'Edit Deadline', | ||
| 137 | // 'field_name' => 'edit_deadline', | ||
| 138 | // 'type' => 'datefield', | ||
| 139 | // 'show_list' => 'off', | ||
| 140 | // 'extra' => | ||
| 141 | // array ( | ||
| 142 | // 'show_label' => 'yes', | ||
| 143 | // 'date_format' => 'Medium', | ||
| 144 | // 'custom_date_format' => '', | ||
| 145 | // ), | ||
| 146 | // ), | ||
| 147 | // 'cost' => | ||
| 148 | // array ( | ||
| 149 | // 'name' => 'Cost', | ||
| 150 | // 'field_name' => 'cost', | ||
| 151 | // 'type' => 'textfield', | ||
| 152 | // 'show_list' => 'off', | ||
| 153 | // 'extra' => | ||
| 154 | // array ( | ||
| 155 | // 'show_label' => 'yes', | ||
| 156 | // 'multiline' => 'no', | ||
| 157 | // ), | ||
| 158 | // ), | ||
| 159 | // 'early_bird_discount' => | ||
| 160 | // array ( | ||
| 161 | // 'name' => 'Early Bird ($) Discount ', | ||
| 162 | // 'field_name' => 'early_bird_discount', | ||
| 163 | // 'type' => 'textfield', | ||
| 164 | // 'show_list' => 'off', | ||
| 165 | // 'extra' => | ||
| 166 | // array ( | ||
| 167 | // 'show_label' => 'yes', | ||
| 168 | // 'multiline' => 'no', | ||
| 169 | // ), | ||
| 170 | // ), | ||
| 171 | // 'student_member_discount' => | ||
| 172 | // array ( | ||
| 173 | // 'name' => 'Student/Member ($) Discount', | ||
| 174 | // 'field_name' => 'student_member_discount', | ||
| 175 | // 'type' => 'textfield', | ||
| 176 | // 'show_list' => 'off', | ||
| 177 | // 'extra' => | ||
| 178 | // array ( | ||
| 179 | // 'show_label' => 'yes', | ||
| 180 | // 'multiline' => 'no', | ||
| 181 | // ), | ||
| 182 | // ), | ||
| 183 | // 'worth_cehours' => | ||
| 184 | // array ( | ||
| 185 | // 'name' => 'Worth CE Hours', | ||
| 186 | // 'field_name' => 'worth_cehours', | ||
| 187 | // 'type' => 'textfield', | ||
| 188 | // 'show_list' => 'off', | ||
| 189 | // 'extra' => | ||
| 190 | // array ( | ||
| 191 | // 'show_label' => 'yes', | ||
| 192 | // 'multiline' => 'no', | ||
| 193 | // ), | ||
| 194 | // ), | ||
| 195 | // 'is_archived_podcast' => | ||
| 196 | // array ( | ||
| 197 | // 'name' => 'Include in Archived Podcast', | ||
| 198 | // 'field_name' => 'is_archived_podcast', | ||
| 199 | // 'type' => 'checkbox', | ||
| 200 | // 'show_list' => false, | ||
| 201 | // 'extra' => | ||
| 202 | // array ( | ||
| 203 | // ), | ||
| 204 | // ), | ||
| 205 | // 'is_archived_webinar' => | ||
| 206 | // array ( | ||
| 207 | // 'name' => 'Include in Archived Webinars', | ||
| 208 | // 'field_name' => 'is_archived_webinar', | ||
| 209 | // 'type' => 'checkbox', | ||
| 210 | // 'show_list' => 'off', | ||
| 211 | // 'extra' => | ||
| 212 | // array ( | ||
| 213 | // ), | ||
| 214 | // ), | ||
| 215 | // 'event_include_on_home_page' => | ||
| 216 | // array ( | ||
| 217 | // 'name' => 'Include on Home Page', | ||
| 218 | // 'field_name' => 'event_include_on_home_page', | ||
| 219 | // 'type' => 'checkbox', | ||
| 220 | // 'show_list' => 'off', | ||
| 221 | // 'extra' => | ||
| 222 | // array ( | ||
| 223 | // ), | ||
| 224 | // ), | ||
| 225 | |||
| 226 | |||
| 227 | |||
| 228 | // ); | ||
| 229 | |||
| 230 | |||
| 231 | // $new_fields = array(); | ||
| 232 | // foreach($fields as $field){ | ||
| 233 | // $characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'; | ||
| 234 | // $charactersLength = strlen($characters); | ||
| 235 | // $randomString = ''; | ||
| 236 | // for ($i = 0; $i < 13; $i++) { | ||
| 237 | // $randomString .= $characters[rand(0, $charactersLength - 1)]; | ||
| 238 | // } | ||
| 239 | // error_log(print_r($field['name'], true)); | ||
| 240 | // array_push($new_fields, | ||
| 241 | |||
| 242 | // array( | ||
| 243 | // 'key' => 'field_'.$randomString, | ||
| 244 | // 'label' => $field['name'], | ||
| 245 | // 'name' => $field['field_name'], | ||
| 246 | // 'type' => $field['type'], | ||
| 247 | // 'instructions' => '', | ||
| 248 | // 'required' => 0, | ||
| 249 | // 'conditional_logic' => 0, | ||
| 250 | // 'wrapper' => | ||
| 251 | // (object) array( | ||
| 252 | // 'width' => '', | ||
| 253 | // 'class' => '', | ||
| 254 | // 'id' => '', | ||
| 255 | // ), | ||
| 256 | // 'default_value' => '', | ||
| 257 | // 'placeholder' => '', | ||
| 258 | // 'prepend' => '', | ||
| 259 | // 'append' => '', | ||
| 260 | // 'maxlength' => '', | ||
| 261 | // ) | ||
| 262 | |||
| 263 | // ); | ||
| 264 | // } | ||
| 265 | // var_dump(json_encode($new_fields)); | ||
| 266 | |||
| 267 |
readme.c5d577271bc41e1aea64ffce1b6d77fa.html
0 → 100644
| 1 | <!DOCTYPE html> | ||
| 2 | <html lang="en"> | ||
| 3 | <head> | ||
| 4 | <meta name="viewport" content="width=device-width" /> | ||
| 5 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> | ||
| 6 | <title>WordPress › ReadMe</title> | ||
| 7 | <link rel="stylesheet" href="wp-admin/css/install.css?ver=20100228" type="text/css" /> | ||
| 8 | </head> | ||
| 9 | <body> | ||
| 10 | <h1 id="logo"> | ||
| 11 | <a href="https://wordpress.org/"><img alt="WordPress" src="wp-admin/images/wordpress-logo.png" /></a> | ||
| 12 | </h1> | ||
| 13 | <p style="text-align: center">Semantic Personal Publishing Platform</p> | ||
| 14 | |||
| 15 | <h2>First Things First</h2> | ||
| 16 | <p>Welcome. WordPress is a very special project to me. Every developer and contributor adds something unique to the mix, and together we create something beautiful that I am proud to be a part of. Thousands of hours have gone into WordPress, and we are dedicated to making it better every day. Thank you for making it part of your world.</p> | ||
| 17 | <p style="text-align: right">— Matt Mullenweg</p> | ||
| 18 | |||
| 19 | <h2>Installation: Famous 5-minute install</h2> | ||
| 20 | <ol> | ||
| 21 | <li>Unzip the package in an empty directory and upload everything.</li> | ||
| 22 | <li>Open <span class="file"><a href="wp-admin/install.php">wp-admin/install.php</a></span> in your browser. It will take you through the process to set up a <code>wp-config.php</code> file with your database connection details. | ||
| 23 | <ol> | ||
| 24 | <li>If for some reason this does not work, do not worry. It may not work on all web hosts. Open up <code>wp-config-sample.php</code> with a text editor like WordPad or similar and fill in your database connection details.</li> | ||
| 25 | <li>Save the file as <code>wp-config.php</code> and upload it.</li> | ||
| 26 | <li>Open <span class="file"><a href="wp-admin/install.php">wp-admin/install.php</a></span> in your browser.</li> | ||
| 27 | </ol> | ||
| 28 | </li> | ||
| 29 | <li>Once the configuration file is set up, the installer will set up the tables needed for your site. If there is an error, double check your <code>wp-config.php</code> file, and try again. If it fails again, please go to the <a href="https://wordpress.org/support/forums/">WordPress support forums</a> with as much data as you can gather.</li> | ||
| 30 | <li><strong>If you did not enter a password, note the password given to you.</strong> If you did not provide a username, it will be <code>admin</code>.</li> | ||
| 31 | <li>The installer should then send you to the <a href="wp-login.php">login page</a>. Sign in with the username and password you chose during the installation. If a password was generated for you, you can then click on “Profile” to change the password.</li> | ||
| 32 | </ol> | ||
| 33 | |||
| 34 | <h2>Updating</h2> | ||
| 35 | <h3>Using the Automatic Updater</h3> | ||
| 36 | <ol> | ||
| 37 | <li>Open <span class="file"><a href="wp-admin/update-core.php">wp-admin/update-core.php</a></span> in your browser and follow the instructions.</li> | ||
| 38 | <li>You wanted more, perhaps? That’s it!</li> | ||
| 39 | </ol> | ||
| 40 | |||
| 41 | <h3>Updating Manually</h3> | ||
| 42 | <ol> | ||
| 43 | <li>Before you update anything, make sure you have backup copies of any files you may have modified such as <code>index.php</code>.</li> | ||
| 44 | <li>Delete your old WordPress files, saving ones you’ve modified.</li> | ||
| 45 | <li>Upload the new files.</li> | ||
| 46 | <li>Point your browser to <span class="file"><a href="wp-admin/upgrade.php">/wp-admin/upgrade.php</a>.</span></li> | ||
| 47 | </ol> | ||
| 48 | |||
| 49 | <h2>Migrating from other systems</h2> | ||
| 50 | <p>WordPress can <a href="https://wordpress.org/support/article/importing-content/">import from a number of systems</a>. First you need to get WordPress installed and working as described above, before using <a href="wp-admin/import.php">our import tools</a>.</p> | ||
| 51 | |||
| 52 | <h2>System Requirements</h2> | ||
| 53 | <ul> | ||
| 54 | <li><a href="https://secure.php.net/">PHP</a> version <strong>5.6.20</strong> or greater.</li> | ||
| 55 | <li><a href="https://www.mysql.com/">MySQL</a> version <strong>5.0</strong> or greater.</li> | ||
| 56 | </ul> | ||
| 57 | |||
| 58 | <h3>Recommendations</h3> | ||
| 59 | <ul> | ||
| 60 | <li><a href="https://secure.php.net/">PHP</a> version <strong>7.4</strong> or greater.</li> | ||
| 61 | <li><a href="https://www.mysql.com/">MySQL</a> version <strong>5.7</strong> or greater OR <a href="https://mariadb.org/">MariaDB</a> version <strong>10.2</strong> or greater.</li> | ||
| 62 | <li>The <a href="https://httpd.apache.org/docs/2.2/mod/mod_rewrite.html">mod_rewrite</a> Apache module.</li> | ||
| 63 | <li><a href="https://wordpress.org/news/2016/12/moving-toward-ssl/">HTTPS</a> support.</li> | ||
| 64 | <li>A link to <a href="https://wordpress.org/">wordpress.org</a> on your site.</li> | ||
| 65 | </ul> | ||
| 66 | |||
| 67 | <h2>Online Resources</h2> | ||
| 68 | <p>If you have any questions that are not addressed in this document, please take advantage of WordPress’ numerous online resources:</p> | ||
| 69 | <dl> | ||
| 70 | <dt><a href="https://codex.wordpress.org/">The WordPress Codex</a></dt> | ||
| 71 | <dd>The Codex is the encyclopedia of all things WordPress. It is the most comprehensive source of information for WordPress available.</dd> | ||
| 72 | <dt><a href="https://wordpress.org/news/">The WordPress Blog</a></dt> | ||
| 73 | <dd>This is where you’ll find the latest updates and news related to WordPress. Recent WordPress news appears in your administrative dashboard by default.</dd> | ||
| 74 | <dt><a href="https://planet.wordpress.org/">WordPress Planet</a></dt> | ||
| 75 | <dd>The WordPress Planet is a news aggregator that brings together posts from WordPress blogs around the web.</dd> | ||
| 76 | <dt><a href="https://wordpress.org/support/forums/">WordPress Support Forums</a></dt> | ||
| 77 | <dd>If you’ve looked everywhere and still cannot find an answer, the support forums are very active and have a large community ready to help. To help them help you be sure to use a descriptive thread title and describe your question in as much detail as possible.</dd> | ||
| 78 | <dt><a href="https://make.wordpress.org/support/handbook/appendix/other-support-locations/introduction-to-irc/">WordPress <abbr>IRC</abbr> (Internet Relay Chat) Channel</a></dt> | ||
| 79 | <dd>There is an online chat channel that is used for discussion among people who use WordPress and occasionally support topics. The above wiki page should point you in the right direction. (<a href="https://web.libera.chat/#wordpress">irc.libera.chat #wordpress</a>)</dd> | ||
| 80 | </dl> | ||
| 81 | |||
| 82 | <h2>Final Notes</h2> | ||
| 83 | <ul> | ||
| 84 | <li>If you have any suggestions, ideas, or comments, or if you (gasp!) found a bug, join us in the <a href="https://wordpress.org/support/forums/">Support Forums</a>.</li> | ||
| 85 | <li>WordPress has a robust plugin <abbr>API</abbr> (Application Programming Interface) that makes extending the code easy. If you are a developer interested in utilizing this, see the <a href="https://developer.wordpress.org/plugins/">Plugin Developer Handbook</a>. You shouldn’t modify any of the core code.</li> | ||
| 86 | </ul> | ||
| 87 | |||
| 88 | <h2>Share the Love</h2> | ||
| 89 | <p>WordPress has no multi-million dollar marketing campaign or celebrity sponsors, but we do have something even better—you. If you enjoy WordPress please consider telling a friend, setting it up for someone less knowledgeable than yourself, or writing the author of a media article that overlooks us.</p> | ||
| 90 | |||
| 91 | <p>WordPress is the official continuation of <a href="http://cafelog.com/">b2/cafélog</a>, which came from Michel V. The work has been continued by the <a href="https://wordpress.org/about/">WordPress developers</a>. If you would like to support WordPress, please consider <a href="https://wordpress.org/donate/">donating</a>.</p> | ||
| 92 | |||
| 93 | <h2>License</h2> | ||
| 94 | <p>WordPress is free software, and is released under the terms of the <abbr>GPL</abbr> (GNU General Public License) version 2 or (at your option) any later version. See <a href="license.txt">license.txt</a>.</p> | ||
| 95 | |||
| 96 | </body> | ||
| 97 | </html> |
readme.f3aa3e3283a63e3fc47d79d6123f9faa.html
0 → 100644
| 1 | <!DOCTYPE html> | ||
| 2 | <html> | ||
| 3 | <head> | ||
| 4 | <meta name="viewport" content="width=device-width" /> | ||
| 5 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> | ||
| 6 | <title>WordPress › ReadMe</title> | ||
| 7 | <link rel="stylesheet" href="wp-admin/css/install.css?ver=20100228" type="text/css" /> | ||
| 8 | </head> | ||
| 9 | <body> | ||
| 10 | <h1 id="logo"> | ||
| 11 | <a href="https://wordpress.org/"><img alt="WordPress" src="wp-admin/images/wordpress-logo.png" /></a> | ||
| 12 | <br /> Version 4.4 | ||
| 13 | </h1> | ||
| 14 | <p style="text-align: center">Semantic Personal Publishing Platform</p> | ||
| 15 | |||
| 16 | <h2>First Things First</h2> | ||
| 17 | <p>Welcome. WordPress is a very special project to me. Every developer and contributor adds something unique to the mix, and together we create something beautiful that I’m proud to be a part of. Thousands of hours have gone into WordPress, and we’re dedicated to making it better every day. Thank you for making it part of your world.</p> | ||
| 18 | <p style="text-align: right">— Matt Mullenweg</p> | ||
| 19 | |||
| 20 | <h2>Installation: Famous 5-minute install</h2> | ||
| 21 | <ol> | ||
| 22 | <li>Unzip the package in an empty directory and upload everything.</li> | ||
| 23 | <li>Open <span class="file"><a href="wp-admin/install.php">wp-admin/install.php</a></span> in your browser. It will take you through the process to set up a <code>wp-config.php</code> file with your database connection details. | ||
| 24 | <ol> | ||
| 25 | <li>If for some reason this doesn’t work, don’t worry. It doesn’t work on all web hosts. Open up <code>wp-config-sample.php</code> with a text editor like WordPad or similar and fill in your database connection details.</li> | ||
| 26 | <li>Save the file as <code>wp-config.php</code> and upload it.</li> | ||
| 27 | <li>Open <span class="file"><a href="wp-admin/install.php">wp-admin/install.php</a></span> in your browser.</li> | ||
| 28 | </ol> | ||
| 29 | </li> | ||
| 30 | <li>Once the configuration file is set up, the installer will set up the tables needed for your blog. If there is an error, double check your <code>wp-config.php</code> file, and try again. If it fails again, please go to the <a href="https://wordpress.org/support/" title="WordPress support">support forums</a> with as much data as you can gather.</li> | ||
| 31 | <li><strong>If you did not enter a password, note the password given to you.</strong> If you did not provide a username, it will be <code>admin</code>.</li> | ||
| 32 | <li>The installer should then send you to the <a href="wp-login.php">login page</a>. Sign in with the username and password you chose during the installation. If a password was generated for you, you can then click on “Profile” to change the password.</li> | ||
| 33 | </ol> | ||
| 34 | |||
| 35 | <h2>Updating</h2> | ||
| 36 | <h3>Using the Automatic Updater</h3> | ||
| 37 | <p>If you are updating from version 2.7 or higher, you can use the automatic updater:</p> | ||
| 38 | <ol> | ||
| 39 | <li>Open <span class="file"><a href="wp-admin/update-core.php">wp-admin/update-core.php</a></span> in your browser and follow the instructions.</li> | ||
| 40 | <li>You wanted more, perhaps? That’s it!</li> | ||
| 41 | </ol> | ||
| 42 | |||
| 43 | <h3>Updating Manually</h3> | ||
| 44 | <ol> | ||
| 45 | <li>Before you update anything, make sure you have backup copies of any files you may have modified such as <code>index.php</code>.</li> | ||
| 46 | <li>Delete your old WordPress files, saving ones you’ve modified.</li> | ||
| 47 | <li>Upload the new files.</li> | ||
| 48 | <li>Point your browser to <span class="file"><a href="wp-admin/upgrade.php">/wp-admin/upgrade.php</a>.</span></li> | ||
| 49 | </ol> | ||
| 50 | |||
| 51 | <h2>Migrating from other systems</h2> | ||
| 52 | <p>WordPress can <a href="https://codex.wordpress.org/Importing_Content">import from a number of systems</a>. First you need to get WordPress installed and working as described above, before using <a href="wp-admin/import.php" title="Import to WordPress">our import tools</a>.</p> | ||
| 53 | |||
| 54 | <h2>System Requirements</h2> | ||
| 55 | <ul> | ||
| 56 | <li><a href="http://php.net/">PHP</a> version <strong>5.2.4</strong> or higher.</li> | ||
| 57 | <li><a href="http://www.mysql.com/">MySQL</a> version <strong>5.0</strong> or higher.</li> | ||
| 58 | </ul> | ||
| 59 | |||
| 60 | <h3>Recommendations</h3> | ||
| 61 | <ul> | ||
| 62 | <li><a href="http://php.net/">PHP</a> version <strong>5.6</strong> or higher.</li> | ||
| 63 | <li><a href="http://www.mysql.com/">MySQL</a> version <strong>5.6</strong> or higher.</li> | ||
| 64 | <li>The <a href="http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html">mod_rewrite</a> Apache module.</li> | ||
| 65 | <li>A link to <a href="https://wordpress.org/">wordpress.org</a> on your site.</li> | ||
| 66 | </ul> | ||
| 67 | |||
| 68 | <h2>Online Resources</h2> | ||
| 69 | <p>If you have any questions that aren’t addressed in this document, please take advantage of WordPress’ numerous online resources:</p> | ||
| 70 | <dl> | ||
| 71 | <dt><a href="https://codex.wordpress.org/">The WordPress Codex</a></dt> | ||
| 72 | <dd>The Codex is the encyclopedia of all things WordPress. It is the most comprehensive source of information for WordPress available.</dd> | ||
| 73 | <dt><a href="https://wordpress.org/news/">The WordPress Blog</a></dt> | ||
| 74 | <dd>This is where you’ll find the latest updates and news related to WordPress. Recent WordPress news appears in your administrative dashboard by default.</dd> | ||
| 75 | <dt><a href="https://planet.wordpress.org/">WordPress Planet</a></dt> | ||
| 76 | <dd>The WordPress Planet is a news aggregator that brings together posts from WordPress blogs around the web.</dd> | ||
| 77 | <dt><a href="https://wordpress.org/support/">WordPress Support Forums</a></dt> | ||
| 78 | <dd>If you’ve looked everywhere and still can’t find an answer, the support forums are very active and have a large community ready to help. To help them help you be sure to use a descriptive thread title and describe your question in as much detail as possible.</dd> | ||
| 79 | <dt><a href="https://codex.wordpress.org/IRC">WordPress <abbr title="Internet Relay Chat">IRC</abbr> Channel</a></dt> | ||
| 80 | <dd>There is an online chat channel that is used for discussion among people who use WordPress and occasionally support topics. The above wiki page should point you in the right direction. (<a href="irc://irc.freenode.net/wordpress">irc.freenode.net #wordpress</a>)</dd> | ||
| 81 | </dl> | ||
| 82 | |||
| 83 | <h2>Final Notes</h2> | ||
| 84 | <ul> | ||
| 85 | <li>If you have any suggestions, ideas, or comments, or if you (gasp!) found a bug, join us in the <a href="https://wordpress.org/support/">Support Forums</a>.</li> | ||
| 86 | <li>WordPress has a robust plugin <abbr title="application programming interface">API</abbr> that makes extending the code easy. If you are a developer interested in utilizing this, see the <a href="https://codex.wordpress.org/Plugin_API" title="WordPress plugin API">plugin documentation in the Codex</a>. You shouldn’t modify any of the core code.</li> | ||
| 87 | </ul> | ||
| 88 | |||
| 89 | <h2>Share the Love</h2> | ||
| 90 | <p>WordPress has no multi-million dollar marketing campaign or celebrity sponsors, but we do have something even better—you. If you enjoy WordPress please consider telling a friend, setting it up for someone less knowledgable than yourself, or writing the author of a media article that overlooks us.</p> | ||
| 91 | |||
| 92 | <p>WordPress is the official continuation of <a href="http://cafelog.com/">b2/cafélog</a>, which came from Michel V. The work has been continued by the <a href="https://wordpress.org/about/">WordPress developers</a>. If you would like to support WordPress, please consider <a href="https://wordpress.org/donate/" title="Donate to WordPress">donating</a>.</p> | ||
| 93 | |||
| 94 | <h2>License</h2> | ||
| 95 | <p>WordPress is free software, and is released under the terms of the <abbr title="GNU General Public License">GPL</abbr> version 2 or (at your option) any later version. See <a href="license.txt">license.txt</a>.</p> | ||
| 96 | |||
| 97 | </body> | ||
| 98 | </html> |
sitemap.xml
0 → 100644
This diff is collapsed.
Click to expand it.
vendor/autoload.php
0 → 100644
vendor/bundle/ruby/3.1.0/bin/bundle
0 → 100755
| 1 | #!/usr/bin/env ruby | ||
| 2 | # | ||
| 3 | # This file was generated by RubyGems. | ||
| 4 | # | ||
| 5 | # The application 'bundler' is installed as part of a gem, and | ||
| 6 | # this file is here to facilitate running it. | ||
| 7 | # | ||
| 8 | |||
| 9 | require 'rubygems' | ||
| 10 | |||
| 11 | version = ">= 0.a" | ||
| 12 | |||
| 13 | str = ARGV.first | ||
| 14 | if str | ||
| 15 | str = str.b[/\A_(.*)_\z/, 1] | ||
| 16 | if str and Gem::Version.correct?(str) | ||
| 17 | version = str | ||
| 18 | ENV['BUNDLER_VERSION'] = str | ||
| 19 | |||
| 20 | ARGV.shift | ||
| 21 | end | ||
| 22 | end | ||
| 23 | |||
| 24 | if Gem.respond_to?(:activate_bin_path) | ||
| 25 | load Gem.activate_bin_path('bundler', 'bundle', version) | ||
| 26 | else | ||
| 27 | gem "bundler", version | ||
| 28 | load Gem.bin_path("bundler", "bundle", version) | ||
| 29 | end |
vendor/bundle/ruby/3.1.0/bin/bundler
0 → 100755
| 1 | #!/usr/bin/env ruby | ||
| 2 | # | ||
| 3 | # This file was generated by RubyGems. | ||
| 4 | # | ||
| 5 | # The application 'bundler' is installed as part of a gem, and | ||
| 6 | # this file is here to facilitate running it. | ||
| 7 | # | ||
| 8 | |||
| 9 | require 'rubygems' | ||
| 10 | |||
| 11 | version = ">= 0.a" | ||
| 12 | |||
| 13 | str = ARGV.first | ||
| 14 | if str | ||
| 15 | str = str.b[/\A_(.*)_\z/, 1] | ||
| 16 | if str and Gem::Version.correct?(str) | ||
| 17 | version = str | ||
| 18 | ENV['BUNDLER_VERSION'] = str | ||
| 19 | |||
| 20 | ARGV.shift | ||
| 21 | end | ||
| 22 | end | ||
| 23 | |||
| 24 | if Gem.respond_to?(:activate_bin_path) | ||
| 25 | load Gem.activate_bin_path('bundler', 'bundler', version) | ||
| 26 | else | ||
| 27 | gem "bundler", version | ||
| 28 | load Gem.bin_path("bundler", "bundler", version) | ||
| 29 | end |
vendor/bundle/ruby/3.1.0/bin/cap
0 → 100755
| 1 | #!/usr/bin/env ruby | ||
| 2 | # | ||
| 3 | # This file was generated by RubyGems. | ||
| 4 | # | ||
| 5 | # The application 'capistrano' is installed as part of a gem, and | ||
| 6 | # this file is here to facilitate running it. | ||
| 7 | # | ||
| 8 | |||
| 9 | require 'rubygems' | ||
| 10 | |||
| 11 | Gem.use_gemdeps | ||
| 12 | |||
| 13 | version = ">= 0.a" | ||
| 14 | |||
| 15 | str = ARGV.first | ||
| 16 | if str | ||
| 17 | str = str.b[/\A_(.*)_\z/, 1] | ||
| 18 | if str and Gem::Version.correct?(str) | ||
| 19 | version = str | ||
| 20 | ARGV.shift | ||
| 21 | end | ||
| 22 | end | ||
| 23 | |||
| 24 | if Gem.respond_to?(:activate_bin_path) | ||
| 25 | load Gem.activate_bin_path('capistrano', 'cap', version) | ||
| 26 | else | ||
| 27 | gem "capistrano", version | ||
| 28 | load Gem.bin_path("capistrano", "cap", version) | ||
| 29 | end |
vendor/bundle/ruby/3.1.0/bin/capify
0 → 100755
| 1 | #!/usr/bin/env ruby | ||
| 2 | # | ||
| 3 | # This file was generated by RubyGems. | ||
| 4 | # | ||
| 5 | # The application 'capistrano' is installed as part of a gem, and | ||
| 6 | # this file is here to facilitate running it. | ||
| 7 | # | ||
| 8 | |||
| 9 | require 'rubygems' | ||
| 10 | |||
| 11 | Gem.use_gemdeps | ||
| 12 | |||
| 13 | version = ">= 0.a" | ||
| 14 | |||
| 15 | str = ARGV.first | ||
| 16 | if str | ||
| 17 | str = str.b[/\A_(.*)_\z/, 1] | ||
| 18 | if str and Gem::Version.correct?(str) | ||
| 19 | version = str | ||
| 20 | ARGV.shift | ||
| 21 | end | ||
| 22 | end | ||
| 23 | |||
| 24 | if Gem.respond_to?(:activate_bin_path) | ||
| 25 | load Gem.activate_bin_path('capistrano', 'capify', version) | ||
| 26 | else | ||
| 27 | gem "capistrano", version | ||
| 28 | load Gem.bin_path("capistrano", "capify", version) | ||
| 29 | end |
vendor/bundle/ruby/3.1.0/bin/rake
0 → 100755
| 1 | #!/usr/bin/env ruby | ||
| 2 | # | ||
| 3 | # This file was generated by RubyGems. | ||
| 4 | # | ||
| 5 | # The application 'rake' is installed as part of a gem, and | ||
| 6 | # this file is here to facilitate running it. | ||
| 7 | # | ||
| 8 | |||
| 9 | require 'rubygems' | ||
| 10 | |||
| 11 | Gem.use_gemdeps | ||
| 12 | |||
| 13 | version = ">= 0.a" | ||
| 14 | |||
| 15 | str = ARGV.first | ||
| 16 | if str | ||
| 17 | str = str.b[/\A_(.*)_\z/, 1] | ||
| 18 | if str and Gem::Version.correct?(str) | ||
| 19 | version = str | ||
| 20 | ARGV.shift | ||
| 21 | end | ||
| 22 | end | ||
| 23 | |||
| 24 | if Gem.respond_to?(:activate_bin_path) | ||
| 25 | load Gem.activate_bin_path('rake', 'rake', version) | ||
| 26 | else | ||
| 27 | gem "rake", version | ||
| 28 | load Gem.bin_path("rake", "rake", version) | ||
| 29 | end |
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
| 1 | AllCops: | ||
| 2 | DisplayCopNames: true | ||
| 3 | DisplayStyleGuide: true | ||
| 4 | TargetRubyVersion: 1.9 | ||
| 5 | Exclude: | ||
| 6 | - "*.gemspec" | ||
| 7 | |||
| 8 | Metrics/AbcSize: | ||
| 9 | Exclude: | ||
| 10 | - "test/**/*" | ||
| 11 | |||
| 12 | Metrics/MethodLength: | ||
| 13 | Exclude: | ||
| 14 | - "test/**/*" | ||
| 15 | |||
| 16 | Metrics/ClassLength: | ||
| 17 | Exclude: | ||
| 18 | - "test/**/*" | ||
| 19 | |||
| 20 | Style/BarePercentLiterals: | ||
| 21 | EnforcedStyle: percent_q | ||
| 22 | |||
| 23 | Style/ClassAndModuleChildren: | ||
| 24 | Enabled: false | ||
| 25 | |||
| 26 | Style/Documentation: | ||
| 27 | Enabled: false | ||
| 28 | |||
| 29 | Style/DoubleNegation: | ||
| 30 | Enabled: false | ||
| 31 | |||
| 32 | Style/HashSyntax: | ||
| 33 | EnforcedStyle: hash_rockets | ||
| 34 | |||
| 35 | Style/SpaceAroundEqualsInParameterDefault: | ||
| 36 | EnforcedStyle: no_space | ||
| 37 | |||
| 38 | Style/StringLiterals: | ||
| 39 | EnforcedStyle: double_quotes | ||
| 40 | |||
| 41 | Style/TrivialAccessors: | ||
| 42 | AllowPredicates: true |
| 1 | language: ruby | ||
| 2 | rvm: | ||
| 3 | - 1.9 | ||
| 4 | - 2.0 | ||
| 5 | - 2.1 | ||
| 6 | - 2.2 | ||
| 7 | - 2.3.1 | ||
| 8 | - 2.4.0 | ||
| 9 | env: | ||
| 10 | - sshkit="master" | ||
| 11 | - sshkit="= 1.7.1" | ||
| 12 | - sshkit="= 1.6.1" | ||
| 13 | matrix: | ||
| 14 | exclude: | ||
| 15 | # Older versions of SSHKit don't work with Ruby 2.4, so skip those | ||
| 16 | - rvm: 2.4.0 | ||
| 17 | env: sshkit="= 1.7.1" | ||
| 18 | - rvm: 2.4.0 | ||
| 19 | env: sshkit="= 1.6.1" | ||
| 20 | include: | ||
| 21 | # Run Danger only once, on 2.4.0 | ||
| 22 | - rvm: 2.4.0 | ||
| 23 | script: bundle exec danger | ||
| 24 | |||
| 25 | before_install: gem install bundler --conservative --version '~> 1.13.7' |
| 1 | # Airbrussh Change Log | ||
| 2 | |||
| 3 | All notable changes to this project will be documented in this file. This project adheres to [Semantic Versioning][Semver]. | ||
| 4 | |||
| 5 | ## [Unreleased] | ||
| 6 | |||
| 7 | * Your contribution here! | ||
| 8 | |||
| 9 | ## [1.3.0][] (2017-06-16) | ||
| 10 | |||
| 11 | * [#109](https://github.com/mattbrictson/airbrussh/pull/109): Add configurable task prefix - [@gondalez](https://github.com/gondalez) | ||
| 12 | |||
| 13 | ## [1.2.0][] (2017-04-14) | ||
| 14 | |||
| 15 | * [#95](https://github.com/mattbrictson/airbrussh/pull/95): colorize LogMessage label on WARN level and above - [@klyonrad](https://github.com/klyonrad) | ||
| 16 | * [#106](https://github.com/mattbrictson/airbrussh/pull/106): Remove the `log_file` parameter from the `CommandFormatter#exit_message` method; it was unused - [@mattbrictson](https://github.com/mattbrictson) | ||
| 17 | |||
| 18 | ## [1.1.2][] (2017-01-02) | ||
| 19 | |||
| 20 | * Add Ruby 2.4.0 to testing matrix and fix Ruby 2.4 deprecation warnings | ||
| 21 | |||
| 22 | ## [1.1.1][] (2016-09-09) | ||
| 23 | |||
| 24 | * When a Capistrano deploy fails and the error log is dumped to the console, | ||
| 25 | Airbrussh no longer truncates the error output. This ensures that important | ||
| 26 | troubleshooting information is not lost. | ||
| 27 | [#91](https://github.com/mattbrictson/airbrussh/issues/91) | ||
| 28 | |||
| 29 | ## [1.1.0][] (2016-07-26) | ||
| 30 | |||
| 31 | * Use default color for info messages. | ||
| 32 | When using the `gray` color on some implementation of the `solarized` | ||
| 33 | theme the text is not visible. The `solarized` theme is popular and | ||
| 34 | bugs have been reported about missed error messages, so this patch | ||
| 35 | switches these messages to the default color. | ||
| 36 | (see [#84](https://github.com/mattbrictson/airbrussh/issues/84)) | ||
| 37 | |||
| 38 | ## [1.0.2][] (2016-05-13) | ||
| 39 | |||
| 40 | * Fix a crash that can happen in certain multi-server deployments when | ||
| 41 | Capistrano's `invoke` is used to switch Rake tasks in the middle of SSHKit | ||
| 42 | execution ([#78](https://github.com/mattbrictson/airbrussh/issues/78), | ||
| 43 | [#80](https://github.com/mattbrictson/airbrussh/pull/80)) | ||
| 44 | |||
| 45 | ## [1.0.1][] (2016-03-21) | ||
| 46 | |||
| 47 | * Fix support for fake TTYs reporting a 0 width console like Ruby's PTY library [#76](https://github.com/mattbrictson/airbrussh/pull/76) | ||
| 48 | |||
| 49 | ## [1.0.0][] (2016-02-27) | ||
| 50 | |||
| 51 | * No changes since 1.0.0.beta1. | ||
| 52 | |||
| 53 | ## [1.0.0.beta1][] (2015-12-27) | ||
| 54 | |||
| 55 | Breaking Changes: | ||
| 56 | |||
| 57 | * None | ||
| 58 | |||
| 59 | Added: | ||
| 60 | |||
| 61 | * Airbrussh can now be configured with an options Hash passed to the | ||
| 62 | `Airbrussh::Formatter` constructor. This is in order to standardize how all | ||
| 63 | SSHKit formatters are configured | ||
| 64 | (see [SSHKit #308](https://github.com/capistrano/sshkit/pull/308)). | ||
| 65 | |||
| 66 | ## [0.8.0][] (2015-11-20) | ||
| 67 | |||
| 68 | * Airbrussh now displays the correct user@host output in the following edge-cases: | ||
| 69 | * Inside an SSHKit `as(:user => "...")` block | ||
| 70 | * When a user is specified using `set :ssh_options, :user => "..."` ([see #65](https://github.com/mattbrictson/airbrussh/issues/65)) | ||
| 71 | |||
| 72 | ## [0.7.0][] (2015-08-08) | ||
| 73 | |||
| 74 | Fixes: | ||
| 75 | |||
| 76 | * Handle truncation of raw/non-UTF8 output without crashing ([#57](https://github.com/mattbrictson/airbrussh/issues/57)) | ||
| 77 | |||
| 78 | Other changes: | ||
| 79 | |||
| 80 | * Re-implement the "tail log on deploy failure" feature in pure Ruby ([#59](https://github.com/mattbrictson/airbrussh/issues/59)) | ||
| 81 | * Code of contact added to the project | ||
| 82 | * Tests now run on Windows ([#55](https://github.com/mattbrictson/airbrussh/issues/55)) | ||
| 83 | |||
| 84 | ## [0.6.0][] (2015-07-10) | ||
| 85 | |||
| 86 | This is another release with mostly behind-the-scenes changes. If you notice any differences in Airbrussh's behavior in this version, [please report an issue](https://github.com/mattbrictson/airbrussh/issues). | ||
| 87 | |||
| 88 | Other changes: | ||
| 89 | |||
| 90 | * Bundler 1.10 is now required to build and test airbrussh (this doesn't affect users of airbrussh at all). | ||
| 91 | * If the directory containing the log file doesn't exist, Airbrussh will now attempt to create it using `FileUtils.mkdir_p` ([#30](https://github.com/mattbrictson/airbrussh/issues/30)) | ||
| 92 | * By default Airbrussh now always prints `Using airbrussh format.` when it starts up. In previous versions, a bug caused this message to sometimes not be shown. To change or disable this message, set the `banner` configuration option as explained in the README. | ||
| 93 | |||
| 94 | ## [0.5.1][] (2015-06-24) | ||
| 95 | |||
| 96 | * Fix `NameError: uninitialized constant Airbrussh::SimpleDelegator` | ||
| 97 | |||
| 98 | ## [0.5.0][] (2015-06-24) | ||
| 99 | |||
| 100 | There are no changes to the actual behavior and feature set of Airbrussh in this release. | ||
| 101 | |||
| 102 | There are, however, many behind-the-scenes changes and improvements to overall code quality. This release also adds support for upcoming versions of SSHKit. | ||
| 103 | |||
| 104 | * Added Rubocop enforcement to Travis | ||
| 105 | * Added Code Climate and Coveralls checks (see badges in the README) | ||
| 106 | * Airbrussh now has good test coverage, and is tested by Travis against a matrix of Ruby and SSHKit versions ([@robd](https://github.com/robd)) | ||
| 107 | * Changes to support the new SSHKit formatter API, as introduced in [SSHKit #257](https://github.com/capistrano/sshkit/pull/257) ([@robd](https://github.com/robd)) | ||
| 108 | * `Airbrussh.reset` has been removed | ||
| 109 | * Airbrussh now has its own ANSI color code; it no longer relies on a third-party gem (i.e. `colorize`) | ||
| 110 | |||
| 111 | ## [0.4.1][] (2015-05-06) | ||
| 112 | |||
| 113 | * Fix `Marshal.dump` warnings by removing `deep_copy` workaround that it is no longer needed for the latest SSHKit ([#10](https://github.com/mattbrictson/airbrussh/issues/10)). | ||
| 114 | |||
| 115 | ## [0.4.0][] (2015-05-03) | ||
| 116 | |||
| 117 | * Changes to ensure compatibility with the upcoming version of SSHKit ([ec3122b](https://github.com/mattbrictson/airbrussh/commit/ec3122b101de53f2304723da842d5c8b6f70f4f3)). | ||
| 118 | * Explicitly specify UTF-8 encoding for source files, for Ruby 1.9.3 compatibility ([#9](https://github.com/mattbrictson/airbrussh/issues/9)). | ||
| 119 | |||
| 120 | ## [0.3.0][] (2015-03-28) | ||
| 121 | |||
| 122 | * New `config.banner` option allows startup message to be disabled or changed (suggestion from [@justindowning](https://github.com/justindowning)) | ||
| 123 | * New `config.command_output` option gives full control of whether airbrussh shows or hides the stderr and stdout data received from remote commands; see the usage section of the README for further explanation (suggestion from [@carlesso](https://github.com/carlesso)) | ||
| 124 | |||
| 125 | ## [0.2.1][] (2015-03-02) | ||
| 126 | |||
| 127 | * Un-pin SSHKit dependency now that SSHKit 1.7.1 has been released. | ||
| 128 | |||
| 129 | ## [0.2.0][] (2015-03-02) | ||
| 130 | |||
| 131 | * Pin SSHKit dependency at `~> 1.6.1` to avoid a [bug in 1.7.0](https://github.com/capistrano/sshkit/issues/226) that causes command exit statuses to be omitted from the log. | ||
| 132 | |||
| 133 | ## 0.0.1 (2015-02-19) | ||
| 134 | |||
| 135 | * Initial release | ||
| 136 | |||
| 137 | [Semver]: http://semver.org | ||
| 138 | [Unreleased]: https://github.com/mattbrictson/airbrussh/compare/v1.3.0...HEAD | ||
| 139 | [1.3.0]: https://github.com/mattbrictson/airbrussh/compare/v1.2.0...v1.3.0 | ||
| 140 | [1.2.0]: https://github.com/mattbrictson/airbrussh/compare/v1.1.2...v1.2.0 | ||
| 141 | [1.1.2]: https://github.com/mattbrictson/airbrussh/compare/v1.1.1...v1.1.2 | ||
| 142 | [1.1.1]: https://github.com/mattbrictson/airbrussh/compare/v1.1.0...v1.1.1 | ||
| 143 | [1.1.0]: https://github.com/mattbrictson/airbrussh/compare/v1.0.2...v1.1.0 | ||
| 144 | [1.0.2]: https://github.com/mattbrictson/airbrussh/compare/v1.0.1...v1.0.2 | ||
| 145 | [1.0.1]: https://github.com/mattbrictson/airbrussh/compare/v1.0.0...v1.0.1 | ||
| 146 | [1.0.0]: https://github.com/mattbrictson/airbrussh/compare/v1.0.0.beta1...v1.0.0 | ||
| 147 | [1.0.0.beta1]: https://github.com/mattbrictson/airbrussh/compare/v0.8.0...v1.0.0.beta1 | ||
| 148 | [0.8.0]: https://github.com/mattbrictson/airbrussh/compare/v0.7.0...v0.8.0 | ||
| 149 | [0.7.0]: https://github.com/mattbrictson/airbrussh/compare/v0.6.0...v0.7.0 | ||
| 150 | [0.6.0]: https://github.com/mattbrictson/airbrussh/compare/v0.5.1...v0.6.0 | ||
| 151 | [0.5.1]: https://github.com/mattbrictson/airbrussh/compare/v0.5.0...v0.5.1 | ||
| 152 | [0.5.0]: https://github.com/mattbrictson/airbrussh/compare/v0.4.1...v0.5.0 | ||
| 153 | [0.4.1]: https://github.com/mattbrictson/airbrussh/compare/v0.4.0...v0.4.1 | ||
| 154 | [0.4.0]: https://github.com/mattbrictson/airbrussh/compare/v0.3.0...v0.4.0 | ||
| 155 | [0.3.0]: https://github.com/mattbrictson/airbrussh/compare/v0.2.1...v0.3.0 | ||
| 156 | [0.2.1]: https://github.com/mattbrictson/airbrussh/compare/v0.2.0...v0.2.1 | ||
| 157 | [0.2.0]: https://github.com/mattbrictson/airbrussh/compare/v0.0.1...v0.2.0 |
| 1 | Contributor Code of Conduct | ||
| 2 | |||
| 3 | As contributors and maintainers of this project, we pledge to respect all | ||
| 4 | people who contribute through reporting issues, posting feature requests, | ||
| 5 | updating documentation, submitting pull requests or patches, and other | ||
| 6 | activities. | ||
| 7 | |||
| 8 | We are committed to making participation in this project a harassment-free | ||
| 9 | experience for everyone, regardless of level of experience, gender, gender | ||
| 10 | identity and expression, sexual orientation, disability, personal appearance, | ||
| 11 | body size, race, ethnicity, age, or religion. | ||
| 12 | |||
| 13 | Examples of unacceptable behavior by participants include the use of sexual | ||
| 14 | language or imagery, derogatory comments or personal attacks, trolling, public | ||
| 15 | or private harassment, insults, or other unprofessional conduct. | ||
| 16 | |||
| 17 | Project maintainers have the right and responsibility to remove, edit, or | ||
| 18 | reject comments, commits, code, wiki edits, issues, and other contributions | ||
| 19 | that are not aligned to this Code of Conduct. Project maintainers who do not | ||
| 20 | follow the Code of Conduct may be removed from the project team. | ||
| 21 | |||
| 22 | This code of conduct applies both within project spaces and in public spaces | ||
| 23 | when an individual is representing the project or its community. | ||
| 24 | |||
| 25 | Instances of abusive, harassing, or otherwise unacceptable behavior may be | ||
| 26 | reported by opening an issue or contacting one or more of the project | ||
| 27 | maintainers. | ||
| 28 | |||
| 29 | This Code of Conduct is adapted from the Contributor Covenant | ||
| 30 | (http://contributor-covenant.org), version 1.1.0, available at | ||
| 31 | http://contributor-covenant.org/version/1/1/0/ |
| 1 | # Contributing to airbrussh | ||
| 2 | |||
| 3 | Have a feature idea, bug fix, or refactoring suggestion? Contributions are welcome! | ||
| 4 | |||
| 5 | ## Pull requests | ||
| 6 | |||
| 7 | 1. Check [Issues][] to see if your contribution has already been discussed and/or implemented. | ||
| 8 | 2. If not, open an issue to discuss your contribution. I won't accept all changes and do not want to waste your time. | ||
| 9 | 3. Once you have the :thumbsup:, fork the repo, make your changes, and open a PR. | ||
| 10 | 4. Don't forget to add your contribution and credit yourself in `CHANGELOG.md`! | ||
| 11 | |||
| 12 | ## Coding guidelines | ||
| 13 | |||
| 14 | * This project has a coding style enforced by [RuboCop][]. Use hash rockets and double-quoted strings, and otherwise try to follow the [Ruby style guide][style]. | ||
| 15 | * Writing tests is strongly encouraged! This project uses Minitest. | ||
| 16 | |||
| 17 | ## Getting started | ||
| 18 | |||
| 19 | Note that Bundler 1.10 is required for development. Run `gem update bundler` to get the latest version. | ||
| 20 | |||
| 21 | After checking out the airbrussh repo, run `bin/setup` to install dependencies. Run `rake` to execute airbrussh's tests and RuboCop checks. | ||
| 22 | |||
| 23 | Airbrussh is designed to work against multiple versions of SSHKit and Ruby. In order to test this, we use the environment variable `sshkit` in order to run the tests against a specific version. The combinations of sshkit and ruby we support are specified in [.travis.yml](.travis.yml). To test all the versions locally, there is a `test_all.rb` bin file. This installs the gems and runs the tests for each sshkit version in [.travis.yml](.travis.yml). *Note: this will update your `Gemfile.lock` as each SSHKit gem version is installed. The gem version is restored to the default when the script exits.* | ||
| 24 | |||
| 25 | A Guardfile is also present, so if you'd like to use Guard to do a TDD workflow, then: | ||
| 26 | |||
| 27 | 1. Run `bundle install --with extras` to get the optional guard dependencies | ||
| 28 | 2. Run `guard` to monitor the filesystem and automatically run tests as you work | ||
| 29 | |||
| 30 | [Issues]: https://github.com/mattbrictson/airbrussh/issues | ||
| 31 | [RuboCop]: https://github.com/bbatsov/rubocop | ||
| 32 | [style]: https://github.com/bbatsov/ruby-style-guide |
| 1 | danger.import_dangerfile(github: "capistrano/danger") |
| 1 | source "https://rubygems.org" | ||
| 2 | |||
| 3 | # Specify your gem's dependencies in airbrussh.gemspec | ||
| 4 | gemspec | ||
| 5 | |||
| 6 | # Optional development dependencies; requires bundler >= 1.10. | ||
| 7 | # Note that these gems assume a Ruby 2.2 environment. Install them using: | ||
| 8 | # | ||
| 9 | # bundle install --with extras | ||
| 10 | # | ||
| 11 | group :extras, :optional => true do | ||
| 12 | gem "chandler" | ||
| 13 | gem "guard", ">= 2.2.2" | ||
| 14 | gem "guard-minitest" | ||
| 15 | gem "rb-fsevent" | ||
| 16 | gem "terminal-notifier-guard" | ||
| 17 | end | ||
| 18 | |||
| 19 | # Danger is used by Travis, but only for Ruby 2.0+ | ||
| 20 | gem "danger", "~> 4.3" unless RUBY_VERSION == "1.9.3" | ||
| 21 | |||
| 22 | if (sshkit_version = ENV["sshkit"]) | ||
| 23 | requirement = begin | ||
| 24 | Gem::Dependency.new("sshkit", sshkit_version).requirement | ||
| 25 | rescue ArgumentError | ||
| 26 | user, branch = | ||
| 27 | if sshkit_version.include?("#") | ||
| 28 | sshkit_version.split("#") | ||
| 29 | else | ||
| 30 | ["capistrano", sshkit_version] | ||
| 31 | end | ||
| 32 | { :github => "#{user}/sshkit", :branch => branch } | ||
| 33 | end | ||
| 34 | gem "sshkit", requirement | ||
| 35 | end | ||
| 36 | |||
| 37 | # json 2.0+ is not compatible with Ruby 1.9, so pin at older version. | ||
| 38 | gem "json", "~> 1.8" if RUBY_VERSION == "1.9.3" | ||
| 39 | |||
| 40 | # net-ssh 3.0+ is not compatible with Ruby 1.9, so pin at older version. | ||
| 41 | gem "net-ssh", "~> 2.8" if RUBY_VERSION == "1.9.3" | ||
| 42 | |||
| 43 | # term-ansicolor 1.4.0+ is not compatible with Ruby 1.9, so pin older version. | ||
| 44 | gem "term-ansicolor", "~> 1.3.2" if RUBY_VERSION == "1.9.3" | ||
| 45 | |||
| 46 | # tins 1.7.0+ is not compatible with Ruby 1.9, so pin at older version. | ||
| 47 | gem "tins", "~> 1.6.0" if RUBY_VERSION == "1.9.3" |
| 1 | The MIT License (MIT) | ||
| 2 | |||
| 3 | Copyright (c) 2016 Matt Brictson | ||
| 4 | |||
| 5 | Permission is hereby granted, free of charge, to any person obtaining a copy | ||
| 6 | of this software and associated documentation files (the "Software"), to deal | ||
| 7 | in the Software without restriction, including without limitation the rights | ||
| 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | ||
| 9 | copies of the Software, and to permit persons to whom the Software is | ||
| 10 | furnished to do so, subject to the following conditions: | ||
| 11 | |||
| 12 | The above copyright notice and this permission notice shall be included in | ||
| 13 | all copies or substantial portions of the Software. | ||
| 14 | |||
| 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||
| 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||
| 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||
| 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||
| 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||
| 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN | ||
| 21 | THE SOFTWARE. |
| 1 | # Airbrussh | ||
| 2 | |||
| 3 | [](http://badge.fury.io/rb/airbrussh) | ||
| 4 | [](https://travis-ci.org/mattbrictson/airbrussh) | ||
| 5 | [](https://ci.appveyor.com/project/mattbrictson/airbrussh/branch/master) | ||
| 6 | [](https://codeclimate.com/github/mattbrictson/airbrussh) | ||
| 7 | [](https://coveralls.io/r/mattbrictson/airbrussh?branch=master) | ||
| 8 | |||
| 9 | |||
| 10 | Airbrussh is a concise log formatter for Capistrano and SSHKit. It displays well-formatted, useful log output that is easy to read. Airbrussh also saves Capistrano's verbose output to a separate log file just in case you need additional details for troubleshooting. | ||
| 11 | |||
| 12 | **As of April 2016, Airbrussh is bundled with Capistrano 3.5, and is Capistrano's default formatter! There is nothing additional to install or enable.** Continue reading to learn more about Airbrussh's features and configuration options. | ||
| 13 | |||
| 14 | If you aren't yet using Capistrano 3.5 (or wish to use Airbrussh with SSHKit directly), refer to the [advanced/legacy usage](#advancedlegacy-usage) section for installation instructions. | ||
| 15 | |||
| 16 |  | ||
| 17 | |||
| 18 | For more details on how exactly Airbrussh affects Capistrano's output and the reasoning behind it, check out the blog post: [Introducing Airbrussh](https://mattbrictson.com/airbrussh). | ||
| 19 | |||
| 20 | ----- | ||
| 21 | |||
| 22 | * [Usage](#usage) | ||
| 23 | * [Configuration](#configuration) | ||
| 24 | * [FAQ](#faq) | ||
| 25 | * [Advanced/legacy usage](#advancedlegacy-usage) | ||
| 26 | |||
| 27 | ## Usage | ||
| 28 | |||
| 29 | Airbrussh is enabled by default in Capistrano 3.5 and newer. To manually enable Airbrussh (for example, when upgrading an existing project), set the Capistrano format like this: | ||
| 30 | |||
| 31 | ```ruby | ||
| 32 | # In deploy.rb | ||
| 33 | set :format, :airbrussh | ||
| 34 | ``` | ||
| 35 | |||
| 36 | ### What's displayed | ||
| 37 | |||
| 38 | When you run a Capistrano command, Airbrussh provides the following information in its output: | ||
| 39 | |||
| 40 |  | ||
| 41 | |||
| 42 | * Name of Capistrano task being executed | ||
| 43 | * When each task started (minutes:seconds elapsed since the deploy began) | ||
| 44 | * The SSH command-line strings that are executed; for Capistrano tasks that involve running multiple commands, the numeric prefix indicates the command in the sequence, starting from `01` | ||
| 45 | * Stdout and stderr output from each command | ||
| 46 | * The duration of each command execution, per server | ||
| 47 | |||
| 48 | ### What's *not* displayed | ||
| 49 | |||
| 50 | For brevity, Airbrussh does not show *everything* that Capistrano is doing. For example, it will omit Capistrano's `test` commands, which can be noisy and confusing. Airbrussh also hides things like environment variables, as well as `cd` and `env` invocations. To see a full audit of Capistrano's execution, including *exactly* what commands were run on each server, look at `log/capistrano.log`. | ||
| 51 | |||
| 52 | ## Configuration | ||
| 53 | |||
| 54 | You can customize many aspects of Airbrussh's output. In Capistrano 3.5 and newer, this is done via the `:format_options` variable, like this: | ||
| 55 | |||
| 56 | ```ruby | ||
| 57 | # Pass options to Airbrussh | ||
| 58 | set :format_options, color: false, truncate: 80 | ||
| 59 | ``` | ||
| 60 | |||
| 61 | Here are the options you can use, and their effects (note that the defaults may be different depending on where Airbrussh is used; these are the defaults used by Capistrano 3.5): | ||
| 62 | |||
| 63 | |Option|Default|Usage| | ||
| 64 | |---|---|---| | ||
| 65 | |`banner`|`nil`|Provide a string (e.g. "Capistrano started!") that will be printed when Capistrano starts up.| | ||
| 66 | |`color`|`:auto`|Use `true` or `false` to enable or disable ansi color. If set to `:auto`, Airbrussh automatically uses color based on whether the output is a TTY, or if the SSHKIT_COLOR environment variable is set.| | ||
| 67 | |`command_output`|`true`|Set to `:stdout`, `:stderr`, or `true` to display the SSH output received via stdout, stderr, or both, respectively. Set to `false` to not show any SSH output, for a minimal look.| | ||
| 68 | |`log_file`|`log/capistrano.log`|Capistrano's verbose output is saved to this file to facilitate debugging. Set to `nil` to disable completely.| | ||
| 69 | |`truncate`|`:auto`|Set to a number (e.g. 80) to truncate the width of the output to that many characters, or `false` to disable truncation. If `:auto`, output is automatically truncated to the width of the terminal window, if it can be determined.| | ||
| 70 | |`task_prefix`|`nil`|A string to prefix to task output. Handy for output collapsing like [buildkite](https://buildkite.com/docs/builds/managing-log-output)'s `---` prefix| | ||
| 71 | |||
| 72 | ## FAQ | ||
| 73 | |||
| 74 | **Airbrussh is not displaying the output of my commands! For example, I run `tail` in one of my capistrano tasks and airbrussh doesn't show anything. How do I fix this?** | ||
| 75 | |||
| 76 | Make sure Airbrussh is configured to show SSH output. | ||
| 77 | |||
| 78 | ```ruby | ||
| 79 | set :format_options, command_output: true | ||
| 80 | ``` | ||
| 81 | |||
| 82 | **I haven't upgraded to Capistrano 3.5 yet. Can I still use Airbrussh?** | ||
| 83 | |||
| 84 | Yes! Capistrano 3.4.x is also supported. Refer to the [advanced/legacy usage](#advancedlegacy-usage) section for installation instructions. | ||
| 85 | |||
| 86 | **Does Airbrussh work with Capistrano 2?** | ||
| 87 | |||
| 88 | No, Capistrano 3 is required. We recommend Capistrano 3.4.0 or higher. Capistrano 3.5.0 and higher have Airbrussh enabled by default, with no installation needed. | ||
| 89 | |||
| 90 | **Does Airbrussh work with JRuby?** | ||
| 91 | |||
| 92 | JRuby is not officially supported or tested, but may work. You must disable automatic truncation to work around a known bug in the JRuby 9.0 standard library. See [#62](https://github.com/mattbrictson/airbrussh/issues/62) for more details. | ||
| 93 | |||
| 94 | ```ruby | ||
| 95 | set :format_options, truncate: false | ||
| 96 | ``` | ||
| 97 | |||
| 98 | **I have a question that’s not answered here or elsewhere in the README.** | ||
| 99 | |||
| 100 | Please [open a GitHub issue](https://github.com/mattbrictson/airbrussh/issues/new) and we’ll be happy to help! | ||
| 101 | |||
| 102 | ## Advanced/legacy usage | ||
| 103 | |||
| 104 | Although Airbrussh is built into Capistrano 3.5.0 and higher, it is also available as a plug-in for older versions. Airbrussh has been tested with MRI 1.9+, Capistrano 3.4.0+, and SSHKit 1.6.1+. | ||
| 105 | |||
| 106 | ### Capistrano 3.4.x | ||
| 107 | |||
| 108 | Add this line to your application's Gemfile: | ||
| 109 | |||
| 110 | ```ruby | ||
| 111 | gem "airbrussh", require: false | ||
| 112 | ``` | ||
| 113 | |||
| 114 | And then execute: | ||
| 115 | |||
| 116 | $ bundle | ||
| 117 | |||
| 118 | Finally, add this line to your application's Capfile: | ||
| 119 | |||
| 120 | ```ruby | ||
| 121 | require "airbrussh/capistrano" | ||
| 122 | ``` | ||
| 123 | |||
| 124 | **Important:** explicitly setting Capistrano's `:format` option in your deploy.rb will override airbrussh. Remove this line if you have it: | ||
| 125 | |||
| 126 | ```ruby | ||
| 127 | # Remove this | ||
| 128 | set :format, :pretty | ||
| 129 | ``` | ||
| 130 | |||
| 131 | Capistrano 3.4.x doesn't have the `:format_options` configuration system, so you will need to configure Airbrussh using this technique: | ||
| 132 | |||
| 133 | ```ruby | ||
| 134 | Airbrussh.configure do |config| | ||
| 135 | config.color = false | ||
| 136 | config.command_output = true | ||
| 137 | # etc. | ||
| 138 | end | ||
| 139 | ``` | ||
| 140 | |||
| 141 | Refer to the [configuration](#configuration) section above for the list of supported options. | ||
| 142 | |||
| 143 | ### SSHKit | ||
| 144 | |||
| 145 | If you are using SSHKit directly (i.e. without Capistrano), you can use Airbrussh like this: | ||
| 146 | |||
| 147 | ```ruby | ||
| 148 | require "airbrussh" | ||
| 149 | SSHKit.config.output = Airbrussh::Formatter.new($stdout) | ||
| 150 | |||
| 151 | # You can also pass configuration options like this | ||
| 152 | SSHKit.config.output = Airbrussh::Formatter.new($stdout, color: false) | ||
| 153 | ``` | ||
| 154 | |||
| 155 | ## History | ||
| 156 | |||
| 157 | Airbrussh started life as custom logging code within the [capistrano-mb][] collection of opinionated Capistrano recipes. In February 2015, the logging code was refactored into a standalone gem with its own configuration and documentation, and renamed `airbrussh`. In February 2016, Airbrussh was added as the default formatter in Capistrano 3.5.0. | ||
| 158 | |||
| 159 | ## Roadmap | ||
| 160 | |||
| 161 | Airbrussh now has a stable feature set, excellent test coverage, is being used for production deployments, and has reached 1.0.0! If you have ideas for improvements to Airbrussh, please open a [GitHub issue](https://github.com/mattbrictson/airbrussh/issues/new). | ||
| 162 | |||
| 163 | ## Contributing | ||
| 164 | |||
| 165 | Contributions are welcome! Read [CONTRIBUTING.md](CONTRIBUTING.md) to get started. | ||
| 166 | |||
| 167 | [capistrano-mb]: https://github.com/mattbrictson/capistrano-mb |
| 1 | require "bundler/gem_tasks" | ||
| 2 | |||
| 3 | require "rake/testtask" | ||
| 4 | Rake::TestTask.new(:test) do |t| | ||
| 5 | t.libs << "test" | ||
| 6 | t.libs << "lib" | ||
| 7 | t.test_files = FileList["test/**/*_test.rb"] | ||
| 8 | end | ||
| 9 | |||
| 10 | require "rubocop/rake_task" | ||
| 11 | RuboCop::RakeTask.new | ||
| 12 | |||
| 13 | # rubocop:disable Lint/HandleExceptions | ||
| 14 | begin | ||
| 15 | require "chandler/tasks" | ||
| 16 | rescue LoadError | ||
| 17 | end | ||
| 18 | task "release:rubygem_push" => "chandler:push" if defined?(Chandler) | ||
| 19 | |||
| 20 | task :default => [:test, :rubocop] |
| 1 | # Capistrano 3.5 upgrade guide for existing Airbrussh users | ||
| 2 | |||
| 3 | If you have been using Airbrussh with Capistrano, and are upgrading to Capistrano 3.5, then this guide is for you. | ||
| 4 | |||
| 5 | ## What changed? | ||
| 6 | |||
| 7 | * Airbrussh is built into Capistrano starting with Capistrano 3.5.0, and is enabled by default. | ||
| 8 | * Capistrano 3.5 initializes Airbrussh with a default configuration that is different than Airbrussh+Capistrano 3.4.0. | ||
| 9 | * In Capistrano 3.5, `set :format_options, ...` is now the preferred mechanism for configuring Airbrussh. | ||
| 10 | |||
| 11 | ## How to upgrade | ||
| 12 | |||
| 13 | 1. Remove `gem "airbrussh"` from your Gemfile. Airbrussh is now included automatically by Capistrano. | ||
| 14 | 2. Likewise, remove `require "capistrano/airbrussh"` from your Capfile. Capistrano now does this internally. | ||
| 15 | 3. Remove `Airbrussh.configure do ... end` from your deploy.rb and replace with `set :format_options, ...` (see below). | ||
| 16 | |||
| 17 | ## New configuration system | ||
| 18 | |||
| 19 | In Capistrano 3.5, Airbrussh is configured by assigning a configuration Hash to the `:format_options` variable. Here is a comparison of the old and new syntaxes: | ||
| 20 | |||
| 21 | ```ruby | ||
| 22 | # Old syntax | ||
| 23 | Airbrussh.configure do |config| | ||
| 24 | config.color = false | ||
| 25 | end | ||
| 26 | |||
| 27 | # New syntax | ||
| 28 | set :format_options, color: false | ||
| 29 | ``` | ||
| 30 | |||
| 31 | Although the syntax is different, the names of the configuration keys have not changed. | ||
| 32 | |||
| 33 | ## New defaults | ||
| 34 | |||
| 35 | Capistrano 3.5.0 changes Airbrussh defaults as follows: | ||
| 36 | |||
| 37 | * `banner: false` | ||
| 38 | * `command_output: true` | ||
| 39 | |||
| 40 | Therefore, after upgrading to Capistrano 3.5.0, you may notice Airbrussh's output has changed and become more verbose. To restore the defaults to what you were used to in older versions, do this: | ||
| 41 | |||
| 42 | ```ruby | ||
| 43 | set :format_options, banner: :auto, command_output: false | ||
| 44 | ``` | ||
| 45 | |||
| 46 | ## Trouble? | ||
| 47 | |||
| 48 | If you have any Airbrussh-related trouble with the upgrade, please [open an issue](https://github.com/mattbrictson/airbrussh/issues). |
| 1 | # coding: utf-8 | ||
| 2 | lib = File.expand_path("../lib", __FILE__) | ||
| 3 | $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib) | ||
| 4 | require "airbrussh/version" | ||
| 5 | |||
| 6 | Gem::Specification.new do |spec| | ||
| 7 | spec.name = "airbrussh" | ||
| 8 | spec.version = Airbrussh::VERSION | ||
| 9 | spec.authors = ["Matt Brictson"] | ||
| 10 | spec.email = ["airbrussh@mattbrictson.com"] | ||
| 11 | spec.summary = "Airbrussh pretties up your SSHKit and Capistrano output" | ||
| 12 | spec.description = "A replacement log formatter for SSHKit that makes "\ | ||
| 13 | "Capistrano output much easier on the eyes. Just add "\ | ||
| 14 | "Airbrussh to your Capfile and enjoy concise, useful "\ | ||
| 15 | "log output that is easy to read." | ||
| 16 | spec.homepage = "https://github.com/mattbrictson/airbrussh" | ||
| 17 | spec.license = "MIT" | ||
| 18 | |||
| 19 | spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) } | ||
| 20 | spec.bindir = "exe" | ||
| 21 | spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) } | ||
| 22 | spec.require_paths = ["lib"] | ||
| 23 | |||
| 24 | spec.add_dependency "sshkit", [">= 1.6.1", "!= 1.7.0"] | ||
| 25 | |||
| 26 | spec.add_development_dependency "bundler", "~> 1.10" | ||
| 27 | spec.add_development_dependency "coveralls", "~> 0.8.15" | ||
| 28 | spec.add_development_dependency "rake", "~> 12.0" | ||
| 29 | spec.add_development_dependency "minitest", "~> 5.10" | ||
| 30 | spec.add_development_dependency "minitest-reporters", "~> 1.1" | ||
| 31 | spec.add_development_dependency "mocha", "~> 1.2" | ||
| 32 | spec.add_development_dependency "rubocop", "~> 0.41.2" | ||
| 33 | end |
| 1 | version: '{build}' | ||
| 2 | |||
| 3 | skip_tags: true | ||
| 4 | |||
| 5 | environment: | ||
| 6 | matrix: | ||
| 7 | - ruby_version: "23" | ||
| 8 | - ruby_version: "23-x64" | ||
| 9 | |||
| 10 | install: | ||
| 11 | - SET PATH=C:\Ruby%ruby_version%\bin;%PATH% | ||
| 12 | - gem install bundler --no-document --conservative --version 1.10.5 | ||
| 13 | - bundle install --retry=3 | ||
| 14 | |||
| 15 | test_script: | ||
| 16 | - bundle exec rake | ||
| 17 | |||
| 18 | build: off |
| 1 | #!/usr/bin/env ruby | ||
| 2 | |||
| 3 | require "bundler/setup" | ||
| 4 | require "airbrussh" | ||
| 5 | |||
| 6 | # You can add fixtures and/or initialization code here to make experimenting | ||
| 7 | # with your gem easier. You can also use a different console, if you like. | ||
| 8 | |||
| 9 | # (If you use this, don't forget to add pry to your Gemfile!) | ||
| 10 | # require "pry" | ||
| 11 | # Pry.start | ||
| 12 | |||
| 13 | require "irb" | ||
| 14 | IRB.start |
| 1 | #!/usr/bin/env ruby | ||
| 2 | require "yaml" | ||
| 3 | require "English" | ||
| 4 | |||
| 5 | ruby24 = Gem::Version.new(RUBY_VERSION) >= Gem::Version.new("2.4.0") | ||
| 6 | |||
| 7 | YAML.load_file(".travis.yml")["env"].each do |sshkit_version| | ||
| 8 | # Older versions of SSHKit don't work with Ruby 2.4, so skip those | ||
| 9 | next if ruby24 && sshkit_version !~ /master/ | ||
| 10 | puts "\e[0;34;49m== Running tests against #{sshkit_version} ==\e[0m" | ||
| 11 | output = `#{sshkit_version} bundle update` | ||
| 12 | raise "bundle update failed: #{output}" unless $CHILD_STATUS.success? | ||
| 13 | system("#{sshkit_version} bundle exec rake test") | ||
| 14 | end | ||
| 15 | |||
| 16 | system("bundle exec rake rubocop") | ||
| 17 | |||
| 18 | at_exit do | ||
| 19 | puts "\e[0;34;49m== Resetting sshkit ==\e[0m" | ||
| 20 | system("bundle update") | ||
| 21 | end |
1.25 MB
122 KB
| 1 | require "airbrussh/configuration" | ||
| 2 | require "airbrussh/formatter" | ||
| 3 | require "airbrussh/version" | ||
| 4 | |||
| 5 | module Airbrussh | ||
| 6 | def self.configuration(options={}) | ||
| 7 | return options if options.is_a?(::Airbrussh::Configuration) | ||
| 8 | @configuration ||= Configuration.new | ||
| 9 | @configuration.apply_options(options) | ||
| 10 | end | ||
| 11 | |||
| 12 | def self.configure | ||
| 13 | yield(configuration) | ||
| 14 | end | ||
| 15 | end |
| 1 | require "airbrussh/capistrano/tasks" | ||
| 2 | |||
| 3 | tasks = Airbrussh::Capistrano::Tasks.new(self) | ||
| 4 | |||
| 5 | # Hook into Capistrano's init process to set the formatter | ||
| 6 | namespace :load do | ||
| 7 | task :defaults do | ||
| 8 | tasks.load_defaults | ||
| 9 | end | ||
| 10 | end | ||
| 11 | |||
| 12 | # Capistrano failure hook | ||
| 13 | namespace :deploy do | ||
| 14 | task :failed do | ||
| 15 | tasks.deploy_failed | ||
| 16 | end | ||
| 17 | end |
| 1 | require "airbrussh" | ||
| 2 | require "airbrussh/colors" | ||
| 3 | require "airbrussh/console" | ||
| 4 | require "forwardable" | ||
| 5 | require "shellwords" | ||
| 6 | |||
| 7 | module Airbrussh | ||
| 8 | module Capistrano | ||
| 9 | # Encapsulates the rake behavior that integrates Airbrussh into Capistrano. | ||
| 10 | # This class allows us to easily test the behavior using a mock to stand in | ||
| 11 | # for the Capistrano DSL. | ||
| 12 | # | ||
| 13 | # See airbrussh/capistrano.rb to see how this class is used. | ||
| 14 | # | ||
| 15 | class Tasks | ||
| 16 | extend Forwardable | ||
| 17 | def_delegators :dsl, :set, :env | ||
| 18 | def_delegators :config, :log_file | ||
| 19 | |||
| 20 | include Airbrussh::Colors | ||
| 21 | |||
| 22 | def initialize(dsl, stderr=$stderr, config=Airbrussh.configuration) | ||
| 23 | @dsl = dsl | ||
| 24 | @stderr = stderr | ||
| 25 | @config = config | ||
| 26 | |||
| 27 | configure | ||
| 28 | warn_if_missing_dsl | ||
| 29 | end | ||
| 30 | |||
| 31 | # Behavior for the rake load:defaults task. | ||
| 32 | def load_defaults | ||
| 33 | require "sshkit/formatter/airbrussh" | ||
| 34 | set :format, :airbrussh | ||
| 35 | end | ||
| 36 | |||
| 37 | # Behavior for the rake deploy:failed task. | ||
| 38 | def deploy_failed | ||
| 39 | return unless airbrussh_is_being_used? | ||
| 40 | return if log_file.nil? | ||
| 41 | |||
| 42 | error_line | ||
| 43 | error_line(red("** DEPLOY FAILED")) | ||
| 44 | error_line(yellow("** Refer to #{log_file} for details. "\ | ||
| 45 | "Here are the last 20 lines:")) | ||
| 46 | error_line | ||
| 47 | error_line(tail_log_file) | ||
| 48 | end | ||
| 49 | |||
| 50 | private | ||
| 51 | |||
| 52 | attr_reader :dsl, :stderr, :config | ||
| 53 | |||
| 54 | # Change airbrussh's default configuration to be more appropriate for | ||
| 55 | # capistrano. | ||
| 56 | def configure | ||
| 57 | config.log_file = "log/capistrano.log" | ||
| 58 | config.monkey_patch_rake = true | ||
| 59 | end | ||
| 60 | |||
| 61 | # Verify that capistrano and rake DSLs are present | ||
| 62 | def warn_if_missing_dsl | ||
| 63 | return if %w(set namespace task).all? { |m| dsl.respond_to?(m, true) } | ||
| 64 | |||
| 65 | error_line( | ||
| 66 | red("WARNING: airbrussh/capistrano must be loaded by Capistrano in "\ | ||
| 67 | "order to work.\nRequire this gem within your application's "\ | ||
| 68 | "Capfile, as described here:\n"\ | ||
| 69 | "https://github.com/mattbrictson/airbrussh#installation") | ||
| 70 | ) | ||
| 71 | end | ||
| 72 | |||
| 73 | def err_console | ||
| 74 | @err_console ||= begin | ||
| 75 | # Ensure we do not truncate the error output | ||
| 76 | err_config = config.dup | ||
| 77 | err_config.truncate = false | ||
| 78 | Airbrussh::Console.new(stderr, err_config) | ||
| 79 | end | ||
| 80 | end | ||
| 81 | |||
| 82 | def error_line(line="\n") | ||
| 83 | line.each_line(&err_console.method(:print_line)) | ||
| 84 | end | ||
| 85 | |||
| 86 | # Returns a String containing the last 20 lines of the log file. Since | ||
| 87 | # this method uses a fixed-size buffer, fewer than 20 lines may be | ||
| 88 | # returned in cases where the lines are extremely long. | ||
| 89 | def tail_log_file | ||
| 90 | open(log_file) do |file| | ||
| 91 | file.seek(-[8192, file.size].min, IO::SEEK_END) | ||
| 92 | file.readlines.last(20).join | ||
| 93 | end | ||
| 94 | end | ||
| 95 | |||
| 96 | def airbrussh_is_being_used? | ||
| 97 | # Obtain the current formatter from the SSHKit backend | ||
| 98 | output = env.backend.config.output | ||
| 99 | output.is_a?(Airbrussh::Formatter) | ||
| 100 | end | ||
| 101 | end | ||
| 102 | end | ||
| 103 | end |
| 1 | module Airbrussh | ||
| 2 | # Very basic support for ANSI color, so that we don't have to rely on | ||
| 3 | # any external dependencies. | ||
| 4 | module Colors | ||
| 5 | ANSI_CODES = { | ||
| 6 | :red => 31, | ||
| 7 | :green => 32, | ||
| 8 | :yellow => 33, | ||
| 9 | :blue => 34, | ||
| 10 | :gray => 90 | ||
| 11 | }.freeze | ||
| 12 | |||
| 13 | # Define red, green, blue, etc. methods that return a copy of the | ||
| 14 | # String that is wrapped in the corresponding ANSI color escape | ||
| 15 | # sequence. | ||
| 16 | ANSI_CODES.each do |name, code| | ||
| 17 | define_method(name) do |string| | ||
| 18 | "\e[0;#{code};49m#{string}\e[0m" | ||
| 19 | end | ||
| 20 | module_function(name) | ||
| 21 | end | ||
| 22 | end | ||
| 23 | end |
| 1 | # encoding: UTF-8 | ||
| 2 | require "airbrussh/colors" | ||
| 3 | require "delegate" | ||
| 4 | # rubocop:disable Style/AsciiComments | ||
| 5 | |||
| 6 | module Airbrussh | ||
| 7 | # Decorates an SSHKit Command to add string output helpers and the | ||
| 8 | # command's position within currently executing rake task: | ||
| 9 | # | ||
| 10 | # * position - zero-based position of this command in the list of | ||
| 11 | # all commands that have been run in the current rake task; in | ||
| 12 | # some cases this could be nil | ||
| 13 | class CommandFormatter < SimpleDelegator | ||
| 14 | include Airbrussh::Colors | ||
| 15 | |||
| 16 | def initialize(command, position) | ||
| 17 | super(command) | ||
| 18 | @position = position | ||
| 19 | end | ||
| 20 | |||
| 21 | # Prefixes the line with the command number and removes the newline. | ||
| 22 | # | ||
| 23 | # format_output("hello\n") # => "01 hello" | ||
| 24 | # | ||
| 25 | def format_output(line) | ||
| 26 | "#{number} #{line.chomp}" | ||
| 27 | end | ||
| 28 | |||
| 29 | # Returns the abbreviated command (in yellow) with the number prefix. | ||
| 30 | # | ||
| 31 | # start_message # => "01 echo hello" | ||
| 32 | # | ||
| 33 | def start_message | ||
| 34 | "#{number} #{yellow(abbreviated)}" | ||
| 35 | end | ||
| 36 | |||
| 37 | # Returns a green (success) or red (failure) message depending on the | ||
| 38 | # exit status. | ||
| 39 | # | ||
| 40 | # exit_message # => "✔ 01 user@host 0.084s" | ||
| 41 | # exit_message # => "✘ 01 user@host 0.084s" | ||
| 42 | # | ||
| 43 | def exit_message | ||
| 44 | message = if failure? | ||
| 45 | red(failure_message) | ||
| 46 | else | ||
| 47 | green(success_message) | ||
| 48 | end | ||
| 49 | message << " #{runtime}" | ||
| 50 | end | ||
| 51 | |||
| 52 | private | ||
| 53 | |||
| 54 | def user_at_host | ||
| 55 | user_str = host.user || (host.ssh_options || {})[:user] | ||
| 56 | host_str = host.hostname | ||
| 57 | [user_str, host_str].compact.join("@") | ||
| 58 | end | ||
| 59 | |||
| 60 | def runtime | ||
| 61 | format("%5.3fs", super) | ||
| 62 | end | ||
| 63 | |||
| 64 | def abbreviated | ||
| 65 | to_s.sub(%r{^/usr/bin/env }, "") | ||
| 66 | end | ||
| 67 | |||
| 68 | def number | ||
| 69 | format("%02d", @position.to_i + 1) | ||
| 70 | end | ||
| 71 | |||
| 72 | def success_message | ||
| 73 | "✔ #{number} #{user_at_host}" | ||
| 74 | end | ||
| 75 | |||
| 76 | def failure_message | ||
| 77 | "✘ #{number} #{user_at_host}" | ||
| 78 | end | ||
| 79 | end | ||
| 80 | end |
| 1 | require "airbrussh/colors" | ||
| 2 | require "airbrussh/console_formatter" | ||
| 3 | require "airbrussh/log_file_formatter" | ||
| 4 | |||
| 5 | module Airbrussh | ||
| 6 | class Configuration | ||
| 7 | attr_accessor :log_file, :monkey_patch_rake, :color, :truncate, :banner, | ||
| 8 | :command_output, :task_prefix | ||
| 9 | |||
| 10 | def initialize | ||
| 11 | self.log_file = nil | ||
| 12 | self.monkey_patch_rake = false | ||
| 13 | self.color = :auto | ||
| 14 | self.truncate = :auto | ||
| 15 | self.banner = :auto | ||
| 16 | self.command_output = false | ||
| 17 | self.task_prefix = nil | ||
| 18 | end | ||
| 19 | |||
| 20 | def apply_options(options) | ||
| 21 | return self if options.nil? | ||
| 22 | |||
| 23 | options.each do |key, value| | ||
| 24 | if respond_to?(writer = "#{key}=") | ||
| 25 | public_send(writer, value) | ||
| 26 | else | ||
| 27 | warn_unrecognized_key(key) | ||
| 28 | end | ||
| 29 | end | ||
| 30 | self | ||
| 31 | end | ||
| 32 | |||
| 33 | def banner_message | ||
| 34 | return nil unless banner | ||
| 35 | return banner unless banner == :auto | ||
| 36 | msg = "Using airbrussh format." | ||
| 37 | if log_file | ||
| 38 | msg << "\n" | ||
| 39 | msg << "Verbose output is being written to #{Colors.blue(log_file)}." | ||
| 40 | end | ||
| 41 | msg | ||
| 42 | end | ||
| 43 | |||
| 44 | # This returns an array of formatters appropriate for the configuration. | ||
| 45 | # Depending on whether a log file is configured, this could be just the | ||
| 46 | # Airbrussh:ConsoleFormatter, or that plus the LogFileFormatter. | ||
| 47 | def formatters(io) | ||
| 48 | fmts = [Airbrussh::ConsoleFormatter.new(io, self)] | ||
| 49 | fmts.unshift(Airbrussh::LogFileFormatter.new(log_file)) if log_file | ||
| 50 | fmts | ||
| 51 | end | ||
| 52 | |||
| 53 | def show_command_output?(sym) | ||
| 54 | command_output == true || Array(command_output).include?(sym) | ||
| 55 | end | ||
| 56 | |||
| 57 | private | ||
| 58 | |||
| 59 | def warn_unrecognized_key(key) | ||
| 60 | $stderr.puts("Ignoring unrecognized Airbrussh option: #{key}") | ||
| 61 | end | ||
| 62 | end | ||
| 63 | end |
| 1 | # encoding: UTF-8 | ||
| 2 | require "io/console" | ||
| 3 | |||
| 4 | module Airbrussh | ||
| 5 | # Helper class that wraps an IO object and provides methods for truncating | ||
| 6 | # output, assuming the IO object represents a console window. | ||
| 7 | # | ||
| 8 | # This is useful for writing log messages that will typically show up on | ||
| 9 | # an ANSI color-capable console. When a console is not present (e.g. when | ||
| 10 | # running on a CI server) the output will gracefully degrade. | ||
| 11 | class Console | ||
| 12 | attr_reader :output, :config | ||
| 13 | |||
| 14 | def initialize(output, config=Airbrussh.configuration) | ||
| 15 | @output = output | ||
| 16 | @config = config | ||
| 17 | end | ||
| 18 | |||
| 19 | # Writes to the IO after first truncating the output to fit the console | ||
| 20 | # width. If the underlying IO is not a TTY, ANSI colors are removed from | ||
| 21 | # the output. A newline is always added. Color output can be forced by | ||
| 22 | # setting the SSHKIT_COLOR environment variable. | ||
| 23 | def print_line(obj="") | ||
| 24 | string = obj.to_s | ||
| 25 | |||
| 26 | string = truncate_to_console_width(string) if console_width | ||
| 27 | string = strip_ascii_color(string) unless color_enabled? | ||
| 28 | |||
| 29 | write(string + "\n") | ||
| 30 | output.flush | ||
| 31 | end | ||
| 32 | |||
| 33 | # Writes directly through to the IO with no truncation or color logic. | ||
| 34 | # No newline is added. | ||
| 35 | def write(string) | ||
| 36 | output.write(string || "") | ||
| 37 | end | ||
| 38 | alias << write | ||
| 39 | |||
| 40 | def truncate_to_console_width(string) | ||
| 41 | string = (string || "").rstrip | ||
| 42 | ellipsis = utf8_supported?(string) ? "…" : "..." | ||
| 43 | width = console_width | ||
| 44 | |||
| 45 | if strip_ascii_color(string).length > width | ||
| 46 | width -= ellipsis.length | ||
| 47 | string.chop! while strip_ascii_color(string).length > width | ||
| 48 | string << "#{ellipsis}\e[0m" | ||
| 49 | else | ||
| 50 | string | ||
| 51 | end | ||
| 52 | end | ||
| 53 | |||
| 54 | def strip_ascii_color(string) | ||
| 55 | (string || "").gsub(/\033\[[0-9;]*m/, "") | ||
| 56 | end | ||
| 57 | |||
| 58 | def console_width | ||
| 59 | width = case (truncate = config.truncate) | ||
| 60 | when :auto | ||
| 61 | IO.console.winsize.last if @output.tty? | ||
| 62 | when Integer | ||
| 63 | truncate | ||
| 64 | end | ||
| 65 | |||
| 66 | width if width.to_i > 0 | ||
| 67 | end | ||
| 68 | |||
| 69 | private | ||
| 70 | |||
| 71 | def color_enabled? | ||
| 72 | case config.color | ||
| 73 | when true | ||
| 74 | true | ||
| 75 | when :auto | ||
| 76 | ENV["SSHKIT_COLOR"] || @output.tty? | ||
| 77 | else | ||
| 78 | false | ||
| 79 | end | ||
| 80 | end | ||
| 81 | |||
| 82 | def utf8_supported?(string) | ||
| 83 | string.encode("UTF-8").valid_encoding? | ||
| 84 | rescue Encoding::UndefinedConversionError | ||
| 85 | false | ||
| 86 | end | ||
| 87 | end | ||
| 88 | end |
| 1 | require "airbrussh/colors" | ||
| 2 | require "airbrussh/command_formatter" | ||
| 3 | require "airbrussh/console" | ||
| 4 | require "airbrussh/rake/context" | ||
| 5 | require "sshkit" | ||
| 6 | |||
| 7 | module Airbrussh | ||
| 8 | class ConsoleFormatter < SSHKit::Formatter::Abstract | ||
| 9 | include Airbrussh::Colors | ||
| 10 | extend Forwardable | ||
| 11 | |||
| 12 | attr_reader :config, :context | ||
| 13 | def_delegators :context, :current_task_name, :register_new_command | ||
| 14 | |||
| 15 | def initialize(io, config=Airbrussh.configuration) | ||
| 16 | super(io) | ||
| 17 | |||
| 18 | @config = config | ||
| 19 | @context = Airbrussh::Rake::Context.new(config) | ||
| 20 | @console = Airbrussh::Console.new(original_output, config) | ||
| 21 | |||
| 22 | write_banner | ||
| 23 | end | ||
| 24 | |||
| 25 | def write_banner | ||
| 26 | print_line(config.banner_message) if config.banner_message | ||
| 27 | end | ||
| 28 | |||
| 29 | def log_command_start(command) | ||
| 30 | return if debug?(command) | ||
| 31 | first_execution = register_new_command(command) | ||
| 32 | command = decorate(command) | ||
| 33 | print_task_if_changed | ||
| 34 | print_indented_line(command.start_message) if first_execution | ||
| 35 | end | ||
| 36 | |||
| 37 | def log_command_data(command, stream_type, string) | ||
| 38 | return if debug?(command) | ||
| 39 | return unless config.show_command_output?(stream_type) | ||
| 40 | command = decorate(command) | ||
| 41 | string.each_line do |line| | ||
| 42 | print_indented_line(command.format_output(line)) | ||
| 43 | end | ||
| 44 | end | ||
| 45 | |||
| 46 | def log_command_exit(command) | ||
| 47 | return if debug?(command) | ||
| 48 | command = decorate(command) | ||
| 49 | print_indented_line(command.exit_message, -2) | ||
| 50 | end | ||
| 51 | |||
| 52 | def write(obj) | ||
| 53 | case obj | ||
| 54 | when SSHKit::Command | ||
| 55 | log_command_start(obj) | ||
| 56 | log_and_clear_command_output(obj, :stderr) | ||
| 57 | log_and_clear_command_output(obj, :stdout) | ||
| 58 | log_command_exit(obj) if obj.finished? | ||
| 59 | when SSHKit::LogMessage | ||
| 60 | write_log_message(obj) | ||
| 61 | end | ||
| 62 | end | ||
| 63 | alias << write | ||
| 64 | |||
| 65 | private | ||
| 66 | |||
| 67 | attr_accessor :last_printed_task | ||
| 68 | |||
| 69 | def write_log_message(log_message) | ||
| 70 | return if debug?(log_message) | ||
| 71 | print_task_if_changed | ||
| 72 | print_indented_line(format_log_message(log_message)) | ||
| 73 | end | ||
| 74 | |||
| 75 | def format_log_message(log_message) | ||
| 76 | case log_message.verbosity | ||
| 77 | when SSHKit::Logger::WARN | ||
| 78 | "#{yellow('WARN')} #{log_message}" | ||
| 79 | when SSHKit::Logger::ERROR | ||
| 80 | "#{red('ERROR')} #{log_message}" | ||
| 81 | when SSHKit::Logger::FATAL | ||
| 82 | "#{red('FATAL')} #{log_message}" | ||
| 83 | else | ||
| 84 | log_message.to_s | ||
| 85 | end | ||
| 86 | end | ||
| 87 | |||
| 88 | # For SSHKit versions up to and including 1.7.1, the stdout and stderr | ||
| 89 | # output was available as attributes on the Command. Print the data for | ||
| 90 | # the specified command and stream if enabled and clear the stream. | ||
| 91 | # (see Airbrussh::Configuration#command_output). | ||
| 92 | def log_and_clear_command_output(command, stream) | ||
| 93 | output = command.public_send(stream) | ||
| 94 | log_command_data(command, stream, output) | ||
| 95 | command.public_send("#{stream}=", "") | ||
| 96 | end | ||
| 97 | |||
| 98 | def print_task_if_changed | ||
| 99 | return if current_task_name.nil? | ||
| 100 | return if current_task_name == last_printed_task | ||
| 101 | |||
| 102 | self.last_printed_task = current_task_name | ||
| 103 | print_line("#{config.task_prefix}#{clock} #{blue(current_task_name)}") | ||
| 104 | end | ||
| 105 | |||
| 106 | def clock | ||
| 107 | @start_at ||= Time.now | ||
| 108 | duration = Time.now - @start_at | ||
| 109 | |||
| 110 | minutes = (duration / 60).to_i | ||
| 111 | seconds = (duration - minutes * 60).to_i | ||
| 112 | |||
| 113 | format("%02d:%02d", minutes, seconds) | ||
| 114 | end | ||
| 115 | |||
| 116 | def debug?(obj) | ||
| 117 | obj.verbosity <= SSHKit::Logger::DEBUG | ||
| 118 | end | ||
| 119 | |||
| 120 | def decorate(command) | ||
| 121 | Airbrussh::CommandFormatter.new(command, @context.position(command)) | ||
| 122 | end | ||
| 123 | |||
| 124 | def print_line(string) | ||
| 125 | @console.print_line(string) | ||
| 126 | end | ||
| 127 | |||
| 128 | def print_indented_line(string, offset=0) | ||
| 129 | indent = " " * (6 + offset) | ||
| 130 | print_line([indent, string].join) | ||
| 131 | end | ||
| 132 | end | ||
| 133 | end |
| 1 | require "sshkit" | ||
| 2 | |||
| 3 | module Airbrussh | ||
| 4 | # This class quacks like an SSHKit::Formatter, but when any formatting | ||
| 5 | # methods are called, it simply forwards them to one more more concrete | ||
| 6 | # formatters. This allows us to split out the responsibilities of | ||
| 7 | # ConsoleFormatter and LogFileFormatter into two separate classes, with | ||
| 8 | # DelegatingFormatter forwarding the logging messages to both at once. | ||
| 9 | # | ||
| 10 | class DelegatingFormatter | ||
| 11 | FORWARD_METHODS = %w( | ||
| 12 | fatal error warn info debug log | ||
| 13 | log_command_start log_command_data log_command_exit | ||
| 14 | ).freeze | ||
| 15 | DUP_AND_FORWARD_METHODS = %w(<< write).freeze | ||
| 16 | |||
| 17 | attr_reader :formatters | ||
| 18 | |||
| 19 | def initialize(formatters) | ||
| 20 | @formatters = formatters | ||
| 21 | end | ||
| 22 | |||
| 23 | FORWARD_METHODS.each do |method| | ||
| 24 | define_method(method) do |*args| | ||
| 25 | formatters.map { |f| f.public_send(method, *args) }.last | ||
| 26 | end | ||
| 27 | end | ||
| 28 | |||
| 29 | # For versions of SSHKit up to and including 1.7.1, the LogfileFormatter | ||
| 30 | # and ConsoleFormatter (and all of SSHKit's built in formatters) clear | ||
| 31 | # the stdout and stderr data in the command obj. Therefore, ensure only | ||
| 32 | # one of the formatters (the last one) gets the original command. This is | ||
| 33 | # also the formatter whose return value is passed to the caller. | ||
| 34 | # | ||
| 35 | DUP_AND_FORWARD_METHODS.each do |method| | ||
| 36 | define_method(method) do |command_or_log_message| | ||
| 37 | formatters[0...-1].each do |f| | ||
| 38 | f.public_send(method, command_or_log_message.dup) | ||
| 39 | end | ||
| 40 | formatters.last.public_send(method, command_or_log_message) | ||
| 41 | end | ||
| 42 | end | ||
| 43 | end | ||
| 44 | end |
| 1 | require "airbrussh" | ||
| 2 | require "airbrussh/delegating_formatter" | ||
| 3 | |||
| 4 | # This is the formatter class that conforms to the SSHKit Formatter API and | ||
| 5 | # provides the airbrussh functionality to SSHKit. Note however that this class | ||
| 6 | # doesn't do much by itself; instead, it delegates to the ConsoleFormatter | ||
| 7 | # and (optionally) the LogFileFormatter, which handle the bulk of the logic. | ||
| 8 | # | ||
| 9 | module Airbrussh | ||
| 10 | class Formatter < Airbrussh::DelegatingFormatter | ||
| 11 | def initialize(io, options_or_config_object={}) | ||
| 12 | config = ::Airbrussh.configuration(options_or_config_object) | ||
| 13 | # Delegate to ConsoleFormatter and (optionally) LogFileFormatter, | ||
| 14 | # based on the configuration. | ||
| 15 | super(config.formatters(io)) | ||
| 16 | end | ||
| 17 | end | ||
| 18 | end |
| 1 | require "delegate" | ||
| 2 | require "fileutils" | ||
| 3 | require "logger" | ||
| 4 | require "sshkit" | ||
| 5 | |||
| 6 | module Airbrussh | ||
| 7 | # A Pretty formatter that sends its output to a specified log file path. | ||
| 8 | # LogFileFormatter takes care of creating the file (and its parent | ||
| 9 | # directory) if it does not already exist, opens it for appending, and writes | ||
| 10 | # a delimiter message. The file is automatically rotated if it reaches 20 MB. | ||
| 11 | # | ||
| 12 | class LogFileFormatter < SimpleDelegator | ||
| 13 | attr_reader :path | ||
| 14 | |||
| 15 | def initialize(path, formatter_class=SSHKit::Formatter::Pretty) | ||
| 16 | @path = path | ||
| 17 | ensure_directory_exists if path.is_a?(String) | ||
| 18 | super(formatter_class.new(log_file_io)) | ||
| 19 | write_delimiter | ||
| 20 | end | ||
| 21 | |||
| 22 | private | ||
| 23 | |||
| 24 | def write_delimiter | ||
| 25 | delimiter = [] | ||
| 26 | delimiter << "-" * 75 | ||
| 27 | delimiter << "START #{Time.now} cap #{ARGV.join(' ')}" | ||
| 28 | delimiter << "-" * 75 | ||
| 29 | delimiter.each do |line| | ||
| 30 | write(SSHKit::LogMessage.new(SSHKit::Logger::INFO, line)) | ||
| 31 | end | ||
| 32 | end | ||
| 33 | |||
| 34 | def ensure_directory_exists | ||
| 35 | FileUtils.mkdir_p(File.dirname(path)) | ||
| 36 | end | ||
| 37 | |||
| 38 | def log_file_io | ||
| 39 | @io ||= ::Logger.new(path, 1, 20_971_520) | ||
| 40 | end | ||
| 41 | end | ||
| 42 | end |
| 1 | require "rake" | ||
| 2 | |||
| 3 | module Airbrussh | ||
| 4 | module Rake | ||
| 5 | # Maintains information about what Rake task is currently being invoked, | ||
| 6 | # in order to be able to decorate SSHKit commands with additional | ||
| 7 | # context-sensitive information. Works via a monkey patch to Rake::Task, | ||
| 8 | # which can be disabled via by setting | ||
| 9 | # Airbrussh.configuration.monkey_patch_rake = false. | ||
| 10 | # | ||
| 11 | # Note that this class is not thread-safe. Normally this is not a problem, | ||
| 12 | # but some Capistrano users are known to use `invoke` to switch the Rake | ||
| 13 | # task in the middle of an SSHKit thread, which causes Context to get very | ||
| 14 | # confused. It such scenarios Context is not reliable and may return `nil` | ||
| 15 | # for the `position` of a command. | ||
| 16 | # | ||
| 17 | class Context | ||
| 18 | def initialize(config=Airbrussh.configuration) | ||
| 19 | @history = [] | ||
| 20 | @enabled = config.monkey_patch_rake | ||
| 21 | self.class.install_monkey_patch if enabled? | ||
| 22 | end | ||
| 23 | |||
| 24 | # Returns the name of the currently-executing rake task, if it can be | ||
| 25 | # determined. If monkey patching is disabled, this will be nil. | ||
| 26 | def current_task_name | ||
| 27 | return nil unless enabled? | ||
| 28 | self.class.current_task_name | ||
| 29 | end | ||
| 30 | |||
| 31 | # Update the context when a new command starts by: | ||
| 32 | # * Clearing the command history if the rake task has changed | ||
| 33 | # * Recording the command in the history | ||
| 34 | # | ||
| 35 | # Returns whether or not this command was the first execution | ||
| 36 | # of this command in the current rake task | ||
| 37 | def register_new_command(command) | ||
| 38 | reset_history_if_task_changed | ||
| 39 | |||
| 40 | first_execution = !history.include?(command.to_s) | ||
| 41 | history << command.to_s | ||
| 42 | history.uniq! | ||
| 43 | first_execution | ||
| 44 | end | ||
| 45 | |||
| 46 | # The zero-based position of the specified command in the current rake | ||
| 47 | # task. May be `nil` in certain multi-threaded scenarios, so be careful! | ||
| 48 | def position(command) | ||
| 49 | history.index(command.to_s) | ||
| 50 | end | ||
| 51 | |||
| 52 | class << self | ||
| 53 | attr_accessor :current_task_name | ||
| 54 | |||
| 55 | def install_monkey_patch | ||
| 56 | return if ::Rake::Task.instance_methods.include?(:_airbrussh_execute) | ||
| 57 | |||
| 58 | ::Rake::Task.class_exec do | ||
| 59 | alias_method :_airbrussh_execute, :execute | ||
| 60 | def execute(args=nil) # rubocop:disable Lint/NestedMethodDefinition | ||
| 61 | ::Airbrussh::Rake::Context.current_task_name = name.to_s | ||
| 62 | _airbrussh_execute(args) | ||
| 63 | end | ||
| 64 | end | ||
| 65 | end | ||
| 66 | end | ||
| 67 | |||
| 68 | private | ||
| 69 | |||
| 70 | attr_reader :history | ||
| 71 | attr_accessor :last_task_name | ||
| 72 | |||
| 73 | def reset_history_if_task_changed | ||
| 74 | history.clear if last_task_name != current_task_name | ||
| 75 | self.last_task_name = current_task_name | ||
| 76 | end | ||
| 77 | |||
| 78 | def enabled? | ||
| 79 | @enabled | ||
| 80 | end | ||
| 81 | end | ||
| 82 | end | ||
| 83 | end |
| 1 | require "airbrussh/formatter" | ||
| 2 | |||
| 3 | # Capistrano's formatter configuration requires that the formatter class | ||
| 4 | # be in the SSHKit::Formatter namespace. So we declare | ||
| 5 | # SSHKit::Formatter::Airbrussh that simply functions as an alias for | ||
| 6 | # Airbrussh::Formatter. | ||
| 7 | module SSHKit | ||
| 8 | module Formatter | ||
| 9 | class Airbrussh < Airbrussh::Formatter | ||
| 10 | end | ||
| 11 | end | ||
| 12 | end |
| 1 | --- | ||
| 2 | engines: | ||
| 3 | duplication: | ||
| 4 | enabled: true | ||
| 5 | config: | ||
| 6 | languages: | ||
| 7 | - ruby | ||
| 8 | fixme: | ||
| 9 | enabled: true | ||
| 10 | rubocop: | ||
| 11 | enabled: false | ||
| 12 | ratings: | ||
| 13 | paths: | ||
| 14 | - "**.rb" | ||
| 15 | - "bin/*" | ||
| 16 | - "exe/*" | ||
| 17 | exclude_paths: | ||
| 18 | - bundler.gemspec | ||
| 19 | - "*.md" | ||
| 20 | - lib/bundler/ssl_certs/*.pem | ||
| 21 | - lib/bundler/vendor/**/* | ||
| 22 | - lib/bundler/templates/**/*.tt | ||
| 23 | - man/* | ||
| 24 | - spec/**/* | ||
| 25 | - Rakefile |
| 1 | # Please do not submit patches for including directives to ignore IDE/editor | ||
| 2 | # generated files. Use a global gitignore as described in | ||
| 3 | # https://help.github.com/articles/ignoring-files and find useful gitignore | ||
| 4 | # samples at https://github.com/github/gitignore | ||
| 5 | |||
| 6 | # files created by running the specs | ||
| 7 | /tmp/ | ||
| 8 | |||
| 9 | # gems built by `rake build` | ||
| 10 | /pkg/ | ||
| 11 | |||
| 12 | # output from ronn | ||
| 13 | /lib/bundler/man/ | ||
| 14 | man/* | ||
| 15 | !man/*.ronn | ||
| 16 | |||
| 17 | # rspec failure tracking | ||
| 18 | .rspec_status |
| 1 | inherit_from: | ||
| 2 | - .rubocop_todo.yml | ||
| 3 | |||
| 4 | AllCops: | ||
| 5 | TargetRubyVersion: 1.9 | ||
| 6 | Exclude: | ||
| 7 | - tmp/**/* | ||
| 8 | - lib/bundler/vendor/**/* | ||
| 9 | DisplayCopNames: true | ||
| 10 | |||
| 11 | # Lint | ||
| 12 | |||
| 13 | # They are idiomatic | ||
| 14 | Lint/AssignmentInCondition: | ||
| 15 | Enabled: false | ||
| 16 | |||
| 17 | Lint/EndAlignment: | ||
| 18 | EnforcedStyleAlignWith: variable | ||
| 19 | AutoCorrect: true | ||
| 20 | |||
| 21 | Lint/UnusedMethodArgument: | ||
| 22 | Enabled: false | ||
| 23 | |||
| 24 | # Style | ||
| 25 | |||
| 26 | Style/AccessModifierIndentation: | ||
| 27 | EnforcedStyle: outdent | ||
| 28 | |||
| 29 | Style/Alias: | ||
| 30 | EnforcedStyle: prefer_alias_method | ||
| 31 | |||
| 32 | Style/AlignParameters: | ||
| 33 | EnforcedStyle: with_fixed_indentation | ||
| 34 | |||
| 35 | Style/FrozenStringLiteralComment: | ||
| 36 | EnforcedStyle: always | ||
| 37 | |||
| 38 | Style/MultilineBlockChain: | ||
| 39 | Enabled: false | ||
| 40 | |||
| 41 | Style/MultilineOperationIndentation: | ||
| 42 | EnforcedStyle: indented | ||
| 43 | |||
| 44 | Style/PerlBackrefs: | ||
| 45 | Enabled: false | ||
| 46 | |||
| 47 | Style/SingleLineBlockParams: | ||
| 48 | Enabled: false | ||
| 49 | |||
| 50 | Style/SpaceInsideBlockBraces: | ||
| 51 | SpaceBeforeBlockParameters: false | ||
| 52 | |||
| 53 | Style/TrivialAccessors: | ||
| 54 | Enabled: false | ||
| 55 | |||
| 56 | # We adopted raise instead of fail. | ||
| 57 | Style/SignalException: | ||
| 58 | EnforcedStyle: only_raise | ||
| 59 | |||
| 60 | Style/StringLiterals: | ||
| 61 | EnforcedStyle: double_quotes | ||
| 62 | |||
| 63 | Style/StringLiteralsInInterpolation: | ||
| 64 | EnforcedStyle: double_quotes | ||
| 65 | |||
| 66 | # Having these make it easier to *not* forget to add one when adding a new | ||
| 67 | # value and you can simply copy the previous line. | ||
| 68 | Style/TrailingCommaInLiteral: | ||
| 69 | EnforcedStyleForMultiline: comma | ||
| 70 | |||
| 71 | Style/TrailingUnderscoreVariable: | ||
| 72 | Enabled: false | ||
| 73 | |||
| 74 | # `String.new` is preferred style with enabled frozen string literal | ||
| 75 | Style/EmptyLiteral: | ||
| 76 | Enabled: false | ||
| 77 | |||
| 78 | # 1.8.7 support | ||
| 79 | |||
| 80 | Style/HashSyntax: | ||
| 81 | EnforcedStyle: hash_rockets | ||
| 82 | |||
| 83 | Style/Lambda: | ||
| 84 | Enabled: false | ||
| 85 | |||
| 86 | Style/DotPosition: | ||
| 87 | EnforcedStyle: trailing | ||
| 88 | |||
| 89 | Style/EachWithObject: | ||
| 90 | Enabled: false | ||
| 91 | |||
| 92 | Style/SpecialGlobalVars: | ||
| 93 | Enabled: false | ||
| 94 | |||
| 95 | Style/TrailingCommaInArguments: | ||
| 96 | Enabled: false | ||
| 97 | |||
| 98 | Performance/FlatMap: | ||
| 99 | Enabled: false | ||
| 100 | |||
| 101 | # Metrics | ||
| 102 | |||
| 103 | # We've chosen to use Rubocop only for style, and not for complexity or quality checks. | ||
| 104 | Metrics/ClassLength: | ||
| 105 | Enabled: false | ||
| 106 | |||
| 107 | Metrics/ModuleLength: | ||
| 108 | Enabled: false | ||
| 109 | |||
| 110 | Metrics/MethodLength: | ||
| 111 | Enabled: false | ||
| 112 | |||
| 113 | Metrics/BlockNesting: | ||
| 114 | Enabled: false | ||
| 115 | |||
| 116 | Metrics/AbcSize: | ||
| 117 | Enabled: false | ||
| 118 | |||
| 119 | Metrics/CyclomaticComplexity: | ||
| 120 | Enabled: false | ||
| 121 | |||
| 122 | Metrics/ParameterLists: | ||
| 123 | Enabled: false | ||
| 124 | |||
| 125 | Metrics/BlockLength: | ||
| 126 | Enabled: false | ||
| 127 | |||
| 128 | # It will be obvious which code is complex, Rubocop should only lint simple | ||
| 129 | # rules for us. | ||
| 130 | Metrics/PerceivedComplexity: | ||
| 131 | Enabled: false |
This diff is collapsed.
Click to expand it.
| 1 | language: ruby | ||
| 2 | script: rake spec:travis | ||
| 3 | before_script: | ||
| 4 | - travis_retry rake spec:travis:deps | ||
| 5 | - travis_retry rake man:build | ||
| 6 | - travis_retry rake spec:rubygems:clone_rubygems_$RGV | ||
| 7 | |||
| 8 | branches: | ||
| 9 | only: | ||
| 10 | - master | ||
| 11 | - auto | ||
| 12 | - /.+-dev$/ | ||
| 13 | - /.+-stable$/ | ||
| 14 | |||
| 15 | notifications: | ||
| 16 | slack: | ||
| 17 | on_success: change | ||
| 18 | on_failure: always | ||
| 19 | rooms: | ||
| 20 | - secure: JxBi7DDJGkIF/7f/FSN/HUHpvV4EKfQccZHTPd1b2pNJn3GXo6u+tNVbAw2WjxYzPyPQI3ZcYBCU9SEXp/i7VmG8uMzh8Kyildw+miSKYKVb90uYqcsXWzbxwyNBgJLvyDkzST45H5lgnyAicee3WkFes/WDZikIajbH7ztdb04= | ||
| 21 | |||
| 22 | addons: | ||
| 23 | code_climate: | ||
| 24 | repo_token: | ||
| 25 | secure: "TrzIv116JLGUxm6PAUskCYrv8KTDguncKROVwbnjVPKTGDAgoDderd8JUdDEXrKoZ9qGLD2TPYKExt9/QDl71E+qHdWnVqWv4HKCUk2P9z/VLKzHuggOUBkCXiJUhjywUieCJhI3N92bfq2EjSBbu2/OFHqWOjLQ+QCooTEBjv8=" | ||
| 26 | |||
| 27 | rvm: | ||
| 28 | - 2.4.1 | ||
| 29 | - 2.3.4 | ||
| 30 | - 2.2.7 | ||
| 31 | - 2.1.10 | ||
| 32 | - 2.0.0 | ||
| 33 | - 1.9.3 | ||
| 34 | - 1.8.7 | ||
| 35 | |||
| 36 | # Rubygems versions MUST be available as rake tasks | ||
| 37 | # see Rakefile:125 for the list of possible RGV values | ||
| 38 | env: | ||
| 39 | # We need to know if changes to rubygems will break bundler on release | ||
| 40 | - RGV=master | ||
| 41 | # Test the latest rubygems release with all of our supported rubies | ||
| 42 | - RGV=v2.6.8 | ||
| 43 | |||
| 44 | matrix: | ||
| 45 | include: | ||
| 46 | # Ruby 2.4, Rubygems 2.6.8 and up | ||
| 47 | # Ruby 2.3, Rubygems 2.5.1 and up | ||
| 48 | - rvm: 2.2.6 | ||
| 49 | env: RGV=v2.5.2 | ||
| 50 | # Ruby 2.2, Rubygems 2.4.5 and up | ||
| 51 | - rvm: 2.2.6 | ||
| 52 | env: RGV=v2.4.8 | ||
| 53 | # Ruby 2.1, Rubygems 2.2.2 and up | ||
| 54 | - rvm: 2.1.10 | ||
| 55 | env: RGV=v2.2.5 | ||
| 56 | # Ruby 2.0.0, Rubygems 2.0.0 and up | ||
| 57 | - rvm: 2.0.0 | ||
| 58 | env: RGV=v2.2.5 | ||
| 59 | - rvm: 2.0.0 | ||
| 60 | env: RGV=v2.1.11 | ||
| 61 | - rvm: 2.0.0 | ||
| 62 | env: RGV=v2.0.14 | ||
| 63 | # Ruby 1.9.3, Rubygems 1.5.3 and up | ||
| 64 | - rvm: 1.9.3 | ||
| 65 | env: RGV=v2.2.5 | ||
| 66 | - rvm: 1.9.3 | ||
| 67 | env: RGV=v2.1.11 | ||
| 68 | - rvm: 1.9.3 | ||
| 69 | env: RGV=v2.0.14 | ||
| 70 | - rvm: 1.9.3 | ||
| 71 | env: RGV=v1.8.29 | ||
| 72 | - rvm: 1.9.3 | ||
| 73 | env: RGV=v1.7.2 | ||
| 74 | - rvm: 1.9.3 | ||
| 75 | env: RGV=v1.6.2 | ||
| 76 | - rvm: 1.9.3 | ||
| 77 | env: RGV=v1.5.3 | ||
| 78 | |||
| 79 | # Ruby 1.8.7, Rubygems 1.3.6 and up | ||
| 80 | - rvm: 1.8.7 | ||
| 81 | env: RGV=v2.2.5 | ||
| 82 | # ALLOWED FAILURES | ||
| 83 | # since the great Travis image outage, frequent random segfaults :'( | ||
| 84 | - rvm: 1.8.7 | ||
| 85 | env: RGV=v2.0.14 | ||
| 86 | - rvm: 1.8.7 | ||
| 87 | env: RGV=v1.8.29 | ||
| 88 | - rvm: 1.8.7 | ||
| 89 | env: RGV=v1.7.2 | ||
| 90 | - rvm: 1.8.7 | ||
| 91 | env: RGV=v1.6.2 | ||
| 92 | - rvm: 1.8.7 | ||
| 93 | env: RGV=v1.5.3 | ||
| 94 | - rvm: 1.8.7 | ||
| 95 | env: RGV=v1.4.2 | ||
| 96 | - rvm: 1.8.7 | ||
| 97 | env: RGV=v1.3.7 | ||
| 98 | - rvm: 1.8.7 | ||
| 99 | env: RGV=v1.3.6 | ||
| 100 | # Ruby-head (we want to know how we're doing, but not fail the build) | ||
| 101 | - rvm: ruby-head | ||
| 102 | env: RGV=master | ||
| 103 | |||
| 104 | allow_failures: | ||
| 105 | - rvm: 1.8.7 | ||
| 106 | env: RGV=v2.0.14 | ||
| 107 | - rvm: 1.8.7 | ||
| 108 | env: RGV=v1.8.29 | ||
| 109 | - rvm: 1.8.7 | ||
| 110 | env: RGV=v1.7.2 | ||
| 111 | - rvm: 1.8.7 | ||
| 112 | env: RGV=v1.6.2 | ||
| 113 | - rvm: 1.8.7 | ||
| 114 | env: RGV=v1.5.3 | ||
| 115 | - rvm: 1.8.7 | ||
| 116 | env: RGV=v1.4.2 | ||
| 117 | - rvm: 1.8.7 | ||
| 118 | env: RGV=v1.3.7 | ||
| 119 | - rvm: 1.8.7 | ||
| 120 | env: RGV=v1.3.6 | ||
| 121 | - rvm: ruby-head | ||
| 122 | env: RGV=master |
This diff could not be displayed because it is too large.
| 1 | # Bundler Code of Conduct | ||
| 2 | |||
| 3 | The Bundler project strongly values contributors from anywhere, regardless of level of experience, gender, gender identity and expression, sexual orientation, disability, physical appearance, body size, race, ethnicity, age, religion, or nationality. As a result, the Bundler team has agreed to and enforces this code of conduct in order to provide a harassment-free experience for everyone who participates in the development of Bundler. | ||
| 4 | |||
| 5 | ### Summary | ||
| 6 | |||
| 7 | Harassment in code and discussion or violation of physical boundaries is completely unacceptable anywhere in the Bundler project’s codebases, issue trackers, chat rooms, mailing lists, meetups, and any other events. Violators will be warned and then blocked or banned by the core team at or before the 3rd violation. | ||
| 8 | |||
| 9 | ### In detail | ||
| 10 | |||
| 11 | Harassment includes offensive verbal comments related to level of experience, gender, gender identity and expression, sexual orientation, disability, physical appearance, body size, race, ethnicity, age, religion, nationality, the use of sexualized language or imagery, deliberate intimidation, stalking, sustained disruption, and unwelcome sexual attention. | ||
| 12 | |||
| 13 | Individuals asked to stop any harassing behavior are expected to comply immediately. | ||
| 14 | |||
| 15 | Maintainers, including the core team, are also subject to the anti-harassment policy. | ||
| 16 | |||
| 17 | If anyone engages in abusive, harassing, or otherwise unacceptable behavior, including maintainers, we may take appropriate action, up to and including warning the offender, deletion of comments, removal from the project’s codebase and communication systems, and escalation to GitHub support. | ||
| 18 | |||
| 19 | If you are being harassed, notice that someone else is being harassed, or have any other concerns, please contact a member of [the core team](http://bundler.io/contributors.html) or [email the core team](mailto:team@bundler.io) immediately. | ||
| 20 | |||
| 21 | We expect everyone to follow these rules anywhere in the Bundler project’s codebases, issue trackers, IRC channel, group chat, and mailing lists. | ||
| 22 | |||
| 23 | This code of conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. | ||
| 24 | |||
| 25 | Finally, don't forget that it is human to make mistakes! We all do. Let’s work together to help each other, resolve issues, and learn from the mistakes that we will all inevitably make from time to time. | ||
| 26 | |||
| 27 | |||
| 28 | ### Thanks | ||
| 29 | |||
| 30 | Thanks to the [JSConf Code of Conduct](http://jsconf.com/codeofconduct.html) and [Fedora Code of Conduct](http://fedoraproject.org/code-of-conduct) for inspiration and ideas. Additional thanks to [Contributor Covenant](http://contributor-covenant.org) for the [default code of conduct](https://github.com/bundler/bundler/blob/master/lib/bundler/templates/newgem/CODE_OF_CONDUCT.md.tt) included in generated gems. | ||
| 31 | |||
| 32 | |||
| 33 | ### License | ||
| 34 | |||
| 35 | <p class="license" xmlns:dct="http://purl.org/dc/terms/" xmlns:vcard="http://www.w3.org/2001/vcard-rdf/3.0#"> | ||
| 36 | To the extent possible under law, <a rel="dct:publisher" href="http://bundler.io">The Bundler Team</a> has waived all copyright and related or neighboring rights to the <span property="dct:title">Bundler Code of Conduct</span>. This work is published from the <span property="vcard:Country" datatype="dct:ISO3166" content="US" about="http://bundler.io">United States.</span> | ||
| 37 | <br> | ||
| 38 | <br> | ||
| 39 | <a rel="license" href="http://creativecommons.org/publicdomain/zero/1.0/"> | ||
| 40 | <img src="http://i.creativecommons.org/p/zero/1.0/88x31.png" style="border-style: none;" alt="CC0"> | ||
| 41 | </a> | ||
| 42 | </p> |
| 1 | # Contributing to Bundler | ||
| 2 | |||
| 3 | Welcome to Bundler! We are so happy that you're here. We know it can be daunting to joining a new open source project, so here's a quick overview of what you can expect from this documentation. | ||
| 4 | |||
| 5 | Bundler welcomes contributions from *everyone*. While contributing, please follow the project [code of conduct](http://bundler.io/conduct.html), so that everyone can be included. | ||
| 6 | |||
| 7 | ## Quick start | ||
| 8 | |||
| 9 | Some guides you might find useful: | ||
| 10 | |||
| 11 | * [Submitting pull requests](doc/development/PULL_REQUESTS.md) | ||
| 12 | * [Filing an issue](doc/contributing/ISSUES.md) | ||
| 13 | * [Bug triage](doc/contributing/BUG_TRIAGE.md) | ||
| 14 | |||
| 15 | ## Comprehensive guides | ||
| 16 | |||
| 17 | Not finding what you're looking for? More comprehensive guides are [available here](doc/README.md). |
| 1 | Portions copyright (c) 2010 Andre Arko | ||
| 2 | Portions copyright (c) 2009 Engine Yard | ||
| 3 | |||
| 4 | MIT License | ||
| 5 | |||
| 6 | Permission is hereby granted, free of charge, to any person obtaining | ||
| 7 | a copy of this software and associated documentation files (the | ||
| 8 | "Software"), to deal in the Software without restriction, including | ||
| 9 | without limitation the rights to use, copy, modify, merge, publish, | ||
| 10 | distribute, sublicense, and/or sell copies of the Software, and to | ||
| 11 | permit persons to whom the Software is furnished to do so, subject to | ||
| 12 | the following conditions: | ||
| 13 | |||
| 14 | The above copyright notice and this permission notice shall be | ||
| 15 | included in all copies or substantial portions of the Software. | ||
| 16 | |||
| 17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | ||
| 18 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF | ||
| 19 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND | ||
| 20 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE | ||
| 21 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION | ||
| 22 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION | ||
| 23 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. |
| 1 | [](https://rubygems.org/gems/bundler) | ||
| 2 | [](https://travis-ci.org/bundler/bundler) | ||
| 3 | [](https://codeclimate.com/github/bundler/bundler) | ||
| 4 | [](http://inch-ci.org/github/bundler/bundler) | ||
| 5 | |||
| 6 | # Bundler: a gem to bundle gems | ||
| 7 | |||
| 8 | Bundler makes sure Ruby applications run the same code on every machine. | ||
| 9 | |||
| 10 | It does this by managing the gems that the application depends on. Given a list of gems, it can automatically download and install those gems, as well as any other gems needed by the gems that are listed. Before installing gems, it checks the versions of every gem to make sure that they are compatible, and can all be loaded at the same time. After the gems have been installed, Bundler can help you update some or all of them when new versions become available. Finally, it records the exact versions that have been installed, so that others can install the exact same gems. | ||
| 11 | |||
| 12 | ### Installation and usage | ||
| 13 | |||
| 14 | To install: | ||
| 15 | |||
| 16 | ``` | ||
| 17 | gem install bundler | ||
| 18 | ``` | ||
| 19 | |||
| 20 | Bundler is most commonly used to manage your application's dependencies. To use it for this: | ||
| 21 | |||
| 22 | ``` | ||
| 23 | bundle init | ||
| 24 | echo 'gem "rspec"' >> Gemfile | ||
| 25 | bundle install | ||
| 26 | bundle exec rspec | ||
| 27 | ``` | ||
| 28 | |||
| 29 | See [bundler.io](http://bundler.io) for the full documentation. | ||
| 30 | |||
| 31 | ### Troubleshooting | ||
| 32 | |||
| 33 | For help with common problems, see [TROUBLESHOOTING](doc/TROUBLESHOOTING.md). | ||
| 34 | |||
| 35 | Still stuck? Try [filing an issue](doc/contributing/ISSUES.md). | ||
| 36 | |||
| 37 | ### Supporting | ||
| 38 | |||
| 39 | <a href="https://rubytogether.org/"><img src="https://rubytogether.org/images/rubies.svg" width=200></a><br/> | ||
| 40 | Bundler is maintained by <a href="https://rubytogether.org/">Ruby Together</a>, a grassroots initiative committed to supporting the critical Ruby infrastructure you rely on. Contribute today <a href="https://rubytogether.org/developers">as an individual</a> or even better, <a href="https://rubytogether.org/companies">as a company</a>, and ensure that Bundler, RubyGems, and other shared tooling is around for years to come. | ||
| 41 | |||
| 42 | ### Other questions | ||
| 43 | |||
| 44 | To see what has changed in recent versions of Bundler, see the [CHANGELOG](CHANGELOG.md). | ||
| 45 | |||
| 46 | To get in touch with the Bundler core team and other Bundler users, please see [getting help](doc/contributing/GETTING_HELP.md). | ||
| 47 | |||
| 48 | ### Contributing | ||
| 49 | |||
| 50 | If you'd like to contribute to Bundler, that's awesome, and we <3 you. There's a guide to contributing to Bundler (both code and general help) over in [our documentation section](doc/README.md). | ||
| 51 | |||
| 52 | ### Code of Conduct | ||
| 53 | |||
| 54 | Everyone interacting in the Bundler project’s codebases, issue trackers, chat rooms, and mailing lists is expected to follow the [Bundler code of conduct](https://github.com/bundler/bundler/blob/master/CODE_OF_CONDUCT.md). |
This diff is collapsed.
Click to expand it.
| 1 | #!/usr/bin/env ruby | ||
| 2 | # frozen_string_literal: true | ||
| 3 | |||
| 4 | load File.expand_path("../with_rubygems", __FILE__) if ENV["RGV"] | ||
| 5 | |||
| 6 | require "rubygems" | ||
| 7 | |||
| 8 | bundler_spec = Gem::Specification.load(File.expand_path("../../bundler.gemspec", __FILE__)) | ||
| 9 | bundler_spec.dependencies.each do |dep| | ||
| 10 | begin | ||
| 11 | gem dep.name, dep.requirement | ||
| 12 | rescue Gem::LoadError => e | ||
| 13 | $stderr.puts "#{e.message} (#{e.class})" | ||
| 14 | end | ||
| 15 | end | ||
| 16 | |||
| 17 | Gem.finish_resolve if Gem.respond_to?(:finish_resolve) | ||
| 18 | |||
| 19 | load Gem.bin_path("rake", "rake") |
| 1 | #!/usr/bin/env ruby | ||
| 2 | # frozen_string_literal: true | ||
| 3 | |||
| 4 | load File.expand_path("../with_rubygems", __FILE__) if ENV["RGV"] | ||
| 5 | |||
| 6 | require "rubygems" | ||
| 7 | |||
| 8 | bundler_spec = Gem::Specification.load(File.expand_path("../../bundler.gemspec", __FILE__)) | ||
| 9 | bundler_spec.dependencies.each do |dep| | ||
| 10 | gem dep.name, dep.requirement | ||
| 11 | end | ||
| 12 | |||
| 13 | Gem.finish_resolve if Gem.respond_to?(:finish_resolve) | ||
| 14 | |||
| 15 | load Gem.bin_path("rspec-core", "rspec") |
| 1 | #!/usr/bin/env ruby | ||
| 2 | # frozen_string_literal: true | ||
| 3 | |||
| 4 | load File.expand_path("../with_rubygems", __FILE__) if ENV["RGV"] | ||
| 5 | |||
| 6 | require "rubygems" | ||
| 7 | |||
| 8 | bundler_spec = Gem::Specification.load(File.expand_path("../../bundler.gemspec", __FILE__)) | ||
| 9 | bundler_spec.dependencies.each do |dep| | ||
| 10 | gem dep.name, dep.requirement | ||
| 11 | end | ||
| 12 | |||
| 13 | gem "rubocop", "= 0.48.0" | ||
| 14 | |||
| 15 | Gem.finish_resolve if Gem.respond_to?(:finish_resolve) | ||
| 16 | |||
| 17 | load Gem.bin_path("rubocop", "rubocop") |
| 1 | #!/usr/bin/env ruby | ||
| 2 | # frozen_string_literal: true | ||
| 3 | |||
| 4 | require "pathname" | ||
| 5 | |||
| 6 | def run(*cmd) | ||
| 7 | return if system(*cmd) | ||
| 8 | raise "Running `#{cmd.join(" ")}` failed" | ||
| 9 | end | ||
| 10 | |||
| 11 | version = ENV.delete("RGV") | ||
| 12 | rubygems_path = Pathname.new(__FILE__).join("../../tmp/rubygems").expand_path | ||
| 13 | unless rubygems_path.directory? | ||
| 14 | rubygems_path.parent.mkpath unless rubygems_path.directory? | ||
| 15 | run("git", "clone", "https://github.com/rubygems/rubygems.git", rubygems_path.to_s) | ||
| 16 | end | ||
| 17 | Dir.chdir(rubygems_path) do | ||
| 18 | version = "v#{version}" if version =~ /\A\d/ | ||
| 19 | run("git", "checkout", version, "--quiet") | ||
| 20 | end if version | ||
| 21 | |||
| 22 | rubygems_lib = rubygems_path + "lib" | ||
| 23 | ENV["RUBYOPT"] = %(-I#{rubygems_lib} #{ENV["RUBYOPT"]}) | ||
| 24 | |||
| 25 | if $0 != __FILE__ | ||
| 26 | ARGV.unshift($0) | ||
| 27 | elsif cmd = ARGV.first | ||
| 28 | possible_dirs = [ | ||
| 29 | Pathname.new(__FILE__) + "..", | ||
| 30 | Pathname.new(__FILE__) + "../../exe", | ||
| 31 | rubygems_path + "bin", | ||
| 32 | ] | ||
| 33 | cmd = possible_dirs.map do |dir| | ||
| 34 | dir.join(cmd).expand_path | ||
| 35 | end.find(&:file?) | ||
| 36 | ARGV[0] = cmd.to_s if cmd | ||
| 37 | end | ||
| 38 | |||
| 39 | exec(*ARGV) |
| 1 | # coding: utf-8 | ||
| 2 | # frozen_string_literal: true | ||
| 3 | lib = File.expand_path("../lib/", __FILE__) | ||
| 4 | $:.unshift lib unless $:.include?(lib) | ||
| 5 | require "bundler/version" | ||
| 6 | |||
| 7 | Gem::Specification.new do |s| | ||
| 8 | s.name = "bundler" | ||
| 9 | s.version = Bundler::VERSION | ||
| 10 | s.license = "MIT" | ||
| 11 | s.authors = [ | ||
| 12 | "André Arko", "Samuel Giddins", "Chris Morris", "James Wen", "Tim Moore", | ||
| 13 | "André Medeiros", "Jessica Lynn Suttles", "Terence Lee", "Carl Lerche", | ||
| 14 | "Yehuda Katz" | ||
| 15 | ] | ||
| 16 | s.email = ["team@bundler.io"] | ||
| 17 | s.homepage = "http://bundler.io" | ||
| 18 | s.summary = "The best way to manage your application's dependencies" | ||
| 19 | s.description = "Bundler manages an application's dependencies through its entire life, across many machines, systematically and repeatably" | ||
| 20 | |||
| 21 | if s.respond_to?(:metadata=) | ||
| 22 | s.metadata = { | ||
| 23 | "bug_tracker_uri" => "http://github.com/bundler/bundler/issues", | ||
| 24 | "changelog_uri" => "https://github.com/bundler/bundler/blob/master/CHANGELOG.md", | ||
| 25 | "homepage_uri" => "https://bundler.io/", | ||
| 26 | "source_code_uri" => "http://github.com/bundler/bundler/", | ||
| 27 | } | ||
| 28 | end | ||
| 29 | |||
| 30 | s.required_ruby_version = ">= 1.8.7" | ||
| 31 | s.required_rubygems_version = ">= 1.3.6" | ||
| 32 | |||
| 33 | s.add_development_dependency "automatiek", "~> 0.1.0" | ||
| 34 | s.add_development_dependency "mustache", "0.99.6" | ||
| 35 | s.add_development_dependency "rake", "~> 10.0" | ||
| 36 | s.add_development_dependency "rdiscount", "~> 2.2" | ||
| 37 | s.add_development_dependency "ronn", "~> 0.7.3" | ||
| 38 | s.add_development_dependency "rspec", "~> 3.5" | ||
| 39 | |||
| 40 | s.files = `git ls-files -z`.split("\x0").reject {|f| f.match(%r{^(test|spec|features)/}) } | ||
| 41 | # we don't check in man pages, but we need to ship them because | ||
| 42 | # we use them to generate the long-form help for each command. | ||
| 43 | s.files += Dir.glob("man/**/*") | ||
| 44 | |||
| 45 | s.bindir = "exe" | ||
| 46 | s.executables = %w(bundle bundler) | ||
| 47 | s.require_paths = ["lib"] | ||
| 48 | end |
| 1 | # Docs: Contributing and developing Bundler | ||
| 2 | |||
| 3 | _If you're looking for documentation on how to use Bundler: visit [bundler.io](http://bundler.io/), or run `bundle help` from the command line. You may also be interested in [troubleshooting common issues](TROUBLESHOOTING.md) found when using Bundler._ | ||
| 4 | |||
| 5 | Bundler welcomes contributions from *everyone*. While contributing, please follow the project [code of conduct](http://bundler.io/conduct.html), so that everyone can be included. | ||
| 6 | |||
| 7 | If you'd like to help make Bundler better, you totally rock! Thanks for helping us make Bundler better. | ||
| 8 | |||
| 9 | ## Contributing | ||
| 10 | |||
| 11 | * [Overview & getting started](contributing/README.md) | ||
| 12 | * [How you can help: your first contributions!](contributing/HOW_YOU_CAN_HELP.md) | ||
| 13 | * [Bug triage](contributing/BUG_TRIAGE.md) | ||
| 14 | * [Getting help](contributing/GETTING_HELP.md) | ||
| 15 | * [Filing issues](contributing/ISSUES.md) | ||
| 16 | * [Community](contributing/COMMUNITY.md) | ||
| 17 | |||
| 18 | ## Development | ||
| 19 | |||
| 20 | * [Overview](development/README.md) | ||
| 21 | * [Development setup](development/SETUP.md) | ||
| 22 | * [Submitting pull requests](development/PULL_REQUESTS.md) | ||
| 23 | * [Adding new features](development/NEW_FEATURES.md) | ||
| 24 | * [Releasing Bundler](development/RELEASING.md) | ||
| 25 | |||
| 26 | ## Documentation | ||
| 27 | |||
| 28 | * [Overview](documentation/README.md) | ||
| 29 | * [Writing docs for man pages](documentation/WRITING.md) | ||
| 30 | * [Documentation vision](documentation/VISION.md) |
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
vendor/bundle/ruby/3.1.0/gems/bundler-1.15.1/lib/bundler/ssl_certs/certificate_manager.rb
0 → 100644
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
vendor/bundle/ruby/3.1.0/gems/bundler-1.15.1/lib/bundler/templates/newgem/CODE_OF_CONDUCT.md.tt
0 → 100644
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
vendor/bundle/ruby/3.1.0/gems/bundler-1.15.1/lib/bundler/templates/newgem/ext/newgem/extconf.rb.tt
0 → 100644
This diff is collapsed.
Click to expand it.
vendor/bundle/ruby/3.1.0/gems/bundler-1.15.1/lib/bundler/templates/newgem/ext/newgem/newgem.c.tt
0 → 100644
This diff is collapsed.
Click to expand it.
vendor/bundle/ruby/3.1.0/gems/bundler-1.15.1/lib/bundler/templates/newgem/ext/newgem/newgem.h.tt
0 → 100644
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
vendor/bundle/ruby/3.1.0/gems/bundler-1.15.1/lib/bundler/templates/newgem/lib/newgem.rb.tt
0 → 100644
This diff is collapsed.
Click to expand it.
vendor/bundle/ruby/3.1.0/gems/bundler-1.15.1/lib/bundler/templates/newgem/lib/newgem/version.rb.tt
0 → 100644
This diff is collapsed.
Click to expand it.
vendor/bundle/ruby/3.1.0/gems/bundler-1.15.1/lib/bundler/templates/newgem/newgem.gemspec.tt
0 → 100644
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
vendor/bundle/ruby/3.1.0/gems/bundler-1.15.1/lib/bundler/templates/newgem/spec/newgem_spec.rb.tt
0 → 100644
This diff is collapsed.
Click to expand it.
vendor/bundle/ruby/3.1.0/gems/bundler-1.15.1/lib/bundler/templates/newgem/spec/spec_helper.rb.tt
0 → 100644
This diff is collapsed.
Click to expand it.
vendor/bundle/ruby/3.1.0/gems/bundler-1.15.1/lib/bundler/templates/newgem/test/newgem_test.rb.tt
0 → 100644
This diff is collapsed.
Click to expand it.
vendor/bundle/ruby/3.1.0/gems/bundler-1.15.1/lib/bundler/templates/newgem/test/test_helper.rb.tt
0 → 100644
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
vendor/bundle/ruby/3.1.0/gems/bundler-1.15.1/lib/bundler/vendor/molinillo/lib/molinillo.rb
0 → 100644
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
vendor/bundle/ruby/3.1.0/gems/bundler-1.15.1/lib/bundler/vendor/molinillo/lib/molinillo/errors.rb
0 → 100644
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
vendor/bundle/ruby/3.1.0/gems/bundler-1.15.1/lib/bundler/vendor/molinillo/lib/molinillo/resolver.rb
0 → 100644
This diff is collapsed.
Click to expand it.
vendor/bundle/ruby/3.1.0/gems/bundler-1.15.1/lib/bundler/vendor/molinillo/lib/molinillo/state.rb
0 → 100644
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
vendor/bundle/ruby/3.1.0/gems/bundler-1.15.1/lib/bundler/vendor/postit/lib/postit/environment.rb
0 → 100644
This diff is collapsed.
Click to expand it.
vendor/bundle/ruby/3.1.0/gems/bundler-1.15.1/lib/bundler/vendor/postit/lib/postit/installer.rb
0 → 100644
This diff is collapsed.
Click to expand it.
vendor/bundle/ruby/3.1.0/gems/bundler-1.15.1/lib/bundler/vendor/postit/lib/postit/parser.rb
0 → 100644
This diff is collapsed.
Click to expand it.
vendor/bundle/ruby/3.1.0/gems/bundler-1.15.1/lib/bundler/vendor/postit/lib/postit/setup.rb
0 → 100644
This diff is collapsed.
Click to expand it.
vendor/bundle/ruby/3.1.0/gems/bundler-1.15.1/lib/bundler/vendor/postit/lib/postit/version.rb
0 → 100644
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
vendor/bundle/ruby/3.1.0/gems/bundler-1.15.1/lib/bundler/vendor/thor/lib/thor/actions/create_file.rb
0 → 100644
This diff is collapsed.
Click to expand it.
vendor/bundle/ruby/3.1.0/gems/bundler-1.15.1/lib/bundler/vendor/thor/lib/thor/actions/create_link.rb
0 → 100644
This diff is collapsed.
Click to expand it.
vendor/bundle/ruby/3.1.0/gems/bundler-1.15.1/lib/bundler/vendor/thor/lib/thor/actions/directory.rb
0 → 100644
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
vendor/bundle/ruby/3.1.0/gems/bundler-1.15.1/lib/bundler/vendor/thor/lib/thor/invocation.rb
0 → 100644
This diff is collapsed.
Click to expand it.
vendor/bundle/ruby/3.1.0/gems/bundler-1.15.1/lib/bundler/vendor/thor/lib/thor/line_editor.rb
0 → 100644
This diff is collapsed.
Click to expand it.
vendor/bundle/ruby/3.1.0/gems/bundler-1.15.1/lib/bundler/vendor/thor/lib/thor/line_editor/basic.rb
0 → 100644
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
vendor/bundle/ruby/3.1.0/gems/bundler-1.15.1/lib/bundler/vendor/thor/lib/thor/parser/argument.rb
0 → 100644
This diff is collapsed.
Click to expand it.
vendor/bundle/ruby/3.1.0/gems/bundler-1.15.1/lib/bundler/vendor/thor/lib/thor/parser/arguments.rb
0 → 100644
This diff is collapsed.
Click to expand it.
vendor/bundle/ruby/3.1.0/gems/bundler-1.15.1/lib/bundler/vendor/thor/lib/thor/parser/option.rb
0 → 100644
This diff is collapsed.
Click to expand it.
vendor/bundle/ruby/3.1.0/gems/bundler-1.15.1/lib/bundler/vendor/thor/lib/thor/parser/options.rb
0 → 100644
This diff is collapsed.
Click to expand it.
vendor/bundle/ruby/3.1.0/gems/bundler-1.15.1/lib/bundler/vendor/thor/lib/thor/rake_compat.rb
0 → 100644
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
vendor/bundle/ruby/3.1.0/gems/bundler-1.15.1/lib/bundler/vendor/thor/lib/thor/shell/basic.rb
0 → 100644
This diff is collapsed.
Click to expand it.
vendor/bundle/ruby/3.1.0/gems/bundler-1.15.1/lib/bundler/vendor/thor/lib/thor/shell/color.rb
0 → 100644
This diff is collapsed.
Click to expand it.
vendor/bundle/ruby/3.1.0/gems/bundler-1.15.1/lib/bundler/vendor/thor/lib/thor/shell/html.rb
0 → 100644
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
vendor/bundle/ruby/3.1.0/gems/capistrano-3.10.1/features/step_definitions/cap_commands.rb
0 → 100644
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
vendor/bundle/ruby/3.1.0/gems/capistrano-3.10.1/features/support/remote_command_helpers.rb
0 → 100644
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
vendor/bundle/ruby/3.1.0/gems/capistrano-3.10.1/lib/capistrano/configuration/empty_filter.rb
0 → 100644
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
vendor/bundle/ruby/3.1.0/gems/capistrano-3.10.1/lib/capistrano/configuration/host_filter.rb
0 → 100644
This diff is collapsed.
Click to expand it.
vendor/bundle/ruby/3.1.0/gems/capistrano-3.10.1/lib/capistrano/configuration/null_filter.rb
0 → 100644
This diff is collapsed.
Click to expand it.
vendor/bundle/ruby/3.1.0/gems/capistrano-3.10.1/lib/capistrano/configuration/plugin_installer.rb
0 → 100644
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
vendor/bundle/ruby/3.1.0/gems/capistrano-3.10.1/lib/capistrano/configuration/role_filter.rb
0 → 100644
This diff is collapsed.
Click to expand it.
vendor/bundle/ruby/3.1.0/gems/capistrano-3.10.1/lib/capistrano/configuration/scm_resolver.rb
0 → 100644
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
vendor/bundle/ruby/3.1.0/gems/capistrano-3.10.1/lib/capistrano/configuration/validated_variables.rb
0 → 100644
This diff is collapsed.
Click to expand it.
vendor/bundle/ruby/3.1.0/gems/capistrano-3.10.1/lib/capistrano/configuration/variables.rb
0 → 100644
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
vendor/bundle/ruby/3.1.0/gems/capistrano-3.10.1/lib/capistrano/doctor/environment_doctor.rb
0 → 100644
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
vendor/bundle/ruby/3.1.0/gems/capistrano-3.10.1/lib/capistrano/doctor/variables_doctor.rb
0 → 100644
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
vendor/bundle/ruby/3.1.0/gems/capistrano-3.10.1/spec/lib/capistrano/configuration/filter_spec.rb
0 → 100644
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
vendor/bundle/ruby/3.1.0/gems/capistrano-3.10.1/spec/lib/capistrano/configuration/question_spec.rb
0 → 100644
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
vendor/bundle/ruby/3.1.0/gems/capistrano-3.10.1/spec/lib/capistrano/configuration/server_spec.rb
0 → 100644
This diff is collapsed.
Click to expand it.
vendor/bundle/ruby/3.1.0/gems/capistrano-3.10.1/spec/lib/capistrano/configuration/servers_spec.rb
0 → 100644
This diff is collapsed.
Click to expand it.
vendor/bundle/ruby/3.1.0/gems/capistrano-3.10.1/spec/lib/capistrano/configuration_spec.rb
0 → 100644
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
vendor/bundle/ruby/3.1.0/gems/capistrano-3.10.1/spec/lib/capistrano/doctor/gems_doctor_spec.rb
0 → 100644
This diff is collapsed.
Click to expand it.
vendor/bundle/ruby/3.1.0/gems/capistrano-3.10.1/spec/lib/capistrano/doctor/output_helpers_spec.rb
0 → 100644
This diff is collapsed.
Click to expand it.
vendor/bundle/ruby/3.1.0/gems/capistrano-3.10.1/spec/lib/capistrano/doctor/servers_doctor_spec.rb
0 → 100644
This diff is collapsed.
Click to expand it.
vendor/bundle/ruby/3.1.0/gems/capistrano-3.10.1/spec/lib/capistrano/doctor/variables_doctor_spec.rb
0 → 100644
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
vendor/bundle/ruby/3.1.0/gems/capistrano-3.10.1/spec/lib/capistrano/dsl/task_enhancements_spec.rb
0 → 100644
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
vendor/bundle/ruby/3.1.0/gems/capistrano-3.10.1/spec/lib/capistrano/immutable_task_spec.rb
0 → 100644
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
vendor/bundle/ruby/3.1.0/gems/capistrano-3.10.1/spec/lib/capistrano/version_validator_spec.rb
0 → 100644
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
vendor/bundle/ruby/3.1.0/gems/capistrano-composer-0.0.6/lib/capistrano/tasks/composer.rake
0 → 100644
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
vendor/bundle/ruby/3.1.0/gems/concurrent-ruby-1.0.5/lib/concurrent/atomic/atomic_boolean.rb
0 → 100644
This diff is collapsed.
Click to expand it.
vendor/bundle/ruby/3.1.0/gems/concurrent-ruby-1.0.5/lib/concurrent/atomic/atomic_fixnum.rb
0 → 100644
This diff is collapsed.
Click to expand it.
vendor/bundle/ruby/3.1.0/gems/concurrent-ruby-1.0.5/lib/concurrent/atomic/atomic_reference.rb
0 → 100644
This diff is collapsed.
Click to expand it.
vendor/bundle/ruby/3.1.0/gems/concurrent-ruby-1.0.5/lib/concurrent/atomic/count_down_latch.rb
0 → 100644
This diff is collapsed.
Click to expand it.
vendor/bundle/ruby/3.1.0/gems/concurrent-ruby-1.0.5/lib/concurrent/atomic/cyclic_barrier.rb
0 → 100644
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
vendor/bundle/ruby/3.1.0/gems/concurrent-ruby-1.0.5/lib/concurrent/atomic/java_count_down_latch.rb
0 → 100644
This diff is collapsed.
Click to expand it.
vendor/bundle/ruby/3.1.0/gems/concurrent-ruby-1.0.5/lib/concurrent/atomic/java_thread_local_var.rb
0 → 100644
This diff is collapsed.
Click to expand it.
vendor/bundle/ruby/3.1.0/gems/concurrent-ruby-1.0.5/lib/concurrent/atomic/mutex_atomic_boolean.rb
0 → 100644
This diff is collapsed.
Click to expand it.
vendor/bundle/ruby/3.1.0/gems/concurrent-ruby-1.0.5/lib/concurrent/atomic/mutex_atomic_fixnum.rb
0 → 100644
This diff is collapsed.
Click to expand it.
vendor/bundle/ruby/3.1.0/gems/concurrent-ruby-1.0.5/lib/concurrent/atomic/mutex_count_down_latch.rb
0 → 100644
This diff is collapsed.
Click to expand it.
vendor/bundle/ruby/3.1.0/gems/concurrent-ruby-1.0.5/lib/concurrent/atomic/mutex_semaphore.rb
0 → 100644
This diff is collapsed.
Click to expand it.
vendor/bundle/ruby/3.1.0/gems/concurrent-ruby-1.0.5/lib/concurrent/atomic/read_write_lock.rb
0 → 100644
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
vendor/bundle/ruby/3.1.0/gems/concurrent-ruby-1.0.5/lib/concurrent/atomic/ruby_thread_local_var.rb
0 → 100644
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
vendor/bundle/ruby/3.1.0/gems/concurrent-ruby-1.0.5/lib/concurrent/atomic/thread_local_var.rb
0 → 100644
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
vendor/bundle/ruby/3.1.0/gems/concurrent-ruby-1.0.5/lib/concurrent/atomic_reference/direct_update.rb
0 → 100644
This diff is collapsed.
Click to expand it.
vendor/bundle/ruby/3.1.0/gems/concurrent-ruby-1.0.5/lib/concurrent/atomic_reference/jruby+truffle.rb
0 → 100644
This diff is collapsed.
Click to expand it.
vendor/bundle/ruby/3.1.0/gems/concurrent-ruby-1.0.5/lib/concurrent/atomic_reference/jruby.rb
0 → 100644
This diff is collapsed.
Click to expand it.
vendor/bundle/ruby/3.1.0/gems/concurrent-ruby-1.0.5/lib/concurrent/atomic_reference/mutex_atomic.rb
0 → 100644
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
vendor/bundle/ruby/3.1.0/gems/concurrent-ruby-1.0.5/lib/concurrent/atomic_reference/rbx.rb
0 → 100644
This diff is collapsed.
Click to expand it.
vendor/bundle/ruby/3.1.0/gems/concurrent-ruby-1.0.5/lib/concurrent/atomic_reference/ruby.rb
0 → 100644
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
vendor/bundle/ruby/3.1.0/gems/concurrent-ruby-1.0.5/lib/concurrent/collection/map/mri_map_backend.rb
0 → 100644
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
vendor/bundle/ruby/3.1.0/gems/concurrent-ruby-1.0.5/lib/concurrent/concern/deprecation.rb
0 → 100644
This diff is collapsed.
Click to expand it.
vendor/bundle/ruby/3.1.0/gems/concurrent-ruby-1.0.5/lib/concurrent/concern/dereferenceable.rb
0 → 100644
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
vendor/bundle/ruby/3.1.0/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/cached_thread_pool.rb
0 → 100644
This diff is collapsed.
Click to expand it.
vendor/bundle/ruby/3.1.0/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/executor_service.rb
0 → 100644
This diff is collapsed.
Click to expand it.
vendor/bundle/ruby/3.1.0/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/fixed_thread_pool.rb
0 → 100644
This diff is collapsed.
Click to expand it.
vendor/bundle/ruby/3.1.0/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/immediate_executor.rb
0 → 100644
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
vendor/bundle/ruby/3.1.0/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/java_executor_service.rb
0 → 100644
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
vendor/bundle/ruby/3.1.0/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/ruby_executor_service.rb
0 → 100644
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
vendor/bundle/ruby/3.1.0/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/safe_task_executor.rb
0 → 100644
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
vendor/bundle/ruby/3.1.0/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/serialized_execution.rb
0 → 100644
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
vendor/bundle/ruby/3.1.0/gems/concurrent-ruby-1.0.5/lib/concurrent/executor/thread_pool_executor.rb
0 → 100644
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
vendor/bundle/ruby/3.1.0/gems/concurrent-ruby-1.0.5/lib/concurrent/synchronization/condition.rb
0 → 100644
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
vendor/bundle/ruby/3.1.0/gems/concurrent-ruby-1.0.5/lib/concurrent/synchronization/jruby_object.rb
0 → 100644
This diff is collapsed.
Click to expand it.
vendor/bundle/ruby/3.1.0/gems/concurrent-ruby-1.0.5/lib/concurrent/synchronization/lock.rb
0 → 100644
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
vendor/bundle/ruby/3.1.0/gems/concurrent-ruby-1.0.5/lib/concurrent/synchronization/mri_object.rb
0 → 100644
This diff is collapsed.
Click to expand it.
vendor/bundle/ruby/3.1.0/gems/concurrent-ruby-1.0.5/lib/concurrent/synchronization/object.rb
0 → 100644
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
vendor/bundle/ruby/3.1.0/gems/concurrent-ruby-1.0.5/lib/concurrent/synchronization/rbx_object.rb
0 → 100644
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
vendor/bundle/ruby/3.1.0/gems/concurrent-ruby-1.0.5/lib/concurrent/synchronization/truffle_object.rb
0 → 100644
This diff is collapsed.
Click to expand it.
vendor/bundle/ruby/3.1.0/gems/concurrent-ruby-1.0.5/lib/concurrent/synchronization/volatile.rb
0 → 100644
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
vendor/bundle/ruby/3.1.0/gems/concurrent-ruby-1.0.5/lib/concurrent/thread_safe/util/adder.rb
0 → 100644
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
vendor/bundle/ruby/3.1.0/gems/concurrent-ruby-1.0.5/lib/concurrent/thread_safe/util/striped64.rb
0 → 100644
This diff is collapsed.
Click to expand it.
vendor/bundle/ruby/3.1.0/gems/concurrent-ruby-1.0.5/lib/concurrent/thread_safe/util/volatile.rb
0 → 100644
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
vendor/bundle/ruby/3.1.0/gems/concurrent-ruby-1.0.5/lib/concurrent/utility/monotonic_time.rb
0 → 100644
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
vendor/bundle/ruby/3.1.0/gems/concurrent-ruby-1.0.5/lib/concurrent/utility/native_integer.rb
0 → 100644
This diff is collapsed.
Click to expand it.
vendor/bundle/ruby/3.1.0/gems/concurrent-ruby-1.0.5/lib/concurrent/utility/processor_counter.rb
0 → 100644
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
vendor/bundle/ruby/3.1.0/gems/net-ssh-4.2.0/lib/net/ssh/authentication/methods/abstract.rb
0 → 100644
This diff is collapsed.
Click to expand it.
vendor/bundle/ruby/3.1.0/gems/net-ssh-4.2.0/lib/net/ssh/authentication/methods/hostbased.rb
0 → 100644
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
vendor/bundle/ruby/3.1.0/gems/net-ssh-4.2.0/lib/net/ssh/authentication/methods/password.rb
0 → 100644
This diff is collapsed.
Click to expand it.
vendor/bundle/ruby/3.1.0/gems/net-ssh-4.2.0/lib/net/ssh/authentication/methods/publickey.rb
0 → 100644
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
vendor/bundle/ruby/3.1.0/gems/net-ssh-4.2.0/lib/net/ssh/transport/kex/diffie_hellman_group14_sha1.rb
0 → 100644
This diff is collapsed.
Click to expand it.
vendor/bundle/ruby/3.1.0/gems/net-ssh-4.2.0/lib/net/ssh/transport/kex/diffie_hellman_group1_sha1.rb
0 → 100644
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
vendor/bundle/ruby/3.1.0/gems/net-ssh-4.2.0/lib/net/ssh/transport/kex/ecdh_sha2_nistp256.rb
0 → 100644
This diff is collapsed.
Click to expand it.
vendor/bundle/ruby/3.1.0/gems/net-ssh-4.2.0/lib/net/ssh/transport/kex/ecdh_sha2_nistp384.rb
0 → 100644
This diff is collapsed.
Click to expand it.
vendor/bundle/ruby/3.1.0/gems/net-ssh-4.2.0/lib/net/ssh/transport/kex/ecdh_sha2_nistp521.rb
0 → 100644
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
4.85 KB
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
vendor/bundle/ruby/3.1.0/gems/sshkit-1.15.1/lib/sshkit/backends/connection_pool/nil_cache.rb
0 → 100644
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
vendor/bundle/ruby/3.1.0/gems/sshkit-1.15.1/test/unit/test_mapping_interaction_handler.rb
0 → 100644
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
vendor/composer/ClassLoader.php
0 → 100644
This diff is collapsed.
Click to expand it.
vendor/composer/InstalledVersions.php
0 → 100644
This diff is collapsed.
Click to expand it.
vendor/composer/LICENSE
0 → 100644
This diff is collapsed.
Click to expand it.
-
Please register or sign in to post a comment