Class: Locomotive::Site

Inherits:
Object
  • Object
show all
Extended by:
Extensions::Site::FirstInstallation, Extensions::Site::SubdomainDomains
Includes:
Extensions::Shared::Seo, Extensions::Site::Locales, Extensions::Site::Timezone, Mongoid::Document
Defined in:
app/models/locomotive/site.rb

Instance Method Summary collapse

Methods included from Extensions::Site::SubdomainDomains

enable_subdomain_n_domains_if_multi_sites

Methods included from Extensions::Site::FirstInstallation

create_first_one

Methods included from Extensions::Site::Timezone

#timezone

Methods included from Extensions::Site::Locales

#default_locale, #default_locale_was, #each_locale, #locale_fallbacks, #locales=, #localized?, #localized_page_fullpath, #with_default_locale

Instance Method Details

#accountsObject



48
49
50
# File 'app/models/locomotive/site.rb', line 48

def accounts
  Account.criteria.in(_id: self.memberships.map(&:account_id))
end

#admin_membershipsObject



52
53
54
# File 'app/models/locomotive/site.rb', line 52

def admin_memberships
  self.memberships.find_all { |m| m.admin? }
end

#all_pages_in_onceObject

methods ##



40
41
42
# File 'app/models/locomotive/site.rb', line 40

def all_pages_in_once
  Page.quick_tree(self)
end

#fetch_page(path, logged_in) ⇒ Object



44
45
46
# File 'app/models/locomotive/site.rb', line 44

def fetch_page(path, logged_in)
  Locomotive::Page.fetch_page_from_path self, path, logged_in
end

#is_admin?(account) ⇒ Boolean

Returns:



56
57
58
# File 'app/models/locomotive/site.rb', line 56

def is_admin?()
  self.memberships.detect { |m| m.admin? && m. == ._id }
end

#nameObject

validations ##



14
# File 'app/models/locomotive/site.rb', line 14

field :name

#pagesObject

associations ##



18
# File 'app/models/locomotive/site.rb', line 18

has_many    :pages,           class_name: 'Locomotive::Page',           validate: false, autosave: false