Sha256: e73efc0b8f361522d388ace16f57e809c6cb2ed5cd6c14b6ece48e4c18991370

Contents?: true

Size: 615 Bytes

Versions: 1

Compression:

Stored size: 615 Bytes

Contents

# frozen_string_literal: true

class OrderNotificationType
  include EnumField::DefineEnum

  attr_reader :code

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

  def title(options = {})
    I18n.t(code, options.merge(scope: [:account, :notification_type]))
  end

  define_enum do |builder|
    builder.member :order_messages, object: new(:order_messages)
    builder.member :order_completed, object: new(:order_completed)
    builder.member :translator_assigned, object: new(:translator_assigned)
  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/order_notification_type.rb