Class: Arkaan::Rulesets::Blueprint
- Inherits:
-
Object
- Object
- Arkaan::Rulesets::Blueprint
- Includes:
- Mongoid::Document, Mongoid::Timestamps
- Defined in:
- lib/arkaan/rulesets/blueprint.rb
Overview
A blueprint defines what a type of entity contains.
Instance Attribute Summary collapse
-
#_fields ⇒ Array<Arkaan::Rulesets::Field>
The field composing the attributes of this blueprint.
-
#name ⇒ String
The name of this type of entity in the ruleset.
-
#ruleset ⇒ Arkaan::Ruleset
The ruleset to which this blueprint belongs.
Instance Method Summary collapse
Instance Attribute Details
#_fields ⇒ Array<Arkaan::Rulesets::Field>
Returns the field composing the attributes of this blueprint.
18 |
# File 'lib/arkaan/rulesets/blueprint.rb', line 18 :_fields, class_name: 'Arkaan::Rulesets::Field', inverse_of: :blueprint |
#name ⇒ String
Returns the name of this type of entity in the ruleset.
11 |
# File 'lib/arkaan/rulesets/blueprint.rb', line 11 field :name, type: String |
#ruleset ⇒ Arkaan::Ruleset
Returns the ruleset to which this blueprint belongs.
15 |
# File 'lib/arkaan/rulesets/blueprint.rb', line 15 belongs_to :ruleset, class_name: 'Arkaan::Ruleset', inverse_of: :blueprints |
Instance Method Details
#name_unicity ⇒ Object
26 27 28 29 30 31 |
# File 'lib/arkaan/rulesets/blueprint.rb', line 26 def name_unicity has_duplicate = ruleset.blueprints.where(:_id.ne => _id, name: name).exists? if !ruleset.nil? && name? && has_duplicate errors.add(:name, 'uniq') end end |