Class: Locomotive::Steam::Site
- Inherits:
-
Object
- Object
- Locomotive::Steam::Site
show all
- Includes:
- Models::Entity
- Defined in:
- lib/locomotive/steam/entities/site.rb
Instance Attribute Summary
#associations, #attributes, #base_url, #localized_attributes
Instance Method Summary
collapse
#[], #[]=, #_id, #change, #method_missing, #respond_to?, #serialize
#as_json, #to_hash, #to_json
#errors, #valid?
Constructor Details
#initialize(attributes = {}) ⇒ Site
Returns a new instance of Site.
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
# File 'lib/locomotive/steam/entities/site.rb', line 7
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,
redirect_to_https: false,
url_redirections: [],
private_access: false,
password: nil,
metafields_schema: {},
metafields: nil,
asset_host: nil
}.merge(attributes))
end
|
Instance Method Details
#default_locale ⇒ Object
30
31
32
|
# File 'lib/locomotive/steam/entities/site.rb', line 30
def default_locale
locales.first || :en
end
|
#handle ⇒ Object
26
27
28
|
# File 'lib/locomotive/steam/entities/site.rb', line 26
def handle
self[:handle] || self[:subdomain]
end
|
#last_modified_at ⇒ Object
46
47
48
|
# File 'lib/locomotive/steam/entities/site.rb', line 46
def last_modified_at
[self.content_version, self.template_version].compact.sort.last || self.updated_at
end
|
#locales ⇒ Object
34
35
36
|
# File 'lib/locomotive/steam/entities/site.rb', line 34
def locales
(self[:locales] || [:en]).map(&:to_sym)
end
|
#timezone ⇒ Object
42
43
44
|
# File 'lib/locomotive/steam/entities/site.rb', line 42
def timezone
@timezone ||= ActiveSupport::TimeZone.new(timezone_name)
end
|
#timezone_name ⇒ Object
38
39
40
|
# File 'lib/locomotive/steam/entities/site.rb', line 38
def timezone_name
self[:timezone] || self[:timezone_name] || 'UTC'
end
|