module HumanEnum
[ActiveRecord]: api.rubyonrails.org/v5.2.3/classes/ActiveRecord/Enum.html
Constants
- VERSION
Public Instance Methods
enum(definitions)
click to toggle source
Calls superclass method
# File lib/human_enum.rb, line 29 def enum(definitions) super definitions definitions.keys.without(:_prefix, :_suffix).each do |name| human_enum name end end
human_enum(enum_name)
click to toggle source
# File lib/human_enum.rb, line 51 def human_enum(enum_name) send :define_method, "human_#{enum_name}" do human_enum_value enum_name end collection_name = enum_name.to_s.pluralize self.class.send :define_method, "human_#{collection_name}" do human_enum_value enum_name, nil end end
human_enum_value(enum_name)
click to toggle source
# File lib/human_enum.rb, line 22 def human_enum_value(enum_name) enum_value = send enum_name self.class.human_enum_value(enum_name, enum_value) unless enum_value.nil? end