Sha256: 45236fac1b19793f65120d8e5d33c03525d10c2d0ff643735de9196928fd965b

Contents?: true

Size: 1.05 KB

Versions: 5

Compression:

Stored size: 1.05 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:         []
      }.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

5 entries across 5 versions & 1 rubygems

Version Path
locomotivecms_steam-1.0.0.rc8 lib/locomotive/steam/entities/site.rb
locomotivecms_steam-1.0.0.rc6 lib/locomotive/steam/entities/site.rb
locomotivecms_steam-1.0.0.rc4 lib/locomotive/steam/entities/site.rb
locomotivecms_steam-1.0.0.rc3 lib/locomotive/steam/entities/site.rb
locomotivecms_steam-1.0.0.rc2 lib/locomotive/steam/entities/site.rb