class ShouldIT::Formatters::RSpecFormatter
Constants
- VERSION
Attributes
output[R]
specs[R]
Public Class Methods
new(output)
click to toggle source
Calls superclass method
# File lib/shouldit/formatters/rspec_formatter.rb, line 14 def initialize(output) super @specs = {} end
Public Instance Methods
build_output(examples)
click to toggle source
# File lib/shouldit/formatters/rspec_formatter.rb, line 44 def build_output(examples) examples.each do |example| group = @specs[example[:group]] || {} @specs[example[:group]] = group.merge({ example[:description] => example[:result] }) end end
close(_notification)
click to toggle source
# File lib/shouldit/formatters/rspec_formatter.rb, line 54 def close(_notification) output.write @specs.to_json output.close if IO === output && output != $stdout end
group_for(metadata)
click to toggle source
# File lib/shouldit/formatters/rspec_formatter.rb, line 36 def group_for(metadata) metadata[:full_description].gsub(metadata[:description], '').strip end
map_example(example)
click to toggle source
# File lib/shouldit/formatters/rspec_formatter.rb, line 28 def map_example(example) { group: group_for(example.metadata), description: example.metadata[:description], result: result_for(example.metadata) } end
result_for(metadata)
click to toggle source
# File lib/shouldit/formatters/rspec_formatter.rb, line 40 def result_for(metadata) metadata[:execution_result].status.upcase.to_s end
stop(notification)
click to toggle source
# File lib/shouldit/formatters/rspec_formatter.rb, line 20 def stop(notification) examples = notification.examples.map do |example| map_example(example) end build_output(examples) end