Sha256: fe778b049a9cf75dab1353640ae5593954425dbbe8d7943d4ba07dcdd7239ecb

Contents?: true

Size: 821 Bytes

Versions: 24

Compression:

Stored size: 821 Bytes

Contents

module Internals

  module Adapters

    # This is an adapter that is plugged into a Rack outlet.
    #
    # It looks at what is given to it and generate an appropriate
    # adapter for it.
    #
    # For example, if you give it a query, it will extract the query param etc.
    # and call search_with_text on it if it is called by Rack.
    #
    # Usage:
    #   Adapters::Rack.app_for(thing, options)
    #
    module Rack
    
      # Generates the appropriate app for Rack.
      #
      @@mapping = {
        :search_with_text => Query,
        :parameters       => LiveParameters
      }
      def self.app_for thing, options = {}
        @@mapping.each_pair do |method, adapter|
          return adapter.new(thing).to_app(options) if thing.respond_to?(method)
        end
      end
    
    end
  
  end
  
end

Version data entries

24 entries across 24 versions & 1 rubygems

Version Path
picky-2.5.2 lib/picky/internals/adapters/rack.rb
picky-2.5.1 lib/picky/internals/adapters/rack.rb
picky-2.5.0 lib/picky/internals/adapters/rack.rb
picky-2.4.3 lib/picky/internals/adapters/rack.rb
picky-2.4.2 lib/picky/internals/adapters/rack.rb
picky-2.4.1 lib/picky/internals/adapters/rack.rb
picky-2.4.0 lib/picky/internals/adapters/rack.rb
picky-2.3.0 lib/picky/internals/adapters/rack.rb
picky-2.2.1 lib/picky/internals/adapters/rack.rb
picky-2.2.0 lib/picky/internals/adapters/rack.rb
picky-2.1.2 lib/picky/internals/adapters/rack.rb
picky-2.1.1 lib/picky/internals/adapters/rack.rb
picky-2.1.0 lib/picky/internals/adapters/rack.rb
picky-2.0.0 lib/picky/internals/adapters/rack.rb
picky-2.0.0.pre3 lib/picky/internals/adapters/rack.rb
picky-2.0.0.pre2 lib/picky/internals/adapters/rack.rb
picky-2.0.0.pre1 lib/picky/internals/adapters/rack.rb
picky-1.5.4 lib/picky/internals/adapters/rack.rb
picky-1.5.3 lib/picky/internals/adapters/rack.rb
picky-1.5.2 lib/picky/internals/adapters/rack.rb