Class: Travis::CLI::Settings
- Inherits:
-
RepoCommand
- Object
- Command
- ApiCommand
- RepoCommand
- Travis::CLI::Settings
- Defined in:
- lib/travis/cli/settings.rb
Constant Summary collapse
- DESCRIPTIONS =
{ :builds_only_with_travis_yml => "Only run builds with a .travis.yml", :build_pushes => "Build pushes", :build_pull_requests => "Build pull requests", :maximum_number_of_builds => "Maximum number of concurrent builds" }
Constants inherited from RepoCommand
RepoCommand::GIT_REGEX, RepoCommand::TRAVIS
Constants inherited from Command
Command::DAY, Command::HOUR, Command::MINUTE, Command::WEEK
Constants included from Tools::Assets
Instance Attribute Summary collapse
-
#setting ⇒ Object
Returns the value of attribute setting.
Attributes inherited from RepoCommand
Attributes inherited from ApiCommand
Attributes inherited from Command
#arguments, #config, #debug, #force_interactive, #formatter, #input, #output
Instance Method Summary collapse
- #all_settings? ⇒ Boolean
- #boolean?(key) ⇒ Boolean
- #describe(key, description = key) ⇒ Object
- #format_value(value) ⇒ Object
- #run(*keys) ⇒ Object
Methods inherited from RepoCommand
Methods inherited from ApiCommand
#authenticate, #detected_endpoint?, #endpoint_config, #enterprise?, #initialize, #org?, #pro?, #setup, #sync
Methods included from Travis::Client::Methods
#access_token, #access_token=, #account, #accounts, #api_endpoint, #api_endpoint=, #artifact, #broadcasts, #build, #cancel, #explicit_api_endpoint?, #github_auth, #hooks, #job, #lint, #listen, #repo, #repos, #restart, #user
Methods inherited from Command
abstract, abstract?, #check_completion, #check_ruby, #check_version, command_name, #command_name, #debug?, description, #execute, #help, #info, #initialize, #last_check, #on_signal, #parse, #say, #setup, skip, subcommands, #terminal, #time, #usage, #usage_for, #write_to
Methods included from Tools::Assets
Methods included from Parser
Constructor Details
This class inherits a constructor from Travis::CLI::ApiCommand
Instance Attribute Details
#setting ⇒ Object
Returns the value of attribute setting.
6 7 8 |
# File 'lib/travis/cli/settings.rb', line 6 def setting @setting end |
Instance Method Details
#all_settings? ⇒ Boolean
63 64 65 66 67 |
# File 'lib/travis/cli/settings.rb', line 63 def all_settings? agree("Really #{setting ? "enable" : "disable"} all settings? ") do |q| q.default = "no" end end |
#boolean?(key) ⇒ Boolean
51 52 53 |
# File 'lib/travis/cli/settings.rb', line 51 def boolean?(key) key.to_sym != :maximum_number_of_builds end |
#describe(key, description = key) ⇒ Object
69 70 71 72 73 74 |
# File 'lib/travis/cli/settings.rb', line 69 def describe(key, description = key) return description if keys? desc = DESCRIPTIONS[key.to_sym] desc &&= yield(desc) if block_given? desc || description end |
#format_value(value) ⇒ Object
55 56 57 58 59 60 61 |
# File 'lib/travis/cli/settings.rb', line 55 def format_value(value) case value when false, nil then color("[-]", [ :bold, :red ]) when true then color("[+]", [ :bold, :green ]) else color(value.to_s.rjust(3), [ :bold, :blue ]) end end |
#run(*keys) ⇒ Object
22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
# File 'lib/travis/cli/settings.rb', line 22 def run(*keys) exit 1 if interactive? and keys.empty? and !setting.nil? and !all_settings? and !configure? authenticate say repository.slug, "Settings for %s:" repository.settings.to_h.each do |key, value| next unless keys.empty? or keys.include? key if configure? if boolean? key repository.settings[key] = agree("#{describe(key, "enable #{key}")}? ") do |q| default = setting.nil? ? value : setting q.default = default ? "yes" : "no" end else repository.settings[key] = ask("#{describe(key, "Value for #{key}")}: ", Integer) do |q| default = setting.to_i if setting and setting.respond_to? :to_i default ||= value default ||= 0 q.default = default end end else value = repository.settings[key] = setting unless setting.nil? descr = color(describe(key, color(key, :info)) { |s| key.ljust(30) + " " + color(s, [:reset, :bold]) }, :info) say format_value(value) << " " << descr end end repository.settings.save if configure? or !setting.nil? end |