remove hard dependency on fog
Load fog only if needed, and emit a helpful message if it's missing. This removes a ton of dependencies, which makes the default installation easier for newcomers.
This commit is contained in:
parent
4ad5b37c84
commit
68d9e73762
3 changed files with 7 additions and 4 deletions
|
@ -2,7 +2,5 @@ require 'rubygems'
|
|||
require 'sinatra/base'
|
||||
require 'riemann/dash/version'
|
||||
require 'riemann/dash/browser_config'
|
||||
require 'riemann/dash/browser_config/file'
|
||||
require 'riemann/dash/browser_config/s3'
|
||||
require 'riemann/dash/config'
|
||||
require 'riemann/dash/app'
|
||||
|
|
|
@ -68,8 +68,14 @@ class Riemann::Dash::Config
|
|||
uri = URI.parse(ws_config_file)
|
||||
backend = case uri.scheme
|
||||
when "s3"
|
||||
Riemann::Dash::BrowserConfig::S3.new(uri.host, uri.path.sub(/^\//, ''), store[:s3_config])
|
||||
begin
|
||||
require 'riemann/dash/browser_config/s3'
|
||||
Riemann::Dash::BrowserConfig::S3.new(uri.host, uri.path.sub(/^\//, ''), store[:s3_config])
|
||||
rescue LoadError
|
||||
raise Exception.new 'Fog library required to save to S3. Run: "gem install fog"'
|
||||
end
|
||||
when nil, "file"
|
||||
require 'riemann/dash/browser_config/file'
|
||||
Riemann::Dash::BrowserConfig::File.new(uri.path)
|
||||
else
|
||||
raise Exception.new "Unknown backend for #{ws_config_file}"
|
||||
|
|
|
@ -21,7 +21,6 @@ Gem::Specification.new do |gem|
|
|||
gem.add_dependency 'sass', '>= 3.1.14'
|
||||
gem.add_dependency 'thin', '~> 1.6.2'
|
||||
gem.add_dependency 'multi_json', '1.3.6'
|
||||
gem.add_dependency 'fog'
|
||||
gem.files = `git ls-files`.split($/)
|
||||
gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
|
||||
gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
|
||||
|
|
Loading…
Reference in a new issue