Module: OpenapiFirst::Test::Observe
- Defined in:
- lib/openapi_first/test/observe.rb
Overview
Inject silent request/response validation to observe rack apps during testing
Class Method Summary collapse
Class Method Details
.observe(app, api: :default) ⇒ Object
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
# File 'lib/openapi_first/test/observe.rb', line 12 def self.observe(app, api: :default) definition = OpenapiFirst::Test[api] mod = OpenapiFirst::Test::Callable[definition] if app.respond_to?(:call) return if app.singleton_class.include?(Observed) app.singleton_class.prepend(mod) app.singleton_class.include(Observed) return end unless app.instance_methods.include?(:call) raise ObserveError, "Don't know how to observe #{app}, because it has no call instance method." end return if app.include?(Observed) app.prepend(mod) app.include(Observed) end |