Class: Spokes::Config::Env

Inherits:
Object
  • Object
show all
Defined in:
lib/spokes/config/env.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(&blk) ⇒ Env

Returns a new instance of Env.



8
9
10
# File 'lib/spokes/config/env.rb', line 8

def initialize(&blk)
  instance_eval(&blk)
end

Class Method Details

.load(&blk) ⇒ Object



4
5
6
# File 'lib/spokes/config/env.rb', line 4

def self.load(&blk)
  new(&blk)
end

Instance Method Details

#arrayObject



27
28
29
# File 'lib/spokes/config/env.rb', line 27

def array
  ->(v) { v.nil? ? [] : v.split(',') }
end

#boolObject



39
40
41
# File 'lib/spokes/config/env.rb', line 39

def bool
  ->(v) { v.to_s == 'true' }
end

#default(name, default, method = nil) ⇒ Object



22
23
24
25
# File 'lib/spokes/config/env.rb', line 22

def default(name, default, method = nil)
  value = cast(ENV.fetch(name.to_s.upcase, default), method)
  create(name, value)
end

#floatObject



35
36
37
# File 'lib/spokes/config/env.rb', line 35

def float
  ->(v) { v.to_f }
end

#intObject



31
32
33
# File 'lib/spokes/config/env.rb', line 31

def int
  ->(v) { v.to_i }
end

#mandatory(name, method = nil) ⇒ Object



12
13
14
15
# File 'lib/spokes/config/env.rb', line 12

def mandatory(name, method = nil)
  value = cast(ENV.fetch(name.to_s.upcase), method)
  create(name, value)
end

#optional(name, method = nil) ⇒ Object



17
18
19
20
# File 'lib/spokes/config/env.rb', line 17

def optional(name, method = nil)
  value = cast(ENV[name.to_s.upcase], method)
  create(name, value)
end

#stringObject



43
44
45
# File 'lib/spokes/config/env.rb', line 43

def string
  nil
end

#symbolObject



47
48
49
# File 'lib/spokes/config/env.rb', line 47

def symbol
  ->(v) { v.nil? ? nil : v.to_sym }
end