travis 1.11.0 → 1.12.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (156) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +18 -4
  3. data/Rakefile +22 -20
  4. data/bin/travis +5 -3
  5. data/examples/org_overview.rb +2 -0
  6. data/examples/pro_auth.rb +3 -1
  7. data/examples/stream.rb +5 -3
  8. data/lib/travis/auto_login.rb +2 -0
  9. data/lib/travis/cli/accounts.rb +12 -9
  10. data/lib/travis/cli/api_command.rb +85 -81
  11. data/lib/travis/cli/branches.rb +8 -6
  12. data/lib/travis/cli/cache.rb +48 -44
  13. data/lib/travis/cli/cancel.rb +4 -2
  14. data/lib/travis/cli/command.rb +170 -142
  15. data/lib/travis/cli/console.rb +5 -5
  16. data/lib/travis/cli/disable.rb +4 -2
  17. data/lib/travis/cli/enable.rb +14 -12
  18. data/lib/travis/cli/encrypt.rb +57 -57
  19. data/lib/travis/cli/encrypt_file.rb +29 -18
  20. data/lib/travis/cli/endpoint.rb +9 -7
  21. data/lib/travis/cli/env.rb +13 -8
  22. data/lib/travis/cli/help.rb +10 -8
  23. data/lib/travis/cli/history.rb +19 -15
  24. data/lib/travis/cli/init.rb +27 -24
  25. data/lib/travis/cli/lint.rb +10 -8
  26. data/lib/travis/cli/login.rb +17 -11
  27. data/lib/travis/cli/logout.rb +4 -2
  28. data/lib/travis/cli/logs.rb +28 -19
  29. data/lib/travis/cli/monitor.rb +11 -8
  30. data/lib/travis/cli/open.rb +17 -14
  31. data/lib/travis/cli/parser.rb +2 -0
  32. data/lib/travis/cli/pubkey.rb +13 -11
  33. data/lib/travis/cli/raw.rb +4 -3
  34. data/lib/travis/cli/repo_command.rb +123 -112
  35. data/lib/travis/cli/report.rb +40 -33
  36. data/lib/travis/cli/repos.rb +14 -9
  37. data/lib/travis/cli/requests.rb +13 -12
  38. data/lib/travis/cli/restart.rb +4 -2
  39. data/lib/travis/cli/settings.rb +41 -35
  40. data/lib/travis/cli/setup/anynines.rb +7 -6
  41. data/lib/travis/cli/setup/appfog.rb +6 -4
  42. data/lib/travis/cli/setup/artifacts.rb +7 -5
  43. data/lib/travis/cli/setup/biicode.rb +6 -4
  44. data/lib/travis/cli/setup/cloud_66.rb +6 -4
  45. data/lib/travis/cli/setup/cloud_control.rb +8 -6
  46. data/lib/travis/cli/setup/cloud_files.rb +7 -5
  47. data/lib/travis/cli/setup/cloud_foundry.rb +9 -7
  48. data/lib/travis/cli/setup/code_deploy.rb +33 -29
  49. data/lib/travis/cli/setup/deis.rb +8 -6
  50. data/lib/travis/cli/setup/divshot.rb +20 -18
  51. data/lib/travis/cli/setup/elastic_beanstalk.rb +10 -8
  52. data/lib/travis/cli/setup/engine_yard.rb +9 -7
  53. data/lib/travis/cli/setup/gcs.rb +9 -7
  54. data/lib/travis/cli/setup/hackage.rb +6 -4
  55. data/lib/travis/cli/setup/heroku.rb +10 -4
  56. data/lib/travis/cli/setup/modulus.rb +5 -3
  57. data/lib/travis/cli/setup/ninefold.rb +7 -5
  58. data/lib/travis/cli/setup/nodejitsu.rb +6 -4
  59. data/lib/travis/cli/setup/npm.rb +6 -4
  60. data/lib/travis/cli/setup/open_shift.rb +8 -6
  61. data/lib/travis/cli/setup/opsworks.rb +24 -22
  62. data/lib/travis/cli/setup/pypi.rb +7 -5
  63. data/lib/travis/cli/setup/releases.rb +6 -6
  64. data/lib/travis/cli/setup/ruby_gems.rb +7 -5
  65. data/lib/travis/cli/setup/s3.rb +12 -8
  66. data/lib/travis/cli/setup/sauce_connect.rb +7 -5
  67. data/lib/travis/cli/setup/service.rb +36 -25
  68. data/lib/travis/cli/setup.rb +7 -3
  69. data/lib/travis/cli/show.rb +10 -8
  70. data/lib/travis/cli/sshkey.rb +31 -28
  71. data/lib/travis/cli/status.rb +5 -3
  72. data/lib/travis/cli/sync.rb +9 -7
  73. data/lib/travis/cli/token.rb +4 -2
  74. data/lib/travis/cli/version.rb +4 -3
  75. data/lib/travis/cli/whatsup.rb +10 -8
  76. data/lib/travis/cli/whoami.rb +2 -2
  77. data/lib/travis/cli.rb +39 -36
  78. data/lib/travis/client/account.rb +8 -6
  79. data/lib/travis/client/artifact.rb +16 -12
  80. data/lib/travis/client/auto_login.rb +7 -4
  81. data/lib/travis/client/broadcast.rb +2 -0
  82. data/lib/travis/client/build.rb +7 -3
  83. data/lib/travis/client/cache.rb +4 -2
  84. data/lib/travis/client/commit.rb +5 -2
  85. data/lib/travis/client/entity.rb +50 -46
  86. data/lib/travis/client/env_var.rb +13 -8
  87. data/lib/travis/client/error.rb +5 -3
  88. data/lib/travis/client/has_uuid.rb +3 -1
  89. data/lib/travis/client/job.rb +8 -3
  90. data/lib/travis/client/lint_result.rb +2 -0
  91. data/lib/travis/client/listener.rb +70 -55
  92. data/lib/travis/client/methods.rb +10 -5
  93. data/lib/travis/client/namespace.rb +20 -16
  94. data/lib/travis/client/not_loadable.rb +3 -1
  95. data/lib/travis/client/repository.rb +34 -22
  96. data/lib/travis/client/request.rb +5 -2
  97. data/lib/travis/client/restartable.rb +2 -0
  98. data/lib/travis/client/session.rb +118 -88
  99. data/lib/travis/client/settings.rb +8 -3
  100. data/lib/travis/client/singleton_setting.rb +2 -0
  101. data/lib/travis/client/ssh_key.rb +2 -0
  102. data/lib/travis/client/states.rb +8 -6
  103. data/lib/travis/client/user.rb +2 -0
  104. data/lib/travis/client/weak_entity.rb +6 -3
  105. data/lib/travis/client.rb +4 -1
  106. data/lib/travis/pro/auto_login.rb +2 -0
  107. data/lib/travis/pro.rb +2 -0
  108. data/lib/travis/tools/assets.rb +6 -3
  109. data/lib/travis/tools/completion.rb +10 -6
  110. data/lib/travis/tools/formatter.rb +20 -14
  111. data/lib/travis/tools/github.rb +59 -49
  112. data/lib/travis/tools/notification.rb +18 -13
  113. data/lib/travis/tools/safe_string.rb +4 -1
  114. data/lib/travis/tools/ssl_key.rb +5 -2
  115. data/lib/travis/tools/system.rb +11 -6
  116. data/lib/travis/version.rb +3 -1
  117. data/lib/travis.rb +3 -1
  118. data/spec/cli/api_command_spec.rb +11 -8
  119. data/spec/cli/cancel_spec.rb +2 -4
  120. data/spec/cli/encrypt_file_spec.rb +9 -7
  121. data/spec/cli/encrypt_spec.rb +19 -17
  122. data/spec/cli/endpoint_spec.rb +12 -10
  123. data/spec/cli/help_spec.rb +14 -12
  124. data/spec/cli/history_spec.rb +2 -0
  125. data/spec/cli/init_spec.rb +35 -33
  126. data/spec/cli/logs_spec.rb +2 -0
  127. data/spec/cli/open_spec.rb +6 -4
  128. data/spec/cli/repo_command_spec.rb +8 -4
  129. data/spec/cli/restart_spec.rb +2 -4
  130. data/spec/cli/setup/service_spec.rb +17 -18
  131. data/spec/cli/setup_spec.rb +2 -4
  132. data/spec/cli/show_spec.rb +4 -2
  133. data/spec/cli/status_spec.rb +7 -5
  134. data/spec/cli/token_spec.rb +7 -5
  135. data/spec/cli/version_spec.rb +2 -0
  136. data/spec/cli/whoami_spec.rb +9 -7
  137. data/spec/client/account_spec.rb +28 -20
  138. data/spec/client/auto_login_spec.rb +12 -9
  139. data/spec/client/broadcast_spec.rb +5 -3
  140. data/spec/client/build_spec.rb +28 -24
  141. data/spec/client/commit_spec.rb +17 -14
  142. data/spec/client/job_spec.rb +27 -23
  143. data/spec/client/methods_spec.rb +8 -4
  144. data/spec/client/namespace_spec.rb +8 -4
  145. data/spec/client/repository_spec.rb +33 -30
  146. data/spec/client/session_spec.rb +71 -67
  147. data/spec/client/user_spec.rb +13 -10
  148. data/spec/client_spec.rb +6 -4
  149. data/spec/pro_spec.rb +5 -3
  150. data/spec/spec_helper.rb +3 -1
  151. data/spec/support/fake_api.rb +662 -662
  152. data/spec/support/fake_github.rb +6 -3
  153. data/spec/support/helpers.rb +13 -8
  154. data/spec/travis_spec.rb +5 -3
  155. data/travis.gemspec +400 -399
  156. metadata +30 -50
