Class: Address
- Inherits:
-
ActiveRecord::Base
- Object
- ActiveRecord::Base
- Address
- Defined in:
- app/models/address.rb
Class Method Summary collapse
Instance Method Summary collapse
- #address ⇒ Object
- #is_same_as(addr) ⇒ Object
- #to_s ⇒ Object
- #update_with_note(person, user, address, time_zone, updated_by) ⇒ Object
Class Method Details
.find_or_create(pers_id) ⇒ Object
32 33 34 35 |
# File 'app/models/address.rb', line 32 def self.find_or_create(pers_id) #refactor to first_or_initialize when Rails 3.2 where(:person_id => pers_id).first || Address.create(:person_id => pers_id) end |
.from_payment(payment) ⇒ Object
24 25 26 |
# File 'app/models/address.rb', line 24 def self.from_payment(payment) payment.try(:customer).try(:address) end |
.unhash(address) ⇒ Object
28 29 30 |
# File 'app/models/address.rb', line 28 def self.unhash(address) (address.is_a? Hash) ? Address.new(address) : address end |
Instance Method Details
#address ⇒ Object
7 8 9 |
# File 'app/models/address.rb', line 7 def address "#{address1} #{address2}" end |
#is_same_as(addr) ⇒ Object
15 16 17 18 19 20 21 22 |
# File 'app/models/address.rb', line 15 def is_same_as(addr) return address1.eql?(addr.address1) && address2.eql?(addr.address2) && city.eql?(addr.city) && state.eql?(addr.state) && zip.eql?(addr.zip) && country.eql?(addr.country) end |
#to_s ⇒ Object
11 12 13 |
# File 'app/models/address.rb', line 11 def to_s "#{address1} #{address2} #{city} #{state} #{zip} #{country}" end |
#update_with_note(person, user, address, time_zone, updated_by) ⇒ Object
37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 |
# File 'app/models/address.rb', line 37 def update_with_note(person, user, address, time_zone, updated_by) old_addr = to_s() unless is_same_as(address) ["address1", "address2", "city", "state", "zip", "country"].each do |field| self.send("#{field}=", address.send(field)) end if save extra = updated_by.nil? ? "" : " from #{updated_by}" text = "address updated#{extra}" text = text + ", old address was: (#{old_addr})" unless old_addr.blank? note = person.notes.create({ :occurred_at => DateTime.now.in_time_zone(time_zone), :text => text }) note.user = user else return false end end true end |