Sha256: 6710199bc385578a54448859abf33bc8977b2db6c2adc002d172a7741b68061e
Contents?: true
Size: 672 Bytes
Versions: 6
Compression:
Stored size: 672 Bytes
Contents
module AbAdmin module Models class TypeModel include ::EnumField::DefineEnum attr_reader :code class_attribute :codes, :i18n_scope, instance_writer: false self.codes = [] self.i18n_scope = [:admin, :type_model] def initialize(code) @code = code.to_sym end def self.define_enum_by_codes define_enum do |builder| codes.each do |kind| builder.member kind, object: new(kind.to_s) end end end def title I18n.t(@code, scope: i18n_scope) end def self.legal?(value) all.map(&:id).include?(value) end end end end
Version data entries
6 entries across 6 versions & 1 rubygems