class TroleGroups::Macros::Configuration
Attributes
auto_load[R]
options[R]
orm[R]
singularity[R]
strategy[R]
subject_class[R]
Public Class Methods
new(subject_class, strategy, options = {})
click to toggle source
# File lib/trole_groups/macros/configuration.rb, line 11 def initialize subject_class, strategy, options = {} @subject_class = subject_class @strategy = strategy @orm = options[:orm] || Troles::Config.default_orm @auto_load = options[:auto_load] || Troles::Config.auto_load? options[:strategy] = strategy @options = options end
Public Instance Methods
apply_strategy_options!()
click to toggle source
# File lib/trole_groups/macros/configuration.rb, line 35 def apply_strategy_options! trolegroups_config.apply_options! options # StrategyOptions.new(subject_class) # extract_macros(options).each{|m| apply_macro m} end
define_hooks()
click to toggle source
# File lib/trole_groups/macros/configuration.rb, line 46 def define_hooks storage_class = storage_loader.storage_class # puts "storage_class: #{storage_class}" subject_class.send :define_method, :group_storage do @group_storage ||= storage_class end config_class = config_loader.config_class puts "config_class: #{config_class}" if Troles::Config.log_on subject_class.singleton_class.class_eval %{ def trolegroups_config @trolegroups_config ||= #{config_class}.new #{subject_class}, #{options.inspect} end } end
load_adapter()
click to toggle source
# File lib/trole_groups/macros/configuration.rb, line 24 def load_adapter return false if !auto_load? path = "#{namespace}/adapters/#{orm.to_s.underscore}" begin require path rescue raise "Adapter for :#{orm} could not be found at: #{path}" end end
strategy_module()
click to toggle source
# File lib/trole_groups/macros/configuration.rb, line 20 def strategy_module strategy_loader.strategy_module end
trolegroups_config()
click to toggle source
# File lib/trole_groups/macros/configuration.rb, line 42 def trolegroups_config subject_class.trolegroups_config end
Protected Instance Methods
auto_load?()
click to toggle source
# File lib/trole_groups/macros/configuration.rb, line 80 def auto_load? (auto_load && orm) || false end
config_loader()
click to toggle source
# File lib/trole_groups/macros/configuration.rb, line 72 def config_loader @config_loader ||= ConfigLoader.new strategy, orm end
namespace()
click to toggle source
# File lib/trole_groups/macros/configuration.rb, line 64 def namespace 'trole_groups' end
storage_loader()
click to toggle source
# File lib/trole_groups/macros/configuration.rb, line 68 def storage_loader @storage_loader ||= StorageLoader.new strategy, orm end
strategy_loader()
click to toggle source
# File lib/trole_groups/macros/configuration.rb, line 76 def strategy_loader @strategy_loader ||= StrategyLoader.new strategy, orm end