@@ -1,65 +1,72 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'travis/cli'
2
4
  require 'travis/tools/system'
3
5
 
4
6
  module Travis
5
7
  module CLI
6
8
  class Report < ApiCommand
7
- description "generates a report useful for filing issues"
9
+ description 'generates a report useful for filing issues'
8
10
  on '-r', '--known-repos', 'include repositories in report'
9
11
  skip :authenticate, :clear_error
10
12
 
11
13
  def run
12
- display("System", :general)
13
- display("CLI", :cli_info)
14
- display("Session", :session_info)
15
- display("Endpoints", :endpoints)
16
- display("Known Repositories", :known_repos) if known_repos?
14
+ display('System', :general)
15
+ display('CLI', :cli_info)
16
+ display('Session', :session_info)
17
+ display('Endpoints', :endpoints)
18
+ display('Known Repositories', :known_repos) if known_repos?
17
19
  display_error
18
- say "For issues with the command line tool, please visit #{color("https://github.com/travis-ci/travis.rb/issues", :underline)}."
19
- say "For Travis CI in general, go to #{color("https://github.com/travis-ci/travis-ci/issues", :underline)} or email #{color("support@travis-ci.com", :underline)}."
20
+ say "For issues with the command line tool, please visit #{color(
21
+ 'https://github.com/travis-ci/travis.rb/issues', :underline
22
+ )}."
23
+ say "For Travis CI in general, go to #{color('https://github.com/travis-ci/travis-ci/issues',
24
+ :underline)} or email #{color('support@travis-ci.com',
25
+ :underline)}."
20
26
  end
