Class: SpudInquiry

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

Instance Method Summary collapse

Dynamic Method Handling

This class handles dynamic methods through the method_missing method

#method_missing(sym, *args) ⇒ Object

If a property is not defined here we want to check the dynamic fields list



27
28
29
30
31
32
33
# File 'app/models/spud_inquiry.rb', line 27

def method_missing(sym, *args)
  inquiry_field = self.spud_inquiry_fields.select{ |field| field.field_name == sym.to_s}
  if inquiry_field.any?
    return inquiry_field[0].value
  end
  super
end

Instance Method Details

#build_inquiry_form_fieldsObject



18
19
20
21
22
23
24
# File 'app/models/spud_inquiry.rb', line 18

def build_inquiry_form_fields()
  if self.spud_inquiry_form
    self.spud_inquiry_form.spud_inquiry_form_fields.order(:field_order).each do |field|
      self.spud_inquiry_fields.new(:name => field.name, :field_name => field.field_name)
    end
  end
end

#emailObject



7
8
9
10
11
12
13
14
15
16
# File 'app/models/spud_inquiry.rb', line 7

def email
  email_field_names = ['email', 'email_address', 'email address', 'emailaddress', 'e-mail']
  email_field = self.spud_inquiry_fields.load.find do |field|
    email_field_names.include?(field.name.downcase)
  end
  if !email_field.blank?
    return email_field.value
  end
  return "Unknown Sender"
end

#respond_to?(sym, include_all = false) ⇒ Boolean

Returns:

  • (Boolean)


35
36
37
38
39
40
41
42
43
44
# File 'app/models/spud_inquiry.rb', line 35

def respond_to?(sym, include_all=false)
  default_responds = super
  if !default_responds
    inquiry_field = self.spud_inquiry_fields.select{ |field| field.field_name == sym.to_s}
    if inquiry_field.any?
      return true
    end
  end
  return default_responds
end