Module: EnumeratedType

Defined in:
lib/enumerated_type.rb,
lib/enumerated_type/version.rb

Defined Under Namespace

Modules: ClassMethods Classes: PropertyIndex

Constant Summary collapse

VERSION =
"0.5.0"

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(base) ⇒ Object



49
50
51
52
53
54
55
56
57
58
59
60
61
# File 'lib/enumerated_type.rb', line 49

def self.included(base)
  base.instance_eval do
    @all = []
    @by_cache = PropertyIndex.new

    attr_reader :name, :value

    private_class_method :new

    extend Enumerable
    extend ClassMethods
  end
end

Instance Method Details

#as_jsonObject



79
80
81
# File 'lib/enumerated_type.rb', line 79

def as_json(*)
  name.to_s
end

#inspectObject



63
64
65
# File 'lib/enumerated_type.rb', line 63

def inspect
  "#<#{self.class.name}:#{name}>"
end

#to_jsonObject



75
76
77
# File 'lib/enumerated_type.rb', line 75

def to_json(*)
  '"' + as_json + '"'
end

#to_sObject



67
68
69
# File 'lib/enumerated_type.rb', line 67

def to_s
  name.to_s
end

#to_symObject



71
72
73
# File 'lib/enumerated_type.rb', line 71

def to_sym
  name.to_sym
end