21
27
 
22
28
  def display_error
23
- return unless error = load_file("error.log")
24
- display("Last Exception", :say, color(error, :info))
29
+ return unless (error = load_file('error.log'))
30
+
31
+ display('Last Exception', :say, color(error, :info))
25
32
  end
26
33
 
27
34
  def display(title, method, *args)
28
- say color(title, [:bold, :underline])
35
+ say color(title, %i[bold underline])
29
36
  send(method, *args) { |*a| list(*a) }
30
37
  puts
31
38
  end
32
39
 
33
40
  def list(key, value, additional = nil)
34
41
  value = case value
35
- when Array then value.empty? ? 'none' : value.map(&:inspect).join(", ")
36
- when true then "yes"
37
- when false then "no"
38
- when nil then "unknown"
42
+ when Array then value.empty? ? 'none' : value.map(&:inspect).join(', ')
43
+ when true then 'yes'
44
+ when false then 'no'
45
+ when nil then 'unknown'
39
46
  else value.to_s
40
47
  end
41
48
  additional &&= " (#{additional})"
42
- say "#{key}:".ljust(known_repos? ? 50 : 25) << " " << color(value.to_s, :bold) << additional.to_s
49
+ say "#{key}:".ljust(known_repos? ? 50 : 25) << ' ' << color(value.to_s, :bold) << additional.to_s
43
50
  end
44
51
 
45
52
  def general
46
- yield "Ruby", Tools::System.ruby
47
- yield "Operating System", Tools::System.os
48
- yield "RubyGems", Tools::System.rubygems
53
+ yield 'Ruby', Tools::System.ruby
54
+ yield 'Operating System', Tools::System.os
55
+ yield 'RubyGems', Tools::System.rubygems
49
56
  end
50
57
 
51
58
  def cli_info
52
- yield "Version", Travis::VERSION
53
- yield "Plugins", defined?(TRAVIS_PLUGINS) ? TRAVIS_PLUGINS : []
54
- yield "Auto-Completion", Tools::Completion.completion_installed?
55
- yield "Last Version Check", last_check['at'] ? Time.at(last_check['at']) : 'never'
59
+ yield 'Version', Travis::VERSION
60
+ yield 'Plugins', defined?(TRAVIS_PLUGINS) ? TRAVIS_PLUGINS : []
61
+ yield 'Auto-Completion', Tools::Completion.completion_installed?
62
+ yield 'Last Version Check', last_check['at'] ? Time.at(last_check['at']) : 'never'
56
63
  end
