Module: ActsAsPage::ClassMethods
- Defined in:
- lib/acts_as_page.rb
Instance Method Summary collapse
Instance Method Details
#acts_as_page ⇒ Object
11 12 13 14 15 16 17 18 19 20 21 |
# File 'lib/acts_as_page.rb', line 11 def acts_as_page extend FriendlyId has_many :parts, class_name: 'PagePart' validates :title, presence: true, uniqueness: true attr_accessible :title, :home, :meta_keywords, :meta_description translates :title, :slug, :meta_keywords, :meta_description friendly_id :title, use: [:slugged, :globalize] end |
#set_home_page(model) ⇒ Object
23 24 25 26 |
# File 'lib/acts_as_page.rb', line 23 def set_home_page(model) model.class.update_all(home: false) model.update_attribute(:home, true) end |
#with_globalize(conditions = {}) ⇒ Object
29 30 31 32 33 34 35 36 37 38 |
# File 'lib/acts_as_page.rb', line 29 def with_globalize(conditions = {}) conditions = {locale: ::Globalize.locale.to_s}.merge(conditions) globalized_conditions = {} conditions.keys.each do |key| if (translated_attribute_names.map(&:to_s) | %w(locale)).include?(key.to_s) globalized_conditions["#{self.translation_class.table_name}.#{key}"] = conditions.delete(key) end end joins(:translations).where(globalized_conditions).where(conditions).readonly(false) end |