Class: Refinery::Initializer
- Inherits:
-
Rails::Initializer
- Object
- Rails::Initializer
- Refinery::Initializer
- Defined in:
- vendor/plugins/refinery/lib/refinery/initializer.rb
Class Method Summary collapse
Instance Method Summary collapse
Class Method Details
.run(command = :process, configuration = Configuration.new) ⇒ Object
47 48 49 50 51 52 53 |
# File 'vendor/plugins/refinery/lib/refinery/initializer.rb', line 47 def self.run(command = :process, configuration = Configuration.new) configuration.plugin_loader = Refinery::PluginLoader Rails.configuration = configuration # call rails' run super end |
Instance Method Details
#load_plugins ⇒ Object
55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 |
# File 'vendor/plugins/refinery/lib/refinery/initializer.rb', line 55 def load_plugins # inject all gems that manipulate ActiveRecord::Base into the application # and stub any calls that are dangerous. ::ActiveRecord::Base.module_eval do begin require 'friendly_id' require 'will_paginate' require 'aasm' rescue LoadError => load_error # this will stop us running rake gems:install which we don't really want so just trap this error. puts "*** Trapping error caused by missing gems ***" end # Stub has_friendly_id. This will get overriden when/if included. # The config will still complain that the gem is missing but this allows it to do so. def self.has_friendly_id(column, = {}, &block) super if defined? super and table_exists? end end # call rails' load_plugins super end |