Sha256: 98b4fcc7ac6cdc778aa0319531d1da0a711abb72e905ec2e3c0c369ceb5caffa

Contents?: true

Size: 1.34 KB

Versions: 2

Compression:

Stored size: 1.34 KB

Contents

require 'rails'
require 'browse_everything/version'
require 'browse_everything/engine'
require 'browse_everything/retriever'

module BrowseEverything
  class InitializationError < RuntimeError; end

  autoload :Browser,   'browse_everything/browser'
  autoload :FileEntry, 'browse_everything/file_entry'
  module Driver
    autoload :Base,        'browse_everything/driver/base'
    autoload :FileSystem,  'browse_everything/driver/file_system'
    autoload :Dropbox,     'browse_everything/driver/dropbox'
    autoload :Box,         'browse_everything/driver/box'
    autoload :GoogleDrive, 'browse_everything/driver/google_drive'
    autoload :S3,          'browse_everything/driver/s3'
  end

  class << self
    def configure(value)
      if value.nil? || value.is_a?(Hash)
        @config = value
      elsif value.is_a?(String)
        @config = YAML.load(ERB.new(File.read(value)).result)

        if @config.include? 'drop_box'
          warn '[DEPRECATION] `drop_box` is deprecated.  Please use `dropbox` instead.'
          @config['dropbox'] = @config.delete('drop_box')
        end

      else
        raise InitializationError, "Unrecognized configuration: #{value.inspect}"
      end
    end

    def config
      if @config.nil?
        configure(File.join(Rails.root.to_s, 'config', 'browse_everything_providers.yml'))
      end
      @config
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
browse-everything-0.15.1 lib/browse_everything.rb
browse-everything-0.15.0 lib/browse_everything.rb