module Omniorder::Customerable

Public Class Methods

get_or_new_from_email(email, attributes = {}) click to toggle source
# File lib/omniorder/customerable.rb, line 24
def self.get_or_new_from_email(email, attributes = {})
  customer = nil

  if Omniorder.customer_type.respond_to?(:find_by_email)
    customer = Omniorder.customer_type.find_by_email(email)
  end

  if customer
    attributes.each do |name, value|
      customer.send("#{name}=", value)
    end
  else
    Omniorder.customer_type.new(attributes)
  end

  customer
end

Public Instance Methods

first_name() click to toggle source
# File lib/omniorder/customerable.rb, line 11
def first_name
  first_names.first
end
first_names() click to toggle source
# File lib/omniorder/customerable.rb, line 7
def first_names
  name.split[0...-1]
end
full_address() click to toggle source
# File lib/omniorder/customerable.rb, line 19
def full_address
  fields = [address1, address2, address3, address4, postcode, country]
  fields.reject { |f| f.nil? || f.empty? }.join("\n")
end
last_name() click to toggle source
# File lib/omniorder/customerable.rb, line 15
def last_name
  name.split.last
end
username_is_email?() click to toggle source
# File lib/omniorder/customerable.rb, line 3
def username_is_email?
  username == email
end