Class: JsonStatham::Result

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

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(parser) ⇒ Result

Returns a new instance of Result.



11
12
13
14
15
# File 'lib/json_statham/result.rb', line 11

def initialize(parser)
  Validation.check_object_class(parser, [JsonStatham::Parser])

  @parser = parser
end

Instance Attribute Details

#parserObject (readonly)

Returns the value of attribute parser.



5
6
7
# File 'lib/json_statham/result.rb', line 5

def parser
  @parser
end

Class Method Details

.call(parser) ⇒ Object



7
8
9
# File 'lib/json_statham/result.rb', line 7

def self.call(parser)
  new(parser).call
end

Instance Method Details

#callObject



17
18
19
20
21
22
23
24
25
26
# File 'lib/json_statham/result.rb', line 17

def call
  if JsonStatham.config.logger?
    puts <<-RESULT_MSG
      Previous duration: #{previous_duration}
      Current duration: #{current_duration}
    RESULT_MSG
  end

  self
end

#current_durationObject



28
29
30
31
32
# File 'lib/json_statham/result.rb', line 28

def current_duration
  return unless observed?

  parser.observer.duration
end

#failure?Boolean

Returns:

  • (Boolean)


46
47
48
# File 'lib/json_statham/result.rb', line 46

def failure?
  !success?
end

#observed?Boolean

Returns:

  • (Boolean)


34
35
36
# File 'lib/json_statham/result.rb', line 34

def observed?
  !!parser.observer
end

#previous_durationObject



38
39
40
# File 'lib/json_statham/result.rb', line 38

def previous_duration
  parser.previous_duration
end

#success?Boolean

Returns:

  • (Boolean)


42
43
44
# File 'lib/json_statham/result.rb', line 42

def success?
  parser.valid?
end