lib/refinerycms-resources.rb in refinerycms-resources-1.0.11 vs lib/refinerycms-resources.rb in refinerycms-resources-2.0.0
- old
+ new
@@ -1,75 +2 @@
-require 'dragonfly'
-require 'rack/cache'
-require 'refinerycms-core'
-
-module Refinery
- module Resources
-
- class << self
- attr_accessor :root
- def root
- @root ||= Pathname.new(File.expand_path('../../', __FILE__))
- end
- end
-
- class Engine < ::Rails::Engine
-
- initializer 'serve static assets' do |app|
- app.middleware.insert_after ::ActionDispatch::Static, ::ActionDispatch::Static, "#{root}/public"
- end
-
- initializer 'resources-with-dragonfly' do |app|
- app_resources = Dragonfly[:resources]
- app_resources.configure_with(:rails) do |c|
- c.datastore.root_path = Rails.root.join('public', 'system', 'resources').to_s
- # This url_format makes it so that dragonfly urls work in traditional
- # situations where the filename and extension are required, e.g. lightbox.
- # What this does is takes the url that is about to be produced e.g.
- # /system/images/BAhbB1sHOgZmIiMyMDEwLzA5LzAxL1NTQ19DbGllbnRfQ29uZi5qcGdbCDoGcDoKdGh1bWIiDjk0MngzNjAjYw
- # and adds the filename onto the end (say the file was 'refinery_is_awesome.pdf')
- # /system/images/BAhbB1sHOgZmIiMyMDEwLzA5LzAxL1NTQ19DbGllbnRfQ29uZi5qcGdbCDoGcDoKdGh1bWIiDjk0MngzNjAjYw/refinery_is_awesome.pdf
- c.url_format = '/system/resources/:job/:basename.:format'
- c.secret = RefinerySetting.find_or_set(:dragonfly_secret,
- Array.new(24) { rand(256) }.pack('C*').unpack('H*').first)
- end
-
- if Refinery.s3_backend
- app_resources.configure_with(:heroku, ENV['S3_BUCKET'])
- # Dragonfly doesn't set the S3 region, so we have to do this manually
- app_resources.datastore.configure do |d|
- d.region = ENV['S3_REGION'] if ENV['S3_REGION'] # defaults to 'us-east-1'
- end
- end
-
- app_resources.define_macro(ActiveRecord::Base, :resource_accessor)
- app_resources.analyser.register(Dragonfly::Analysis::FileCommandAnalyser)
- app_resources.content_disposition = :attachment
-
- ### Extend active record ###
-
- app.config.middleware.insert_after 'Rack::Lock', 'Dragonfly::Middleware', :resources
-
- app.config.middleware.insert_before 'Dragonfly::Middleware', 'Rack::Cache', {
- :verbose => Rails.env.development?,
- :metastore => "file:#{Rails.root.join('tmp', 'dragonfly', 'cache', 'meta')}",
- :entitystore => "file:#{Rails.root.join('tmp', 'dragonfly', 'cache', 'body')}"
- }
- end
-
- config.after_initialize do
- ::Refinery::Plugin.register do |plugin|
- plugin.pathname = root
- plugin.name = 'refinery_files'
- plugin.url = {:controller => '/admin/resources', :action => 'index'}
- plugin.menu_match = /(refinery|admin)\/(refinery_)?(files|resources)$/
- plugin.version = %q{1.0.0}
- plugin.activity = {
- :class => Resource
- }
- end
- end
- end
- end
-end
-
-::Refinery.engines << 'resources'
+require 'refinery/resources'