module AAN::Keeper
Public Instance Methods
[](*args)
click to toggle source
# File lib/a_a_n/keeper.rb, line 19 def [](*args) (structure[args.first] ||= {}) end
association(name, &block)
click to toggle source
# File lib/a_a_n/keeper.rb, line 28 def association(name, &block) sub_structure = block.call sub_structure.each do |element| if element.is_a? Hash element.symbolize_keys! element = element.to_a.flatten elsif element = [element.to_sym, "#{name}_#{element}".to_sym] end (AAN::Keeper[current_model][name] ||= []) << element end end
associations(model, &block)
click to toggle source
# File lib/a_a_n/keeper.rb, line 23 def associations model, &block @@current_model = model instance_eval &block end
nullify_aliased_methods_for(model, assoc)
click to toggle source
# File lib/a_a_n/keeper.rb, line 7 def nullify_aliased_methods_for model, assoc aliased_methods = [] AAN::Keeper.aliases_for(model, assoc).each do |aliased_method| aliased_methods << "@#{aliased_method} = nil" end aliased_methods.join("\n") end
structure()
click to toggle source
# File lib/a_a_n/keeper.rb, line 15 def structure @@structures ||= {} end
Protected Instance Methods
aliases_for(model, assoc)
click to toggle source
# File lib/a_a_n/keeper.rb, line 43 def aliases_for model, assoc structure[model][assoc].collect do |params| params.last end end