Sha256: 43623b509ce2960c65960aeebef5d7da825eee45b91d9ba96ee3bf47fe5adb37
Contents?: true
Size: 980 Bytes
Versions: 1
Compression:
Stored size: 980 Bytes
Contents
# frozen_string_literal: true class WriterActivityState include EnumField::DefineEnum attr_reader :code, :css, :slug, :allow_filter def initialize(code, slug = nil, css = nil, allow_filter = false) @code = code.to_sym @css = css || slug.to_s @slug = slug.to_sym if slug @allow_filter = allow_filter end def to_param @slug end def title I18n.t(code, scope: [:writer_activity_state]) end class << self def filter_list all.select(&:allow_filter) end def find_by_slug(slug) return nil if slug.blank? all.find { |i| i.slug == slug.to_sym } if slug.present? end end define_enum do |builder| builder.member :open_to_suggestions, object: new(:open_to_suggestions, 'available', 'suggestion', true) builder.member :searching_for_orders, object: new(:searching_for_orders, 'searching') builder.member :temporary_not_available, object: new(:temporary_not_available, 'unavailable') end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
translation_cms-0.1.5 | app/models/enums/writer_activity_state.rb |