Sha256: 117e0e8d4af0ccb94bc2e3640ad0b95e63009786d88d8bf06737e594978ef6ad

Contents?: true

Size: 1.41 KB

Versions: 5

Compression:

Stored size: 1.41 KB

Contents

module Locomotive
  module Wagon

    class SiteDecorator < SimpleDelegator

      include ToHashConcern
      include PersistAssetsConcern

      attr_accessor :__content_assets_pusher__

      def domains
        (__getobj__.domains || []) - ['localhost']
      end

      def metafields_ui
        self[:metafields_ui].try(:to_json)
      end

      def metafields_schema
        self[:metafields_schema].try(:to_json)
      end

      def metafields
        replace_with_content_assets_in_hash!(self[:metafields])
        self[:metafields].try(:to_json)
      end

      def picture
        picture_path = __getobj__.picture
        if picture_path && File.exists?(picture_path)
          Locomotive::Coal::UploadIO.new(picture_path, nil, 'icon.png')
        else
          nil
        end
      end

      %i(robots_txt timezone seo_title meta_keywords meta_description asset_host).each do |name|
        define_method(name) do
          self[name]
        end
      end

      def __attributes__
        %i(name handle robots_txt locales timezone seo_title meta_keywords meta_description picture metafields_schema metafields metafields_ui asset_host)
      end

      def edited?
        (self[:content_version].try(:to_i) || 0) > 0
      end

    end

    class UpdateSiteDecorator < SiteDecorator

      def __attributes__
        %i(picture locales metafields_schema metafields metafields_ui asset_host)
      end

    end

  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
locomotivecms_wagon-2.4.1 lib/locomotive/wagon/decorators/site_decorator.rb
locomotivecms_wagon-2.4.0 lib/locomotive/wagon/decorators/site_decorator.rb
locomotivecms_wagon-2.4.0.rc2 lib/locomotive/wagon/decorators/site_decorator.rb
locomotivecms_wagon-2.4.0.rc1 lib/locomotive/wagon/decorators/site_decorator.rb
locomotivecms_wagon-2.3.0 lib/locomotive/wagon/decorators/site_decorator.rb