Sha256: fdb6b62f2fadf3971960b37ba472fce8e645f0774e7606315d31dbfafde5b5d3

Contents?: true

Size: 1.13 KB

Versions: 3

Compression:

Stored size: 1.13 KB

Contents

module Locomotive::Steam

  class Site

    include Locomotive::Steam::Models::Entity

    def initialize(attributes = {})
      super({
        cache_enabled:            false,
        prefix_default_locale:    false,
        updated_at:               nil,
        content_version:          nil,
        template_version:         nil,
        domains:                  [],
        redirect_to_first_domain: false,
        url_redirections:         [],
        private_access:           false,
        password:                 nil
      }.merge(attributes))
    end

    def handle
      self[:handle] || self[:subdomain]
    end

    def default_locale
      locales.first || :en
    end

    def locales
      (self[:locales] || [:en]).map(&:to_sym)
    end

    def timezone_name
      self[:timezone] || self[:timezone_name] || 'UTC'
    end

    def timezone
      @timezone ||= ActiveSupport::TimeZone.new(timezone_name)
    end

    def last_modified_at
      [self.content_version, self.template_version].compact.sort.last || self.updated_at
    end

    def to_liquid
      Locomotive::Steam::Liquid::Drops::Site.new(self)
    end

  end

end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
locomotivecms_steam-1.0.0 lib/locomotive/steam/entities/site.rb
locomotivecms_steam-1.0.0.rc10 lib/locomotive/steam/entities/site.rb
locomotivecms_steam-1.0.0.rc9 lib/locomotive/steam/entities/site.rb