class Object
Public Instance Methods
define_attributes_setter_methods(reflection, association)
click to toggle source
# File lib/smooth_operator/associations.rb, line 89 def define_attributes_setter_methods(reflection, association) define_method("#{association}_attributes=") do |attributes| instance_variable_set("@#{association}_attributes", attributes) attributes = attributes.values if reflection.has_many? internal_data_push(association.to_s, attributes) end end
define_single_association_method(reflection, association)
click to toggle source
# File lib/smooth_operator/associations.rb, line 77 def define_single_association_method(reflection, association) define_method(association) { internal_data_get(association.to_s) } define_method("build_#{association}") do |attributes = {}| new_instance = reflection.klass.new(attributes) internal_data_push(association, new_instance) new_instance end end
parse_options(options, default_options)
click to toggle source
# File lib/smooth_operator/associations.rb, line 99 def parse_options(options, default_options) options = options.is_a?(Hash) ? options.merge(default_options) : default_options if options[:rails_serialization].nil? options[:rails_serialization] = rails_serialization end Helpers.symbolyze_keys(options) end