Sha256: 66c7f3151f6f2e4ba1d4a478f5a0f7e9c324db6aa8a5ea22a20340f38350f850

Contents?: true

Size: 811 Bytes

Versions: 17

Compression:

Stored size: 811 Bytes

Contents

class SmartIoC::Railtie < Rails::Railtie
  initializer "smart_ioc.watching_for_bean_changes" do |app|
    if app.config.reload_classes_only_on_change
      bean_file_locations = SmartIoC::BeanLocations.get_all_bean_files

      reloader = app.config.file_watcher.new(bean_file_locations) do
        SmartIoC.container.force_clear_scopes
      end

      app.config.to_prepare { reloader.execute_if_updated }
    end
  end

  initializer "smart_ioc.initialize" do
    SmartIoC.set_load_proc do |location|
      require_dependency(location)
    end

    Object.include SmartIoC::Iocify
  end

  console do
    module Rails::ConsoleMethods
      alias :old_reload! :reload!

      def reload!(print = true)
        SmartIoC.container.force_clear_scopes
        old_reload!(print = true)
      end
    end
  end
end

Version data entries

17 entries across 17 versions & 1 rubygems

Version Path
smart_ioc-0.5.2 lib/smart_ioc/railtie.rb
smart_ioc-0.5.1 lib/smart_ioc/railtie.rb
smart_ioc-0.5.0 lib/smart_ioc/railtie.rb
smart_ioc-0.3.9 lib/smart_ioc/railtie.rb
smart_ioc-0.4.0 lib/smart_ioc/railtie.rb
smart_ioc-0.3.8 lib/smart_ioc/railtie.rb
smart_ioc-0.3.7 lib/smart_ioc/railtie.rb
smart_ioc-0.3.6 lib/smart_ioc/railtie.rb
smart_ioc-0.3.5 lib/smart_ioc/railtie.rb
smart_ioc-0.3.2 lib/smart_ioc/railtie.rb
smart_ioc-0.3.1 lib/smart_ioc/railtie.rb
smart_ioc-0.3.0 lib/smart_ioc/railtie.rb
smart_ioc-0.2.5 lib/smart_ioc/railtie.rb
smart_ioc-0.2.4 lib/smart_ioc/railtie.rb
smart_ioc-0.2.3 lib/smart_ioc/railtie.rb
smart_ioc-0.2.2 lib/smart_ioc/railtie.rb
smart_ioc-0.2.1 lib/smart_ioc/railtie.rb