Sha256: 1cb3d17d3565c6d4b98d1af0d2097b88fe41a2a66f70f20eb476e322b0315a62
Contents?: true
Size: 1.38 KB
Versions: 2
Compression:
Stored size: 1.38 KB
Contents
class SpudInquiry < ActiveRecord::Base has_many :spud_inquiry_fields, :dependent => :destroy belongs_to :spud_inquiry_form accepts_nested_attributes_for :spud_inquiry_fields, :reject_if => lambda { |a| a[:name].blank? } 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 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 # If a property is not defined here we want to check the dynamic fields list 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 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 end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
tb_inquiries-1.0.1 | app/models/spud_inquiry.rb |
tb_inquiries-1.0.0 | app/models/spud_inquiry.rb |