Sha256: 3fe0d0e2add7990f0041225b134cc58a31e2540d246f1ad33d935bc3916eda18

Contents?: true

Size: 1.42 KB

Versions: 11

Compression:

Stored size: 1.42 KB

Contents

class RelationBuilder
  def self.build_single(description, pi, pc, oi, oc)
    ActiveRecord::Base.transaction do
      relation = Relation.create(:description => description,
                                 :person_can_be_individual => pi,
                                 :person_can_be_company => pc,
                                 :other_can_be_individual => oi,
                                 :other_can_be_company => oc)
      relation.update_attribute(:inverse_id, relation.id)
      relation
    end
  end

  def self.build(description, inverse_description, pi, pc, oi, oc)
    ActiveRecord::Base.transaction do
      relation = Relation.create(:description => description,
                                 :person_can_be_individual => pi,
                                 :person_can_be_company => pc,
                                 :other_can_be_individual => oi,
                                 :other_can_be_company => oc)

      inverse = relation.create_inverse(:description => inverse_description,
                                        :person_can_be_individual => oi,
                                        :person_can_be_company => oc,
                                        :other_can_be_individual => pi,
                                        :other_can_be_company => pc,
                                        :inverse => relation)
      relation.update_attribute(:inverse_id, inverse.id)
      relation
    end
  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
artfully_ose-1.3.0.pre4 app/models/relation_builder.rb
artfully_ose-1.3.0.pre3 app/models/relation_builder.rb
artfully_ose-1.3.0.pre2 app/models/relation_builder.rb
artfully_ose-1.3.0.pre1 app/models/relation_builder.rb
artfully_ose-1.2.0 app/models/relation_builder.rb
artfully_ose-1.2.0.beta.1 app/models/relation_builder.rb
artfully_ose-1.2.0.alpha.2 app/models/relation_builder.rb
artfully_ose-1.2.0.alpha.1 app/models/relation_builder.rb
artfully_ose-1.2.0.pre.27 app/models/relation_builder.rb
artfully_ose-1.2.0.pre.26 app/models/relation_builder.rb
artfully_ose-1.2.0.pre.24 app/models/relation_builder.rb