Sha256: cbbea45805bedf83478463553e6fd0fa6d9858d5a6372fd892524e7832fa59b6

Contents?: true

Size: 511 Bytes

Versions: 19

Compression:

Stored size: 511 Bytes

Contents

module Pulitzer
  class ContentElementType < Pulitzer::ApplicationRecord
    validates :name, presence: true, uniqueness: true
    has_many :post_type_content_element_types, dependent: :destroy
    has_many :layouts, dependent: :destroy

    def type
      name.downcase.to_sym
    end

    %i(text image video clickable).each do |content_type|
      define_method "#{content_type}_type?" do
        type == content_type
      end
    end

    def has_styles?
      [:clickable].include? type
    end
  end
end

Version data entries

19 entries across 19 versions & 1 rubygems

Version Path
pulitzer-0.15.31 app/models/pulitzer/content_element_type.rb
pulitzer-0.15.30 app/models/pulitzer/content_element_type.rb
pulitzer-0.15.29 app/models/pulitzer/content_element_type.rb
pulitzer-0.15.28 app/models/pulitzer/content_element_type.rb
pulitzer-0.15.27 app/models/pulitzer/content_element_type.rb
pulitzer-0.15.26 app/models/pulitzer/content_element_type.rb
pulitzer-0.15.25 app/models/pulitzer/content_element_type.rb
pulitzer-0.15.24 app/models/pulitzer/content_element_type.rb
pulitzer-0.15.23 app/models/pulitzer/content_element_type.rb
pulitzer-0.15.22 app/models/pulitzer/content_element_type.rb
pulitzer-0.15.21 app/models/pulitzer/content_element_type.rb
pulitzer-0.15.20 app/models/pulitzer/content_element_type.rb
pulitzer-0.15.19 app/models/pulitzer/content_element_type.rb
pulitzer-0.15.18 app/models/pulitzer/content_element_type.rb
pulitzer-0.15.17 app/models/pulitzer/content_element_type.rb
pulitzer-0.15.16 app/models/pulitzer/content_element_type.rb
pulitzer-0.15.15 app/models/pulitzer/content_element_type.rb
pulitzer-0.15.14 app/models/pulitzer/content_element_type.rb
pulitzer-0.15.13 app/models/pulitzer/content_element_type.rb