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