57
64
 
58
65
  def session_info
59
- yield "API Endpoint", api_endpoint
60
- yield "Logged In", user_info
61
- yield "Verify SSL", !insecure
62
- yield "Enterprise", enterprise?
66
+ yield 'API Endpoint', api_endpoint
67
+ yield 'Logged In', user_info
68
+ yield 'Verify SSL', !insecure
69
+ yield 'Enterprise', enterprise?
63
70
  end
64
71
 
65
72
  def endpoints
@@ -74,25 +81,25 @@ module Travis
74
81
  end
75
82
  end
76
83
 
77
- def endpoint_name(url, prefix = "")
84
+ def endpoint_name(url, prefix = '')
78
85
  case url
79
86
  when Travis::Client::ORG_URI then "#{prefix}org"
80
87
  when Travis::Client::COM_URI then "#{prefix}com"
81
- when /api-staging\.travis-ci/ then endpoint_name(url.sub("api-staging.", "api."), "staging-")
88
+ when /api-staging\.travis-ci/ then endpoint_name(url.sub('api-staging.', 'api.'), 'staging-')
82
89
  else
83
- key, _ = config['enterprise'].detect { |k,v| v.start_with? url } if config['enterprise'].respond_to?(:detect)
84
- key ? "enterprise %p" % key : "???"
90
+ key, = config['enterprise'].detect { |_k, v| v.start_with? url } if config['enterprise'].respond_to?(:detect)
91
+ key ? 'enterprise %p' % key : '???'
85
92
  end
86
93
  end
87
94
 
88
95
  def known_repos
89
- config["repos"].each do |key, info|
96
+ config['repos'].each do |key, info|
90
97
  yield key, info['endpoint']
91
98
  end
92
99
  end
93
100
 
94
101
  def user_info
95
- access_token ? "as %p" % user.login : "no"
102
+ access_token ? 'as %p' % user.login : 'no'
96
103
  rescue Travis::Client::Error => e
97
104
  e.message
98
105
  end
@@ -1,9 +1,11 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'travis/cli'
2
4
 
3
5
  module Travis
4
6
  module CLI
5
7
  class Repos < ApiCommand
6
- description "lists repositories the user has certain permissions on"
8
+ description 'lists repositories the user has certain permissions on'
7
9
  on('-m', '--match PATTERN', 'only list repositories matching the given pattern (shell style)')
8
10
  on('-o', '--owner LOGIN', 'only list repos for a certain owner')
9
11
  on('-n', '--name NAME', 'only list repos with a given name')
@@ -15,11 +17,12 @@ module Travis
15
17
  def run
16
18
  repositories.each do |repo|
17
19
  next say(repo.slug) unless interactive?
20
+
18
21
  state_color = repo.active? ? :green : :yellow
19
- say color(repo.slug, [:bold, state_color]) + " "
20
- say color("(" << attributes(repo).map { |n,v| "#{n}: #{v ? "yes" : "no"}" }.join(", ") << ")", state_color)
22
+ say "#{color(repo.slug, [:bold, state_color])} "
23
+ say color('(' << attributes(repo).map { |n, v| "#{n}: #{v ? 'yes' : 'no'}" }.join(', ') << ')', state_color)
21
24
  description = repo.description.lines.first.chomp unless repo.description.to_s.empty?
22
- say "Description: #{description || "???"}"
25
+ say "Description: #{description || '???'}"
23
26
  empty_line unless repo == repositories.last
24
27
  end
25
28
  end
@@ -29,21 +32,23 @@ module Travis
29
32
  repos = session.hooks.concat(user.repositories).uniq
30
33
  session.preload(repos).sort_by(&:slug).select do |repo|
31
34
  next false unless match? repo.slug
32
- next false unless active.nil? or repo.active? == active
33
- next false unless owner.nil? or repo.owner_name == owner
34
- next false unless name.nil? or repo.name == name
35
- next false unless admin.nil? or repo.admin? == admin
35
+ next false unless active.nil? || (repo.active? == active)
36
+ next false unless owner.nil? || (repo.owner_name == owner)
37
+ next false unless name.nil? || (repo.name == name)
38
+ next false unless admin.nil? || (repo.admin? == admin)
39
+
36
40
  true
37
41
  end
38
42
  end
39
43
  end
