class Flattery::Settings
Attributes
klass[RW]
raw_settings[RW]
resolved[RW]
resolved_settings[RW]
Public Class Methods
new(klass=nil)
click to toggle source
# File lib/flattery/settings.rb, line 8 def initialize(klass=nil) self.klass = klass reset! end
Public Instance Methods
add_setting(options={})
click to toggle source
# File lib/flattery/settings.rb, line 13 def add_setting(options={}) if options.nil? reset! return end return if options.empty? unresolved! self.raw_settings << parse_option_setting(options) end
parse_option_setting(options)
click to toggle source
Process options
and return a standardised raw_setting hash
# File lib/flattery/settings.rb, line 24 def parse_option_setting(options) cache_options = setting_template opt = options.symbolize_keys as_setting = opt.delete(:as).try(:to_s) method_setting = opt.delete(:method).try(:to_sym) background_setting = opt.delete(:background_with).try(:to_sym) batch_size_setting = opt.delete(:batch_size).try(:to_i) if from_entity = opt.keys.first cache_options[:from_entity] = from_entity cache_options[:to_entity] = opt[from_entity].try(:to_sym) end cache_options[:as] = as_setting cache_options[:method] = method_setting if method_setting cache_options[:background_with] = background_setting if background_setting cache_options[:batch_size] = batch_size_setting if batch_size_setting cache_options end
reset!()
click to toggle source
Command: clear/reset all settings
# File lib/flattery/settings.rb, line 56 def reset! self.raw_settings = [] self.resolved_settings = {} self.resolved = false end
resolve_settings!()
click to toggle source
Command: sets resolved_settings. Returns true if resolution was success (which will set the resolution status)
# File lib/flattery/settings.rb, line 71 def resolve_settings! true end
setting_template()
click to toggle source
Returns the basic settings template
# File lib/flattery/settings.rb, line 46 def setting_template {} end
settings()
click to toggle source
Returns resolved settings
# File lib/flattery/settings.rb, line 63 def settings unless resolved self.resolved = resolve_settings! end self.resolved_settings end
unresolved!()
click to toggle source
Command: mark settings as unresolved
# File lib/flattery/settings.rb, line 51 def unresolved! self.resolved = false end