class Milestoner::CLI::Parsers::Security
Handles parsing of Command Line Interface (CLI
) security options.
Attributes
client[R]
configuration[R]
Public Class Methods
call(configuration = Configuration::Loader.call, client: CLIENT)
click to toggle source
# File lib/milestoner/cli/parsers/security.rb, line 8 def self.call configuration = Configuration::Loader.call, client: CLIENT new(configuration, client: client).call end
new(configuration = Configuration::Loader.call, client: CLIENT)
click to toggle source
# File lib/milestoner/cli/parsers/security.rb, line 12 def initialize configuration = Configuration::Loader.call, client: CLIENT @configuration = configuration @client = client end
Public Instance Methods
call(arguments = [])
click to toggle source
# File lib/milestoner/cli/parsers/security.rb, line 17 def call arguments = [] client.separator "\nSECURITY OPTIONS:\n" add_sign arguments.empty? ? arguments : client.parse!(arguments) end
Private Instance Methods
add_sign()
click to toggle source
# File lib/milestoner/cli/parsers/security.rb, line 27 def add_sign client.on( "--[no-]sign", %(Sign with GPG key. Default: #{configuration.git_tag_sign}.) ) do |value| compute_git_tag_sign value end end
compute_git_tag_sign(value)
click to toggle source
# File lib/milestoner/cli/parsers/security.rb, line 36 def compute_git_tag_sign value truth_table = [true, false].repeated_permutation(2).to_a case truth_table.index [value, configuration.git_tag_sign] when 0..1 then configuration.git_tag_sign = true when 2..3 then configuration.git_tag_sign = false else fail Error, "--sign must be a boolean. Check gem configuration." end end