40
44
 
41
45
  def attributes(repo)
42
- { "active" => repo.active?, "admin" => repo.admin?, "push" => repo.push?, "pull" => repo.pull? }
46
+ { 'active' => repo.active?, 'admin' => repo.admin?, 'push' => repo.push?, 'pull' => repo.pull? }
43
47
  end
44
48
 
45
49
  def match?(string)
46
50
  return true if match.nil?
51
+
47
52
  flags = File::FNM_PATHNAME | File::FNM_DOTMATCH
48
53
  flags |= File::FNM_EXTGLOB if defined? File::FNM_EXTGLOB
49
54
  File.fnmatch?(match, string, flags)
@@ -1,9 +1,11 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'travis/cli'
2
4
 
3
5
  module Travis
4
6
  module CLI
5
7
  class Requests < RepoCommand
6
- description "lists recent requests"
8
+ description 'lists recent requests'
7
9
  on '-l', '--limit LIMIT', 'Maximum number requests to display'
8
10
 
9
11
  def run
@@ -16,18 +18,17 @@ module Travis
16
18
 
17
19
  case request.event_type
18
20
  when 'push'
19
- result = request.result || "received"
21
+ result = request.result || 'received'
20
22
  message = request.message
21
- message ||= "validation pending" unless request.rejected? or request.accepted?
22
- message ||= "unknown reason" unless request.accepted?
23
- message ||= "triggered new build" unless request.rejected?
24
- description = "push to #{request.branch || request.tag || "???"}"
23
+ message ||= 'validation pending' unless request.rejected? || request.accepted?
24
+ message ||= 'unknown reason' unless request.accepted?
25
+ message ||= 'triggered new build' unless request.rejected?
26
+ description = "push to #{request.branch || request.tag || '???'}"
25
27
  when 'pull_request'
26
- result = request.result || "received"
28
+ result = request.result || 'received'
27
29
  message = request.message
28
- message ||= "HEAD commit not updated" unless request.accepted?
29
- message ||= "triggered new build" unless request.rejected?
30
- description = "push to #{request.branch || request.tag || "???"}"
30
+ message ||= 'HEAD commit not updated' unless request.accepted?
31
+ message ||= 'triggered new build' unless request.rejected?
31
32
  description = "PR ##{request.pull_request_number}"
32
33
  end
33
34
 
@@ -35,9 +36,9 @@ module Travis
35
36
  color(description, [:bold, style]),
36
37
  color(result, style),
37
38
  color("(#{message})", style)
38
- ].join(" ").strip + "\n"
39
+ ].join(' ').strip + "\n"
39
40
 
40
- say " " + color(request.commit.short_sha, :bold) + " - " + request.commit.subject if request.commit
41
+ say " #{color(request.commit.short_sha, :bold)} - #{request.commit.subject}" if request.commit
41
42
  say " received at: #{formatter.time(request.created_at)}"
42
43
  empty_line
43
44
  end
@@ -1,9 +1,11 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'travis/cli'
2
4
 
3
5
  module Travis
4
6
  module CLI
5
7
  class Restart < RepoCommand
6
- description "restarts a build or job"
8
+ description 'restarts a build or job'
7
9
 
8
10
  def run(number = last_build.number)
9
11
  authenticate
@@ -11,7 +13,7 @@ module Travis
11
13
  error "could not find job or build #{repository.slug}##{number}" unless entity
12
14
  entity.restart
13
15
 
14
- say "restarted", "#{entity.class.one} ##{entity.number} has been %s"
16
+ say 'restarted', "#{entity.class.one} ##{entity.number} has been %s"
15
17
  end
16
18
  end
17
19
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'travis/cli'
2
4
 
3
5
  module Travis
@@ -5,49 +7,52 @@ module Travis
5
7
  class Settings < RepoCommand
6
8
  attr_accessor :setting
7
9
 
8
- description "access repository settings"
10
+ description 'access repository settings'
9
11
  on('--keys', 'always use setting key instead of description')
10
- on('-t', '--enable', 'enable boolean setting(s)') { |c | c.setting = true }
11
- on('-f', '--disable', 'disable boolean setting(s)') { |c | c.setting = false }
12
- on('-s', '--set VALUE', 'set to given value') { |c,v| c.setting = v }
12
+ on('-t', '--enable', 'enable boolean setting(s)') { |c| c.setting = true }
13
+ on('-f', '--disable', 'disable boolean setting(s)') { |c| c.setting = false }
14
+ on('-s', '--set VALUE', 'set to given value') { |c, v| c.setting = v }
13
15
  on('-c', '--configure', 'change settings interactively')
