Skip to content
This repository has been archived by the owner on Nov 11, 2017. It is now read-only.

Commit

Permalink
Move storage into configuration
Browse files Browse the repository at this point in the history
  • Loading branch information
Joe Ferris and Mike Burns authored and jferris committed Aug 3, 2012
1 parent 80e65bb commit 595c915
Show file tree
Hide file tree
Showing 4 changed files with 33 additions and 3 deletions.
9 changes: 9 additions & 0 deletions lib/turning/configuration.rb
@@ -0,0 +1,9 @@
module Turning
class Configuration
attr_writer :storage

def storage
@storage ||= FileStorage.new(Rails.root.join('public', 'static'))
end
end
end
2 changes: 1 addition & 1 deletion lib/turning/controller.rb
Expand Up @@ -19,7 +19,7 @@ def view_path
end

def storage
FileStorage.new(Rails.root.join('public', 'static'))
Rails.configuration.turning.storage
end
end
end
6 changes: 4 additions & 2 deletions lib/turning/railtie.rb
@@ -1,12 +1,14 @@
require 'rails/railtie'
require 'turning/static_cascade'
require 'turning/file_storage'
require 'turning/configuration'

module Turning
class Railtie < ::Rails::Railtie
config.turning = Configuration.new

initializer('turning.middleware') do
config.app_middleware.use StaticCascade,
FileStorage.new(Rails.root.join('public', 'static'))
config.app_middleware.use StaticCascade, config.turning.storage
end
end
end
19 changes: 19 additions & 0 deletions spec/turning/configuration_spec.rb
@@ -0,0 +1,19 @@
require 'spec_helper'
require 'turning/configuration'
require 'turning/file_storage'

describe Turning::Configuration do
it 'has a default storage backend' do
storage = stub('storage')
Turning::FileStorage.stubs(new: storage)
configuration = Turning::Configuration.new
configuration.storage.should == storage
Turning::FileStorage.should have_received(:new).with(Rails.root.join('public/static'))
end

it 'can change the storage backend' do
configuration = Turning::Configuration.new
configuration.storage = :anything
configuration.storage.should == :anything
end
end

0 comments on commit 595c915

Please sign in to comment.