Sha256: 67f17e6c32d35a2d61335f0903c9a98760e3fa892cd3a1ed82f4f6ee416bf8a9

Contents?: true

Size: 1.47 KB

Versions: 1

Compression:

Stored size: 1.47 KB

Contents

# frozen_string_literal: true

class WidgetType
  include EnumField::DefineEnum

  attr_reader :code, :params

  def initialize(code, params = {})
    @code = code.to_sym
    @params = params
  end

  def title
    I18n.t(code, scope: [:widget_type])
  end

  def self.common
    all.select { |i| i.params[:only].blank? }
  end

  define_enum do |builder|
    builder.member :testimonials,   object: new('testimonials')
    builder.member :features,       object: new('features')
    builder.member :extras,         object: new('extras')
    builder.member :subscribe,      object: new('subscribe')

    builder.member :badges,         object: new('badges')
    builder.member :order_summary,  object: new('order_summary', only: :order)
    builder.member :top_languages,  object: new('top_languages')

    # builder.member :hurry_up,       object: new('hurry_up')
    # builder.member :attention,      object: new('attention')
    # builder.member :blog,           object: new('blog')
    # builder.member :delivery,       object: new('delivery')
    # builder.member :free_quote,     object: new('free_quote')
    # builder.member :get_price,      object: new('get_price')
    # builder.member :plagiarism,     object: new('plagiarism')
    # builder.member :ratings,        object: new('ratings')
    # builder.member :security,       object: new('security')
    # builder.member :support,        object: new('support')
    # builder.member :support_button, object: new('support_button')
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
translation_cms-0.1.5 app/models/enums/widget_type.rb