module Enumish::ClassMethods
Public Instance Methods
enum_id()
click to toggle source
# File lib/enumish.rb, line 19 def enum_id :short end
enum_ids()
click to toggle source
# File lib/enumish.rb, line 29 def enum_ids refresh_enum_ids! if @enum_ids.blank? @enum_ids end
method_missing(method_id, *args, &block)
click to toggle source
Calls superclass method
# File lib/enumish.rb, line 10 def method_missing(method_id, *args, &block) if !method_id.to_s.match(/\?$/) && enum_ids.include?(method_id.to_s) obj = self.where(enum_id => method_id.to_s).first return obj if obj.present? end super method_id, *args, &block end
refresh_enum_ids!()
click to toggle source
# File lib/enumish.rb, line 23 def refresh_enum_ids! Mutex.new.synchronize do @enum_ids = self.pluck(enum_id) end end