class Cryptozoologist::Configuration
Attributes
delimiter[R]
exclude[R]
include[R]
order[R]
Public Class Methods
new()
click to toggle source
# File lib/cryptozoologist/configuration.rb, line 5 def initialize @exclude = [] @delimiter = "-" @order = [:colors, :animals, :clothing] @include = [] end
Public Instance Methods
delimiter=(string)
click to toggle source
# File lib/cryptozoologist/configuration.rb, line 20 def delimiter=(string) raise Errors::Configuration, "delimiter must be a a string" unless string.is_a?(String) @delimiter = string end
exclude=(exclusions)
click to toggle source
# File lib/cryptozoologist/configuration.rb, line 34 def exclude=(exclusions) raise Errors::Configuration, "Exclusions must be an array" unless exclusions.is_a?(Array) @exclude = exclusions.select { |e| valid_exclusions.include?(e) } end
include=(inclusions)
click to toggle source
# File lib/cryptozoologist/configuration.rb, line 26 def include=(inclusions) raise Errors::Configuration, "Inclusions must be an array" unless inclusions.is_a?(Array) @include = inclusions.select { |e| valid_inclusions.include?(e) } inclusions += @order @order = inclusions end
include_quantity?()
click to toggle source
# File lib/cryptozoologist/configuration.rb, line 40 def include_quantity? @include.include?(:quantity) end
order=(list)
click to toggle source
# File lib/cryptozoologist/configuration.rb, line 12 def order=(list) raise Errors::Configuration, "Order must be an array" unless list.is_a?(Array) raise Errors::Configuration, "Order must contain 3 items" unless list.length == 3 invalid_keys = list.select { |e| !valid_order.include?(e) } raise Errors::Configuration, "Invalid order setting provided: #{invalid_keys}" unless invalid_keys.empty? @order = list end
Private Instance Methods
valid_exclusions()
click to toggle source
# File lib/cryptozoologist/configuration.rb, line 49 def valid_exclusions keys = [] Cryptozoologist.subdictionaries.each { |key, value| keys += value.keys } keys end
valid_inclusions()
click to toggle source
# File lib/cryptozoologist/configuration.rb, line 55 def valid_inclusions [:quantity] end
valid_order()
click to toggle source
# File lib/cryptozoologist/configuration.rb, line 45 def valid_order [:animals, :colors, :clothing] end