Class: ActiveRecord::Bixformer::AssignableAttributesNormalizer
- Inherits:
-
Object
- Object
- ActiveRecord::Bixformer::AssignableAttributesNormalizer
- Includes:
- ImportValueValidatable
- Defined in:
- lib/activerecord-bixformer/assignable_attributes_normalizer.rb
Instance Method Summary collapse
-
#initialize(plan, model, parent_record_id) ⇒ AssignableAttributesNormalizer
constructor
A new instance of AssignableAttributesNormalizer.
- #normalize(model_attributes) ⇒ Object
Methods included from ImportValueValidatable
Constructor Details
#initialize(plan, model, parent_record_id) ⇒ AssignableAttributesNormalizer
Returns a new instance of AssignableAttributesNormalizer.
6 7 8 9 10 11 |
# File 'lib/activerecord-bixformer/assignable_attributes_normalizer.rb', line 6 def initialize(plan, model, parent_record_id) @plan = ActiveRecord::Bixformer::PlanAccessor.new(plan) @model = model @parent_record_id = parent_record_id @identified_column_name = @model.activerecord_constant.primary_key end |
Instance Method Details
#normalize(model_attributes) ⇒ Object
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
# File 'lib/activerecord-bixformer/assignable_attributes_normalizer.rb', line 13 def normalize(model_attributes) @model_attributes = model_attributes return {} unless @model_attributes # 必須な属性が渡されていない場合には、取り込みしない return {} unless validate_required_attributes set_required_condition if presence_value?(@model_attributes) set_parent_foreign_key if presence_value?(@model_attributes) set_identified_attribute if presence_value?(@model_attributes) # 空でない要素が無いなら、空ハッシュで返す return {} unless presence_value?(@model_attributes) @model_attributes end |