Class: Putpaws::Env

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

Overview

require ‘delegate’

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(values) ⇒ Env

Returns a new instance of Env.



10
11
12
# File 'lib/putpaws/env.rb', line 10

def initialize(values)
  @values = values
end

Instance Attribute Details

#valuesObject (readonly)

Returns the value of attribute values.



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

def values
  @values
end

Class Method Details

.defaultObject



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

def self.default
  @env ||= new({})
end

Instance Method Details

#delete(key) ⇒ Object



26
27
28
# File 'lib/putpaws/env.rb', line 26

def delete(key)
  values.delete(key)
end

#fetch(key, default = nil, &block) ⇒ Object



18
19
20
# File 'lib/putpaws/env.rb', line 18

def fetch(key, default=nil, &block)
  fetch_for(key, default, &block)
end

#fetch_for(key, default, &block) ⇒ Object



22
23
24
# File 'lib/putpaws/env.rb', line 22

def fetch_for(key, default, &block)
  block ? values.fetch(key, &block) : values.fetch(key, default)
end

#set(key, value = nil, &block) ⇒ Object



14
15
16
# File 'lib/putpaws/env.rb', line 14

def set(key, value=nil, &block)
  values[key] = block || value
end