class Dox::Formatter
Attributes
current_example[RW]
passed_examples[RW]
Public Class Methods
new(output)
click to toggle source
Calls superclass method
# File lib/dox/formatter.rb, line 11 def initialize(output) super self.passed_examples = {} end
Public Instance Methods
dump_summary(summary)
click to toggle source
# File lib/dox/formatter.rb, line 29 def dump_summary(summary) return if summary.failed_examples.none? warn(summary.fully_formatted) exit(-1) end
example_passed(passed)
click to toggle source
# File lib/dox/formatter.rb, line 16 def example_passed(passed) self.current_example = CurrentExample.new(passed.example) move_example_to_passed if current_example.document? end
stop(notification)
click to toggle source
# File lib/dox/formatter.rb, line 21 def stop(notification) if notification.failed_examples.any? warn(notification.fully_formatted_failed_examples) else printer.print(passed_examples) end end
Private Instance Methods
load_or_save_action_to_resource(resource)
click to toggle source
# File lib/dox/formatter.rb, line 56 def load_or_save_action_to_resource(resource) resource.actions[current_example.action_name] ||= Entities::Action.new(current_example.metadata, current_example.request) end
load_or_save_group()
click to toggle source
# File lib/dox/formatter.rb, line 41 def load_or_save_group group_name = current_example.resource_group_name group = passed_examples[group_name] if group group.tap { |g| g.desc ||= current_example.resource_group_desc } else passed_examples[group_name] = Entities::ResourceGroup.new(current_example.metadata) end end
load_or_save_resource_to_group(group)
click to toggle source
# File lib/dox/formatter.rb, line 52 def load_or_save_resource_to_group(group) group.resources[current_example.resource_name] ||= Entities::Resource.new(current_example.metadata) end
move_example_to_passed()
click to toggle source
# File lib/dox/formatter.rb, line 61 def move_example_to_passed group = load_or_save_group resource = load_or_save_resource_to_group(group) action = load_or_save_action_to_resource(resource) action.examples << Entities::Example.new(current_example.metadata, current_example.request, current_example.response) end
printer()
click to toggle source
# File lib/dox/formatter.rb, line 70 def printer @printer ||= Printers::DocumentPrinter.new(output) end