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'