14
16
 
15
17
  DESCRIPTIONS = {
16
- :builds_only_with_travis_yml => "Only run builds with a .travis.yml",
17
- :build_pushes => "Build pushes",
18
- :build_pull_requests => "Build pull requests",
19
- :maximum_number_of_builds => "Maximum number of concurrent builds",
20
- :auto_cancel_pushes => "Cancel older push builds that are not yet running",
21
- :auto_cancel_pull_requests => "Cancel older pull request builds that are not yet running"
22
- }
18
+ builds_only_with_travis_yml: 'Only run builds with a .travis.yml',
19
+ build_pushes: 'Build pushes',
20
+ build_pull_requests: 'Build pull requests',
21
+ maximum_number_of_builds: 'Maximum number of concurrent builds',
22
+ auto_cancel_pushes: 'Cancel older push builds that are not yet running',
23
+ auto_cancel_pull_requests: 'Cancel older pull request builds that are not yet running'
24
+ }.freeze
23
25
 
24
26
  def run(*keys)
25
- exit 1 if interactive? and keys.empty? and !setting.nil? and !all_settings? and !configure?
27
+ exit 1 if interactive? && keys.empty? && !setting.nil? && !all_settings? && !configure?
26
28
  authenticate
27
- say repository.slug, "Settings for %s:"
29
+ say repository.slug, 'Settings for %s:'
28
30
  repository.settings.to_h.each do |key, value|
29
- next unless keys.empty? or keys.include? key
31
+ next unless keys.empty? || keys.include?(key)
32
+
30
33
  if configure?
