Sha256: 4cb2e526a6449551bdd1bbd7f82d8de625918d26b63062edb7c0948b42409cae
Contents?: true
Size: 709 Bytes
Versions: 1
Compression:
Stored size: 709 Bytes
Contents
# frozen_string_literal: true class SortOrder include EnumField::DefineEnum attr_reader :code, :slug def initialize(code, slug = nil) @code = code.to_sym @slug = slug || @code.to_s end def title I18n.t(code, scope: [:sort_order, :title]) end define_enum do |builder| builder.member :asc, object: new('asc') builder.member :desc, object: new('desc') end def to_param @slug end class << self def default desc end def find_by_slug(slug) return nil if slug.blank? all.detect { |i| i.slug.casecmp(slug) == 0 } end 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/sort_order.rb |