Class: Relation
- Inherits:
-
ActiveRecord::Base
- Object
- ActiveRecord::Base
- Relation
- Defined in:
- app/models/relation.rb
Class Method Summary collapse
Instance Method Summary collapse
Class Method Details
.seed(source, target, roles = nil) ⇒ Object
68 69 70 71 72 73 74 |
# File 'app/models/relation.rb', line 68 def self.seed source, target, roles = nil (roles.present? ? Role.find_or_create_named(roles) : [ nil ]).map do |role| create source_type: source, target_type: target, role: role end end |
.with_roles(&block) ⇒ Object
62 63 64 65 66 |
# File 'app/models/relation.rb', line 62 def self.with_roles &block joins(:role).merge( Role.instance_eval &block ).uniq end |
Instance Method Details
#abstract? ⇒ Boolean
82 83 84 |
# File 'app/models/relation.rb', line 82 def abstract? not (source_id or target_id) end |
#name=(role_name) ⇒ Object
77 78 79 80 |
# File 'app/models/relation.rb', line 77 def name= role_name self.role = role_name && Role.find_or_initialize_by(name: role_name) end |