Sha256: 7419f5c84b221940d110a824ce043772f5ca5e991999c62e48c30eef66bf59a9

Contents?: true

Size: 757 Bytes

Versions: 4

Compression:

Stored size: 757 Bytes

Contents

require 'omniauth'

module Corkboard
  class Engine < ::Rails::Engine
    isolate_namespace Corkboard

    initializer 'corkboard.providers' do |app|
      app.config.middleware.use(Builder, self) do
        Corkboard.services.each do |service|
          # TODO: handle absence of `.settings` for OmniAuth strategies.
          # TODO: handle absence of `.settings` for Corkboard providers (unconfigured).
          klass = Corkboard.provider_for(service)
          provider(*([klass] + klass.setup(Corkboard.service_configs[service])))
        end
      end
    end

    class Builder < OmniAuth::Builder
      attr_accessor :config

      def initialize(app, config, &block)
        @config = config
        super(app, &block)
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
corkboard-0.1.3 lib/corkboard/engine.rb
corkboard-0.1.2 lib/corkboard/engine.rb
corkboard-0.1.1 lib/corkboard/engine.rb
corkboard-0.1.0 lib/corkboard/engine.rb