Sha256: f03d9faeae2db09d39c293a946a5da0810604f36135122dd15d3ee4fec4f8704

Contents?: true

Size: 1.38 KB

Versions: 4

Compression:

Stored size: 1.38 KB

Contents

module ActionKitRest
  class API < Vertebrae::API

    def request_with_wrapper( *args )
      ActionKitRest::Response::Wrapper.new( request_without_wrapper( *args ) )
    end
    alias_method_chain :request, :wrapper

    def post_json_request(path, params)
      p = {}
      p['data'] = params.to_json
      post_request(path, p)
    end

    def put_json_request(path, params)
      p = {}
      p['data'] = params.to_json
      put_request(path, p)
    end

    def extract_data_from_params(params) # :nodoc:
      if params.has_key?('data') && params['data'].present?
        return params['data']
      else
        return params
      end
    end

    def default_options
      {
        user_agent: 'ActionKitRestGem',
        prefix: '/rest/v1/',
        content_type: 'application/json; charset=utf-8'
      }
    end

    def setup
      connection.stack do |builder|
        builder.use Faraday::Request::Multipart
        builder.use Faraday::Request::UrlEncoded
        builder.use Vertebrae::Request::BasicAuth, connection.configuration.authentication if connection.configuration.authenticated?

        builder.use Faraday::Response::Logger if ENV['DEBUG']

        builder.use FaradayMiddleware::Mashify
        builder.use FaradayMiddleware::ParseJson

        builder.use  ActionKitRest::Response::RaiseError
        builder.adapter connection.configuration.adapter
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
action_kit_rest-0.2.2 lib/action_kit_rest/api.rb
action_kit_rest-0.2.1 lib/action_kit_rest/api.rb
action_kit_rest-0.2.0 lib/action_kit_rest/api.rb
action_kit_rest-0.1.1 lib/action_kit_rest/api.rb