Class: Locomotive::Site
- Inherits:
-
Object
- Object
- Locomotive::Site
- Includes:
- Concerns::Shared::Seo, Concerns::Site::AccessPoints, Concerns::Site::Cache, Concerns::Site::Locales, Concerns::Site::Metafields, Concerns::Site::PrivateAccess, Concerns::Site::Timezone, Concerns::Site::UrlRedirections, Mongoid::Document
- Defined in:
- app/models/locomotive/site.rb
Instance Method Summary collapse
- #accounts ⇒ Object
- #admin_memberships ⇒ Object
-
#created_by ⇒ Object
associations ##.
- #is_admin?(account) ⇒ Boolean
- #localized_content_types ⇒ Object
- #membership_for(account) ⇒ Object
-
#memberships ⇒ Object
behaviours ##.
-
#name ⇒ Object
validations ##.
-
#ordered_pages(conditions = {}) ⇒ Criteria
Get all the pages in the right order: depth and position, both ASC.
- #to_liquid ⇒ Object
- #to_steam ⇒ Object
Methods included from Concerns::Site::Metafields
#any_localized_metafield?, #find_metafield, #has_metafields?, #metafields=, #metafields_schema=, #metafields_ui=
Methods included from Concerns::Site::UrlRedirections
Methods included from Concerns::Site::Cache
Methods included from Concerns::Site::Timezone
Methods included from Concerns::Site::Locales
#default_locale, #default_locale_was, #each_locale, #is_default_locale?, #locale_fallbacks, #locales=, #localized?, #localized_page_fullpath, #prefix_default_locale?, #with_default_locale
Methods included from Concerns::Site::AccessPoints
#domains=, #handle=, #main_domain, #to_param
Instance Method Details
#accounts ⇒ Object
60 61 62 |
# File 'app/models/locomotive/site.rb', line 60 def accounts Account.criteria.in(_id: self.memberships.map(&:account_id)) end |
#admin_memberships ⇒ Object
68 69 70 |
# File 'app/models/locomotive/site.rb', line 68 def admin_memberships self.memberships.find_all { |m| m.admin? } end |
#created_by ⇒ Object
associations ##
23 |
# File 'app/models/locomotive/site.rb', line 23 belongs_to :created_by, class_name: 'Locomotive::Account' |
#is_admin?(account) ⇒ Boolean
72 73 74 |
# File 'app/models/locomotive/site.rb', line 72 def is_admin?(account) self.memberships.detect { |m| m.admin? && m.account_id == account._id } end |
#localized_content_types ⇒ Object
56 57 58 |
# File 'app/models/locomotive/site.rb', line 56 def localized_content_types self.content_types.localized end |
#membership_for(account) ⇒ Object
64 65 66 |
# File 'app/models/locomotive/site.rb', line 64 def membership_for(account) self.memberships.where(account_id: account._id).first end |
#memberships ⇒ Object
behaviours ##
42 |
# File 'app/models/locomotive/site.rb', line 42 accepts_nested_attributes_for :memberships, allow_destroy: true |
#name ⇒ Object
validations ##
17 |
# File 'app/models/locomotive/site.rb', line 17 field :name |
#ordered_pages(conditions = {}) ⇒ Criteria
Get all the pages in the right order: depth and position, both ASC.
52 53 54 |
# File 'app/models/locomotive/site.rb', line 52 def ordered_pages(conditions = {}) self.pages.unscoped.where(conditions || {}).order_by_depth_and_position end |
#to_liquid ⇒ Object
81 82 83 |
# File 'app/models/locomotive/site.rb', line 81 def to_liquid to_steam.to_liquid end |
#to_steam ⇒ Object
76 77 78 79 |
# File 'app/models/locomotive/site.rb', line 76 def to_steam repository = Locomotive::Steam::Services.build_instance.repositories.site repository.build(self.attributes.dup) end |