module ParentResource::ClassMethods
Public Instance Methods
parent_resources(*keys)
click to toggle source
# File lib/parent_resource.rb, line 8 def parent_resources(*keys) keys.each do |key| create_parent_resource(key) end end
Private Instance Methods
create_parent_resource(key)
click to toggle source
# File lib/parent_resource.rb, line 16 def create_parent_resource(key) model = key.to_s.classify.constantize key_name = "#{key}_id".to_sym val = "@#{key}".to_sym define_method(key) do unless instance_variable_defined?(val) res = params.key?(key_name) ? model.find(params[key_name]) : nil instance_variable_set(val, res) end instance_variable_get(val) end end