Sha256: 1f8944b8f8d2d5b8013afebb4f9ed48d0a937062847a56a405410edeabf3b832

Contents?: true

Size: 849 Bytes

Versions: 1

Compression:

Stored size: 849 Bytes

Contents

class MaitreD::API
  def initialize(configuration)
    @configuration = configuration
  end

  def call(environment)
    environment['maitre_d.configuration'] = configuration

    endpoints.call environment
  end

  private

  attr_reader :configuration

  def endpoints
    @endpoints ||= Sliver::API.new do |api|
      api.connect :post,   '/resources/sso',   MaitreD::API::SSO
      api.connect :post,   '/resources',       MaitreD::API::Create
      api.connect :put,    %r{/resources/[\w-]+}, MaitreD::API::ChangePlan
      api.connect :delete, %r{/resources/[\w-]+}, MaitreD::API::Delete
    end
  end
end

require 'maitre_d/api/authentication_guard'
require 'maitre_d/api/authenticated'
require 'maitre_d/api/change_plan'
require 'maitre_d/api/create'
require 'maitre_d/api/delete'
require 'maitre_d/api/sso_guard'
require 'maitre_d/api/sso'

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
maitre_d-0.7.1 lib/maitre_d/api.rb