31
- if boolean? key
32
- repository.settings[key] = agree("#{describe(key, "enable #{key}")}? ") do |q|
33
- default = setting.nil? ? value : setting
34
- q.default = default ? "yes" : "no"
35
- end
36
- else
37
- repository.settings[key] = ask("#{describe(key, "Value for #{key}")}: ", Integer) do |q|
38
- default = setting.to_i if setting and setting.respond_to? :to_i
39
- default ||= value
40
- default ||= 0
41
- q.default = default
42
- end
43
- end
34
+ repository.settings[key] = if boolean? key
35
+ agree("#{describe(key, "enable #{key}")}? ") do |q|
36
+ default = setting.nil? ? value : setting
37
+ q.default = default ? 'yes' : 'no'
38
+ end
39
+ else
40
+ ask("#{describe(key, "Value for #{key}")}: ", Integer) do |q|
41
+ default = setting.to_i if setting && setting.respond_to?(:to_i)
42
+ default ||= value
43
+ default ||= 0
44
+ q.default = default
45
+ end
46
+ end
44
47
  else
45
48
  value = repository.settings[key] = setting unless setting.nil?
46
- descr = color(describe(key, color(key, :info)) { |s| key.ljust(30) + " " + color(s, [:reset, :bold]) }, :info)
47
- say format_value(value) << " " << descr
49
+ descr = color(describe(key, color(key, :info)) do |s|
50
+ "#{key.ljust(30)} #{color(s, %i[reset bold])}"
51
+ end, :info)
52
+ say format_value(value) << ' ' << descr
48
53
  end
49
54
  end
50
- repository.settings.save if configure? or !setting.nil?
55
+ repository.settings.save if configure? || !setting.nil?
51
56
  end
52
57
 
53
58
  def boolean?(key)
@@ -56,20 +61,21 @@ module Travis
56
61
 
57
62
  def format_value(value)
58
63
  case value
59
- when false, nil then color("[-]", [ :bold, :red ])
60
- when true then color("[+]", [ :bold, :green ])
61
- else color(value.to_s.rjust(3), [ :bold, :blue ])
64
+ when false, nil then color('[-]', %i[bold red])
65
+ when true then color('[+]', %i[bold green])
66
+ else color(value.to_s.rjust(3), %i[bold blue])
62
67
  end
63
68
  end
64
69
 
65
70
  def all_settings?
66
- agree("Really #{setting ? "enable" : "disable"} all settings? ") do |q|
67
- q.default = "no"
71
+ agree("Really #{setting ? 'enable' : 'disable'} all settings? ") do |q|
72
+ q.default = 'no'
68
73
  end
69
74
  end
70
75
 
71
76
  def describe(key, description = key)
72
77
  return description if keys?
78
+
73
79
  desc = DESCRIPTIONS[key.to_sym]
74
80
  desc &&= yield(desc) if block_given?
75
81
  desc || description
@@ -1,20 +1,21 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'travis/cli/setup'
2
4
 
3
5
  module Travis
4
6
  module CLI
5
7
  class Setup
6
8
  class Anynines < Service
7
- description "automatic deployment to anynines"
9
+ description 'automatic deployment to anynines'
8
10
 
9
11
  def run
10
12
  deploy 'anynines' do |config|
11
- config['username'] ||= ask("anynines username: ").to_s
12
- config['password'] ||= ask("anynines password: ") { |q| q.echo = "*" }.to_s
13
- config['organization'] ||= ask("anynines organization: ").to_s
14
- config['space'] ||= ask("anynines space: ").to_s
13
+ config['username'] ||= ask('anynines username: ').to_s
14
+ config['password'] ||= ask('anynines password: ') { |q| q.echo = '*' }.to_s
15
+ config['organization'] ||= ask('anynines organization: ').to_s
16
+ config['space'] ||= ask('anynines space: ').to_s
15
17
  end
16
18
  end
17
-
18
19
  end
19
20
  end
20
21
  end
@@ -1,16 +1,18 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'travis/cli/setup'
2
4
 
3
5
  module Travis
4
6
  module CLI
5
7
  class Setup
6
8
  class Appfog < Service
7
- description "automatic deployment to Appfog"
9
+ description 'automatic deployment to Appfog'
8
10
 
9
11
  def run
10
12
  deploy 'appfog' do |config|
11
- config['email'] = ask("Email address: ").to_s
12
- config['password'] = ask("Password: ") { |q| q.echo = "*" }.to_s
13
- config['app'] = ask("App name: ") { |q| q.default = repository.name }.to_s
13
+ config['email'] = ask('Email address: ').to_s
14
+ config['password'] = ask('Password: ') { |q| q.echo = '*' }.to_s
15
+ config['app'] = ask('App name: ') { |q| q.default = repository.name }.to_s
14
16
  end
15
17
  end
16
18
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'travis/cli/setup'
2
4
 
3
5
  module Travis
@@ -10,11 +12,11 @@ module Travis
10
12
  def run
11
13
  travis_config['addons'] ||= {}
12
14
  configure 'artifacts', {}, travis_config['addons'] do |config|
13
- config['key'] = ask("Access key ID: ").to_s
14
- config['secret'] = ask("Secret access key: ") { |q| q.echo = "*" }.to_s
15
- config['bucket'] = ask("Bucket: ").to_s
16
- encrypt(config, 'key') if agree("Encrypt access key ID? ") { |q| q.default = 'yes' }
17
- encrypt(config, 'secret') if agree("Encrypt secret access key? ") { |q| q.default = 'yes' }
15
+ config['key'] = ask('Access key ID: ').to_s
16
+ config['secret'] = ask('Secret access key: ') { |q| q.echo = '*' }.to_s
17
+ config['bucket'] = ask('Bucket: ').to_s
18
+ encrypt(config, 'key') if agree('Encrypt access key ID? ') { |q| q.default = 'yes' }
19
+ encrypt(config, 'secret') if agree('Encrypt secret access key? ') { |q| q.default = 'yes' }
18
20
  end
19
21
  end
20
22
  end
@@ -1,16 +1,18 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'travis/cli/setup'
2
4
 
3
5
  module Travis
4
6
  module CLI
5
7
  class Setup
6
8
  class Biicode < Service
7
- description "automatic publish to biicode"
9
+ description 'automatic publish to biicode'
8
10
 
9
11
  def run
10
12
  deploy 'biicode', 'release' do |config|
11
- config['user'] ||= ask("biicode username: ") { |q| q }.to_s
12
- config['password'] ||= ask("biicode password: ") { |q| q.echo = "*" }.to_s
13
- on("publish only tagged commits? ", config, 'tags' => true)
13
+ config['user'] ||= ask('biicode username: ') { |q| q }.to_s
14
+ config['password'] ||= ask('biicode password: ') { |q| q.echo = '*' }.to_s
15
+ on('publish only tagged commits? ', config, 'tags' => true)
14
16
  end
15
17
  end
16
18
  end
@@ -1,20 +1,22 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'travis/cli/setup'
2
4
 
3
5
  module Travis
4
6
  module CLI
5
7
  class Setup
6
8
  class Cloud_66 < Service
7
- description "Automatic deployment to Cloud 66"
9
+ description 'Automatic deployment to Cloud 66'
8
10
  service_name 'cloud66'
9
11
 
10
12
  def run
11
13
  deploy 'cloud66', 'release' do |config|
12
- config['redeployment_hook'] ||= ask("Cloud 66 Redeployment Hook Url: ") { |q| q.echo = "*" }.to_s
14
+ config['redeployment_hook'] ||= ask('Cloud 66 Redeployment Hook Url: ') { |q| q.echo = '*' }.to_s
13
15
 
14
- encrypt(config, 'redeployment_hook') if agree("Encrypt Redeployment Hook?") { |q| q.default = 'yes' }
16
+ encrypt(config, 'redeployment_hook') if agree('Encrypt Redeployment Hook?') { |q| q.default = 'yes' }
15
17
  end
16
18
  end
17
19
  end
18
20
  end
19
21
  end
20
- end
22
+ end
@@ -1,21 +1,23 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'travis/cli/setup'
2
4
 
3
5
  module Travis
4
6
  module CLI
5
7
  class Setup
6
8
  class CloudControl < Service
7
- description "automatic deployment to cloudControl"
9
+ description 'automatic deployment to cloudControl'
8
10
 
9
11
  def run
10
12
  deploy 'cloudcontrol' do |config|
11
- config['email'] = ask("cloudControl email: ").to_s
12
- config['password'] = ask("cloudControl password: ") { |q| q.echo = "*" }.to_s
13
- app = ask("cloudControl application: ") { |q| q.default = repository.name }.to_s
14
- dep = ask("cloudControl deployment: ") { |q| q.default = "default" }.to_s
13
+ config['email'] = ask('cloudControl email: ').to_s
14
+ config['password'] = ask('cloudControl password: ') { |q| q.echo = '*' }.to_s
15
+ app = ask('cloudControl application: ') { |q| q.default = repository.name }.to_s
16
+ dep = ask('cloudControl deployment: ') { |q| q.default = 'default' }.to_s
15
17
  config['deployment'] = "#{app}/#{dep}"
16
18
  end
17
19
  end
18
20
  end
19
21
  end
20
22
  end
21
- end
23
+ end
@@ -1,17 +1,19 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'travis/cli/setup'
2
4
 
3
5
  module Travis
4
6
  module CLI
5
7
  class Setup
6
8
  class CloudFiles < Service
7
- description "automatic pushing to Rackspace Cloud Files"
9
+ description 'automatic pushing to Rackspace Cloud Files'
8
10
 
9
11
  def run
10
12
  deploy 'cloudfiles' do |config|
11
- config['username'] = ask("Rackspace Username: ").to_s
12
- config['api_key'] = ask("Rackspace Api Key: ") { |q| q.echo = "*" }.to_s
13
- config['region'] = ask("Cloud Files Region: ").to_s
14
- config['container'] = ask("Container: ").to_s
13
+ config['username'] = ask('Rackspace Username: ').to_s
14
+ config['api_key'] = ask('Rackspace Api Key: ') { |q| q.echo = '*' }.to_s
15
+ config['region'] = ask('Cloud Files Region: ').to_s
16
+ config['container'] = ask('Container: ').to_s
15
17
  end
16
18
  end
17
19
  end
@@ -1,20 +1,22 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'travis/cli/setup'
2
4
 
3
5
  module Travis
4
6
  module CLI
5
7
  class Setup
6
8
  class CloudFoundry < Service
7
- description "automatic deployment to Cloud Foundry"
9
+ description 'automatic deployment to Cloud Foundry'
8
10
 
9
11
  def run
10
12
  deploy 'cloudfoundry' do |config|
11
13
  target_file = File.expand_path('.cf/config.json', Dir.home)
12
- config['api'] ||= JSON.parse(File.read(target_file))["Target"] if File.exist? target_file
13
- config['api'] ||= ask("Cloud Foundry api: ").to_s
14
- config['username'] ||= ask("Cloud Foundry username: ").to_s
15
- config['password'] ||= ask("Cloud Foundry password: ") { |q| q.echo = "*" }.to_s
16
- config['organization'] ||= ask("Cloud Foundry organization: ").to_s
17
- config['space'] ||= ask("Cloud Foundry space: ").to_s
14
+ config['api'] ||= JSON.parse(File.read(target_file))['Target'] if File.exist? target_file
15
+ config['api'] ||= ask('Cloud Foundry api: ').to_s
16
+ config['username'] ||= ask('Cloud Foundry username: ').to_s
17
+ config['password'] ||= ask('Cloud Foundry password: ') { |q| q.echo = '*' }.to_s
18
+ config['organization'] ||= ask('Cloud Foundry organization: ').to_s
19
+ config['space'] ||= ask('Cloud Foundry space: ').to_s
18
20
  end
19
21
  end
20
22
  end