if object.nil?
do_this
else
object.do_that
else
object.try(:do_that) || do_this
object && object.do_that
module ContactDatum
class Address < ContactData
validates :address, presence: true
validates :city, presence: true
validates :zipcode, presence: true
validates :country, presence: true
def full_address
"#{address}, #{country_address}"
end
def country_address
"#{city} #{zipcode}, #{country}"
end
end
end
%address
- if @address.present?
%p= @address.address
%p= @address.country_address
- else
%p= '< no address entered >'
%p= '< no city entered >, < no country >'
@address = current_account.addresses.first
@address = current_account.addresses.first
if @address.blank?
@address = ContactDatum::Address.new
@address.address = '< no address entered >'
@address.city = '< no city >'
@address.country = '< no country >'
end
%address
%p= @address.address
%p= @address.country_address
module ContactDatum
class NullAddress
def address
'< no address >'
end
def city
'< no city >'
end
def zipcode
'< no zipcode >'
end
def country
'< no country >'
end
def full_address
"#{address}, #{country_address}"
end
def country_address
"#{city} #{zipcode}, #{country}"
end
end
end
@address = current_account.addresses.first ||
ContactDatum::NullAddress.new
%address
%p= @address.address
%p= @address.country_address