Sha256: d6e9c96296312b24ea39507844f8754aa82b0cd76e8caf7461639f2c8dcf0b08

Contents?: true

Size: 1.32 KB

Versions: 1

Compression:

Stored size: 1.32 KB

Contents

# frozen_string_literal: true

class StructureType < Sunrise::Models::StructureType
  def initialize(code, pageable = true)
    @pageable = pageable
    super code
  end

  def pageable?
    @pageable
  end

  class << self
    def pageable
      all.select(&:pageable?)
    end

    def pageable_ids
      pageable.map(&:id)
    end
  end

  define_enum do |builder|
    # main types
    builder.member :page,         object: new('page')
    builder.member :group,        object: new('group', false)
    builder.member :main,         object: new('main', false)
    builder.member :redirect,     object: new('redirect', false)

    # slug alias types
    builder.member :services,     object: new('services')
    builder.member :prices,       object: new('prices')
    builder.member :posts,        object: new('posts')
    builder.member :questions,    object: new('questions')
    builder.member :languages,    object: new('languages')
    builder.member :company,      object: new('company')
    builder.member :writers,      object: new('writers')
    builder.member :contacts,     object: new('contacts')
    builder.member :testimonials, object: new('testimonials')
    builder.member :formats,      object: new('formats')
    builder.member :landing,      object: new('landing')
    builder.member :free_quote,   object: new('free_quote')
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
translation_cms-0.1.5 app/models/defaults/structure_type.rb