Class: VendorProxyDecorator

Inherits:
VendorsDecorator show all
Defined in:
app/decorators/vendor_proxy_decorator.rb

Instance Method Summary collapse

Dynamic Method Handling

This class handles dynamic methods through the method_missing method in the class VendorsDecorator

Instance Method Details

#as_json(options = {}) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
# File 'app/decorators/vendor_proxy_decorator.rb', line 4

def as_json(options={})
  {
    :id => self.id,
    :address_1 => vendor.address_1,
    :address_2 => vendor.address_2,
    :admin_notes => vendor.admin_notes,
    :city => vendor.city,
    :categories => VendorCategoryDecorator.decorate(vendor.vendor_categories),
    :contact_email => vendor.contact_email,
    :contact_full_name => vendor.contact_full_name,
    :contact_phone => vendor.contact_phone,
    :contact_title => vendor.contact_title,
    :country => vendor.country,
    :discount_code => self.discount_code,
    :discount_percentage => self.discount_percentage,
    :discount_percentage => vendor.discount_percentage,
    :display_on_widget => self.display_on_widget,
    :display_on_widget_contact_form => vendor.display_on_widget_contact_form,
    :landing_page => self.landing_page,
    :logo => vendor.logo_url,
    :long_description => liquid_render(vendor.long_description),
    :member_compensation => vendor.member_compensation,
    :name => vendor.name,
    :nickname => vendor.nickname,
    :sales_email => self.sales_email,
    :sales_email => vendor.sales_email,
    :sales_full_name => self.sales_full_name,
    :sales_phone => self.sales_phone,
    :sales_title => self.sales_title,
    :short_description => liquid_render(vendor.short_description),
    :state => vendor.state,
    :website => vendor.website,
    :zipcode => vendor.zipcode
  }
end

#label_with_default(column) ⇒ Object



48
49
50
51
52
53
54
55
# File 'app/decorators/vendor_proxy_decorator.rb', line 48

def label_with_default(column)
  "#{model.class.human_attribute_name(column)}".tap do |retv|
    if (v = model.vendor.send(column)) && v.present?
      retv << ' '
      retv << h.e9_t(:vendor_default, :default_value => v)
    end
  end
end

#landing_page_urlObject



44
45
46
# File 'app/decorators/vendor_proxy_decorator.rb', line 44

def landing_page_url
  model.landing_page =~ /^https?:/ ? model.landing_page : "http://#{model.landing_page}"
end

#sales_info_arrayObject



40
41
42
# File 'app/decorators/vendor_proxy_decorator.rb', line 40

def sales_info_array
  [model.sales_full_name, model.sales_title, model.sales_phone, model.sales_email].reject(&:blank?)
end