lib/rspec/rails/api/dsl/example_group.rb in rspec-rails-api-0.1.5 vs lib/rspec/rails/api/dsl/example_group.rb in rspec-rails-api-0.2.0

- old
+ new

@@ -19,16 +19,33 @@ # Used to describe an entity def entity(type, fields) metadata[:rrad].add_entity type, fields end + # Used to describe a request or path param which will be available as reference + def parameters(type, fields) + metadata[:rrad].add_parameter type, fields + end + # Used to describe query parameters - def path_params(fields) + def path_params(fields: nil, defined: nil) + if defined && !metadata[:rrad].parameters[defined] + raise "Parameter #{defined} was not defined with the 'parameters' method" + end + + fields ||= metadata[:rrad].parameters[defined] + metadata[:rrad].add_path_params fields end - def request_params(fields) - metadata[:rrad].add_request_params fields + def request_params(attributes: nil, defined: nil) + if defined && !metadata[:rrad].parameters[defined] + raise "Parameter #{defined} was not defined with the 'parameters' method" + end + + attributes ||= metadata[:rrad].parameters[defined] + + metadata[:rrad].add_request_params attributes end def on_get(url, description = nil, &block) on_action(:get, url, description, &block) end