travis 1.11.0 → 1.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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