Class: Agreement

Inherits:
ActiveRecord::Base
  • Object
show all
Defined in:
app/models/agreement.rb

Instance Method Summary collapse

Dynamic Method Handling

This class handles dynamic methods through the method_missing method

#method_missing(m, *args, &block) ⇒ Object



38
39
40
41
# File 'app/models/agreement.rb', line 38

def method_missing(m, *args, &block)
  agreement_item = get_item_by_item_type_internal_identifier(m.to_s)
  (agreement_item.nil?) ? super : (return agreement_item.agreement_item_value)
end

Instance Method Details

#agreement_relationshipsObject



12
13
14
# File 'app/models/agreement.rb', line 12

def agreement_relationships
  AgreementRelationship.where('agreement_id_from = ? OR agreement_id_to = ?',id,id)
end

#find_parties_by_role(role) ⇒ Object



24
25
26
# File 'app/models/agreement.rb', line 24

def find_parties_by_role(role)
  self.parties.where("role_type_id = ?", role.id).all
end

#get_item_by_item_type_internal_identifier(item_type_internal_identifier) ⇒ Object



28
29
30
31
32
# File 'app/models/agreement.rb', line 28

def get_item_by_item_type_internal_identifier(item_type_internal_identifier)
  agreement_items.joins("join agreement_item_types on 
                         agreement_item_types.id = 
                         agreement_items.agreement_item_type_id").where("agreement_item_types.internal_identifier = '#{item_type_internal_identifier}'").first
end

#respond_to?(m, include_private_methods = false) ⇒ Boolean

Returns:

  • (Boolean)


34
35
36
# File 'app/models/agreement.rb', line 34

def respond_to?(m, include_private_methods = false)
  ((get_item_by_item_type_internal_identifier(m.to_s).nil? ? false : true)) unless super
end

#to_labelObject



20
21
22
# File 'app/models/agreement.rb', line 20

def to_label
  to_s
end

#to_sObject



16
17
18
# File 'app/models/agreement.rb', line 16

def to_s
  description
end