Sha256: 67c13710cf25599eba5cb5fbacc2febfa84691f73db636dff16384f876d5ab4e

Contents?: true

Size: 578 Bytes

Versions: 1

Compression:

Stored size: 578 Bytes

Contents

# frozen_string_literal: true

class CertificateType
  include EnumField::DefineEnum
  extend ActiveModel::Naming

  attr_reader :code

  def initialize(code)
    @code = code.to_sym
  end

  def title
    I18n.t(name, scope: [:certificate_type])
  end

  def read_attribute_for_serialization(attribute_name)
    send(attribute_name)
  end

  define_enum do |builder|
    builder.member :default, object: new(:default)
    builder.member :other,   object: new(:other)
  end

  all.map(&:code).each do |code|
    define_method "#{code}?" do
      @code == code
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

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