Module: Desiru::API
- Defined in:
- lib/desiru/api.rb,
lib/desiru/api/grape_integration.rb,
lib/desiru/api/sinatra_integration.rb,
lib/desiru/api/persistence_middleware.rb
Defined Under Namespace
Modules: PersistenceExtension Classes: GrapeIntegration, PersistenceMiddleware, SinatraIntegration
Class Method Summary collapse
-
.create(framework: :grape, async_enabled: true, stream_enabled: false) ⇒ Object
Convenience method to create a new API integration.
-
.grape(async_enabled: true, stream_enabled: false) ⇒ Object
Convenience method to create a new Grape API (backward compatibility).
-
.sinatra(async_enabled: true, stream_enabled: false) ⇒ Object
Convenience method to create a new Sinatra API.
Class Method Details
.create(framework: :grape, async_enabled: true, stream_enabled: false) ⇒ Object
Convenience method to create a new API integration
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
# File 'lib/desiru/api.rb', line 11 def self.create(framework: :grape, async_enabled: true, stream_enabled: false, &) klass = case framework when :grape GrapeIntegration when :sinatra SinatraIntegration else raise ArgumentError, "Unknown framework: #{framework}. Use :grape or :sinatra" end integration = klass.new( async_enabled: async_enabled, stream_enabled: stream_enabled ) # Allow DSL-style configuration integration.instance_eval(&) if block_given? integration end |
.grape(async_enabled: true, stream_enabled: false) ⇒ Object
Convenience method to create a new Grape API (backward compatibility)
33 34 35 |
# File 'lib/desiru/api.rb', line 33 def self.grape(async_enabled: true, stream_enabled: false, &) create(framework: :grape, async_enabled: async_enabled, stream_enabled: stream_enabled, &) end |
.sinatra(async_enabled: true, stream_enabled: false) ⇒ Object
Convenience method to create a new Sinatra API
38 39 40 |
# File 'lib/desiru/api.rb', line 38 def self.sinatra(async_enabled: true, stream_enabled: false, &) create(framework: :sinatra, async_enabled: async_enabled, stream_enabled: stream_enabled, &) end |