Sha256: 47f260793ff12ed1ef279b2ec426c1e02685c60c9898e48c361d00f54e6cfb3b
Contents?: true
Size: 1.04 KB
Versions: 1
Compression:
Stored size: 1.04 KB
Contents
class Tramway::Landing::Block < ::Tramway::Landing::ApplicationRecord enumerize :block_type, in: [ :header, :footer, :page, :cards, :features, :contacts, :news, :link, :page_with_button, :just_text, :view ] enumerize :navbar_link, in: [ :exist, :not_exist ], default: :not_exist enumerize :link_object_type, in: [ 'Tramway::SportSchool::Document', 'Tramway::Page::Page' ] mount_uploader :background, PhotoUploader state_machine :view_state, initial: :published do state :published state :hidden event :publish do transition hidden: :published end event :hide do transition published: :hidden end end scope :on_main_page, -> { active.where(view_state: :published).order :position } scope :with_navbar_link, -> { where navbar_link: :exist } scope :header, -> { on_main_page.where(block_type: :header).first } scope :footer, -> { on_main_page.where(block_type: :footer).first } def link_object link_object_type.constantize.find link_object_id end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
tramway-landing-1.8 | app/models/tramway/landing/block.rb |