Class: Approve

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

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(obj, fallback = nil, &block) ⇒ Approve

Returns a new instance of Approve.



6
7
8
9
10
11
# File 'lib/approve.rb', line 6

def initialize(obj, fallback=nil, &block)
  @values = []
  @obj = obj
  @fallback = fallback
  instance_eval(&block) if block_given?
end

Class Method Details

.approve(obj, fallback = nil, &block) ⇒ Object



2
3
4
# File 'lib/approve.rb', line 2

def self.approve(obj, fallback=nil, &block)
  new(obj, fallback, &block).finish
end

Instance Method Details

#finishObject



21
22
23
# File 'lib/approve.rb', line 21

def finish
  valid? ? @obj : @fallback
end

#try(expression) ⇒ Object



13
14
15
# File 'lib/approve.rb', line 13

def try(expression)
  @values << expression
end

#valid?Boolean

Returns:

  • (Boolean)


17
18
19
# File 'lib/approve.rb', line 17

def valid?
  @values.all?
end