Sha256: a1f9bcfeaac141fc826061652854e5919f01e1febfae5e6b01fbe32273dc5d16

Contents?: true

Size: 1.04 KB

Versions: 13

Compression:

Stored size: 1.04 KB

Contents

module Locomotive
  class SitePresenter < BasePresenter

    ## properties ##

    property    :name
    properties  :locales,   type: Array

    with_options if: Proc.new { Locomotive.config.multi_sites_or_manage_domains? } do |presenter|
      presenter.property  :subdomain
      presenter.property  :domains,   type: Array, required: false
    end

    with_options only_getter: true do |presenter|
      presenter.property :domains_without_subdomain, type: Array, if: Proc.new { Locomotive.config.multi_sites_or_manage_domains? }
      presenter.property :domain_name
      presenter.property :memberships, type: Array
    end

    properties  :seo_title, :meta_keywords, :meta_description, :robots_txt, required: false

    ## other getters / setters ##

    def domain_name
      Locomotive.config.domain
    end

    def memberships
      self.__source.memberships.map { |membership| membership.as_json(self.__options) }
    end

    ## custom as_json ##

    def as_json_for_html_view
      self.as_json(self.getters - %w(memberships))
    end

  end
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
locomotive_cms-2.2.3 app/presenters/locomotive/site_presenter.rb
locomotive_cms-2.2.2 app/presenters/locomotive/site_presenter.rb
locomotive_cms-2.2.1 app/presenters/locomotive/site_presenter.rb
locomotive_cms-2.2.0 app/presenters/locomotive/site_presenter.rb
locomotive_cms-2.1.4 app/presenters/locomotive/site_presenter.rb
locomotive_cms-2.1.3 app/presenters/locomotive/site_presenter.rb
locomotive_cms-2.1.2 app/presenters/locomotive/site_presenter.rb
locomotive_cms-2.1.1 app/presenters/locomotive/site_presenter.rb
locomotive_cms-2.1.0 app/presenters/locomotive/site_presenter.rb
locomotive_cms-2.0.3 app/presenters/locomotive/site_presenter.rb
locomotive_cms-2.0.2 app/presenters/locomotive/site_presenter.rb
locomotive_cms-2.0.1 app/presenters/locomotive/site_presenter.rb
locomotive_cms-2.0.0 app/presenters/locomotive/site_presenter.rb