lib/rspec-api/dsl.rb in rspec-api-0.2.0 vs lib/rspec-api/dsl.rb in rspec-api-0.4.0
- old
+ new
@@ -3,14 +3,22 @@
require 'rspec-api/dsl/request'
module DSL
end
+# Just like RSpec Core’s `describe` method, `resource` generates a subclass of
+# {ExampleGroup} and is available at the top-level namespace.
+# The difference is that examples declared inside a `resource` block have access
+# to RSpec API own methods, defined in DSL::Resource, such as `has_attribute`,
+# `accepts_filter`, `get`, `post`, and so on.
def resource(name, args = {}, &block)
args.merge! rspec_api_dsl: :resource, rspec_api: {resource_name: name}
describe name, args, &block
end
RSpec.configuration.include DSL::Resource, rspec_api_dsl: :resource
RSpec.configuration.include DSL::Route, rspec_api_dsl: :route
RSpec.configuration.include DSL::Request, rspec_api_dsl: :request
-# requires rspec >= 2.14 : RSpec.configuration.backtrace_exclusion_patterns << %r{lib/rspec-api/dsl\.rb}
+
+if RSpec::Core::Version::STRING >= '2.14'
+ RSpec.configuration.backtrace_exclusion_patterns << %r{lib/rspec-api/dsl\.rb}
+end
\ No newline at end of file