class Handlers::Attributes

Public Instance Methods

affect_prepared_values!() click to toggle source

DSL method : prepare

# File lib/handlers/attributes.rb, line 26
def affect_prepared_values!
  (upper(:@@preparers) || []).each do |preparer|
    @params[preparer[:key]] = preparer[:lambda].try(:call, @params[preparer[:key]])
  end
end
affect_relation_values!() click to toggle source

DSL method : relation

# File lib/handlers/attributes.rb, line 51
def affect_relation_values!
  Relations.new(@klass).affect_relation_values!
end
handle() click to toggle source
# File lib/handlers/attributes.rb, line 9
def handle
  start_with_default_params!
  affect_prepared_values!
  remap_attributes!
  merge_with_resource_attributes!
  affect_relation_values!
  merge_overrided_params!
  slice_unauthorized_attributes!
end
merge_overrided_params!() click to toggle source

DSL method : ensure_value

# File lib/handlers/attributes.rb, line 45
def merge_overrided_params!
  overrided_params = upper(:@@overrided_params) || {}
  @params.merge!(overrided_params)
end
merge_with_resource_attributes!() click to toggle source
# File lib/handlers/attributes.rb, line 39
def merge_with_resource_attributes!
  return unless @resource.respond_to?(:attributes)
  @params.reverse_merge!(@resource.attributes.symbolize_keys)
end
remap_attributes!() click to toggle source

DSL method : remap

# File lib/handlers/attributes.rb, line 33
def remap_attributes!
  (upper(:@@remaped_params) || []).each do |remaped|
    @params[remaped[:to]] = @raw_params[remaped[:key].to_s] if @raw_params.key?(remaped[:key].to_s) && @params[remaped[:to]].blank?
  end
end
slice_unauthorized_attributes!() click to toggle source

DSL method : attributes

# File lib/handlers/attributes.rb, line 56
def slice_unauthorized_attributes!
  authorized_attributes = upper(:@@attributes) || {}
  @params.slice!(*authorized_attributes)
end
start_with_default_params!() click to toggle source

DSL method : set_default

# File lib/handlers/attributes.rb, line 20
def start_with_default_params!
  default_params = upper(:@@default_params) || {}
  @params.reverse_merge!(default_params)
end