Sha256: ce61f3bcdb6097b636eecbb1b3ec969bb777a372bf26d1fe6ef26283e414d6b0
Contents?: true
Size: 809 Bytes
Versions: 1
Compression:
Stored size: 809 Bytes
Contents
# frozen_string_literal: true class WriterSortType 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 :completed_orders_count, object: new('completed_orders_count', 'completed') builder.member :overall_ranking, object: new('overall_ranking', 'ranking') end def to_param @code end class << self def default overall_ranking 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/writer_sort_type.rb |