Sha256: 03555f53cde65ec75cd05127e06e027350b933db95ec73a8cfc547426420dfa1

Contents?: true

Size: 565 Bytes

Versions: 16

Compression:

Stored size: 565 Bytes

Contents

# frozen_string_literal: true

module Alchemy
  class EssencePage < BaseRecord
    PAGE_ID = /\A\d+\z/

    acts_as_essence(
      ingredient_column: :page,
      preview_text_method: :name,
      belongs_to: {
        class_name: 'Alchemy::Page',
        foreign_key: :page_id,
        inverse_of: :essence_pages,
        optional: true
      }
    )

    def ingredient=(page)
      case page
      when PAGE_ID
        self.page = Alchemy::Page.new(id: page)
      when Alchemy::Page
        self.page = page
      else
        super
      end
    end
  end
end

Version data entries

16 entries across 16 versions & 1 rubygems

Version Path
alchemy_cms-4.6.7 app/models/alchemy/essence_page.rb
alchemy_cms-4.6.6 app/models/alchemy/essence_page.rb
alchemy_cms-4.6.5 app/models/alchemy/essence_page.rb
alchemy_cms-4.5.1 app/models/alchemy/essence_page.rb
alchemy_cms-4.4.5 app/models/alchemy/essence_page.rb
alchemy_cms-4.6.4 app/models/alchemy/essence_page.rb
alchemy_cms-4.6.3 app/models/alchemy/essence_page.rb
alchemy_cms-4.6.2 app/models/alchemy/essence_page.rb
alchemy_cms-4.6.1 app/models/alchemy/essence_page.rb
alchemy_cms-4.6.0 app/models/alchemy/essence_page.rb
alchemy_cms-4.5.0 app/models/alchemy/essence_page.rb
alchemy_cms-4.4.4 app/models/alchemy/essence_page.rb
alchemy_cms-4.4.3 app/models/alchemy/essence_page.rb
alchemy_cms-4.4.2 app/models/alchemy/essence_page.rb
alchemy_cms-4.4.1 app/models/alchemy/essence_page.rb
alchemy_cms-4.4.0 app/models/alchemy/essence_page.rb