class CLIChef::Ingredient
Public Instance Methods
allowed?(value)
click to toggle source
# File lib/cli_chef/components/ingredient.rb, line 33 def allowed?(value) return true if allowed_values.empty? allowed_values.any? do |av| av === value || av.nil? && (value == true || value == false) end end
cleaned_argument(value = nil)
click to toggle source
# File lib/cli_chef/components/ingredient.rb, line 21 def cleaned_argument(value = nil) allowed!(value) return '' if boolean_argument? [value].flatten(1).map(&:to_s).map do |arg| arg.match?(/\s/) && !arg.encap_by?('"') ? "\"#{arg.gsub('"','\\"')}\"" : arg end.join(delimiter) end
match?(name)
click to toggle source
# File lib/cli_chef/components/ingredient.rb, line 29 def match?(name) self.name == name || aliases.include?(name) end
to_s(value = nil)
click to toggle source
# File lib/cli_chef/components/ingredient.rb, line 15 def to_s(value = nil) return '' if boolean_argument? && value == false cleaned_arg = cleaned_argument(value) argument == false ? '' : "#{flag}#{flag && !cleaned_arg.empty? ? flag_delimiter : nil}#{cleaned_arg}" end
Protected Instance Methods
allowed!(value)
click to toggle source
# File lib/cli_chef/components/ingredient.rb, line 42 def allowed!(value) raise ArgumentError, "#{name} does not accept the value passed to it: #{value} (#{value.class})" unless allowed?(value) end