Module: HandyConst

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

Constant Summary collapse

VERSION =
'0.1.1'

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.extend_module!Object



4
5
6
# File 'lib/handy_const.rb', line 4

def self.extend_module!
  Module.send :include, self
end

Instance Method Details

#const(name, value) ⇒ Object



8
9
10
11
12
13
14
15
16
17
18
19
20
# File 'lib/handy_const.rb', line 8

def const name, value
  const_name = name.to_s.upcase
  const_set const_name, value.freeze
  class_eval <<-CODE, __FILE__, __LINE__ + 1
    def self.#{name}
      #{const_name}
    end

    def #{name}
      #{const_name}
    end
  CODE
end