Class: ServiceObjecter::Result

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

Instance Method Summary collapse

Constructor Details

#initialize(success, value = nil, store = nil) ⇒ Result

Returns a new instance of Result.



3
4
5
# File 'lib/service_objecter/result.rb', line 3

def initialize(success, value = nil, store = nil)
  @success, @value, @store = success, value, store
end

Instance Method Details

#[](val) ⇒ Object



26
27
28
# File 'lib/service_objecter/result.rb', line 26

def [](val)
  @store[val]
end

#as_json(_ = nil) ⇒ Object



34
35
36
37
38
39
# File 'lib/service_objecter/result.rb', line 34

def as_json(_ = nil)
  {
    success: @success,
    value: value
  }
end

#failure?Boolean

Returns:

  • (Boolean)


18
19
20
# File 'lib/service_objecter/result.rb', line 18

def failure?
  !@success
end

#push(success, value = nil) ⇒ Object



7
8
9
10
11
12
# File 'lib/service_objecter/result.rb', line 7

def push(success, value = nil)
  @success = success
  store.merge!(value) if value.is_a?(Hash)
  @value = value
  self.class.new(@success, @value, store)
end

#storeObject



30
31
32
# File 'lib/service_objecter/result.rb', line 30

def store
  @store ||= Hash.new
end

#success?Boolean

Returns:

  • (Boolean)


14
15
16
# File 'lib/service_objecter/result.rb', line 14

def success?
  @success
end

#valueObject



22
23
24
# File 'lib/service_objecter/result.rb', line 22

def value
  @value
end