Sha256: 43691e5a9cd09bdacaccc1bcfd79a807a3c6f70091c7a59ac3ae5b7d689621fc
Contents?: true
Size: 1.3 KB
Versions: 4
Compression:
Stored size: 1.3 KB
Contents
module Fdoc module SpecWatcher VERBS = [:get, :post, :put, :delete] VERBS.each do |verb| define_method(verb) do |*params| action, request_params = params request_params ||= {} result = super(*params) path = if respond_to?(:example) # Rspec 2 example.metadata[:fdoc] else # Rspec 1.3.2 opts = {} __send__(:example_group_hierarchy).each do |example| opts.merge!(example.options) end opts.merge!(options) opts[:fdoc] end if path response_params = begin JSON.parse(response.body) rescue {} end successful = Fdoc.decide_success(response_params, response.status) verify!(verb, path, request_params, response_params, response.status, successful) end result end end private def verify!(verb, path, request_params, response_params, response_status, successful) service = Service.new(Fdoc.service_path) endpoint = service.open(verb, path) endpoint.consume_request(request_params, successful) endpoint.consume_response(response_params, response_status, successful) endpoint.persist! if endpoint.respond_to?(:persist!) end end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
fdoc-0.2.4 | lib/fdoc/spec_watcher.rb |
fdoc-0.2.3 | lib/fdoc/spec_watcher.rb |
fdoc-0.2.2 | lib/fdoc/spec_watcher.rb |
fdoc-0.2.1 | lib/fdoc/spec_watcher.rb |