Module: Wamp::Worker::Rails

Defined in:
lib/wamp/worker/rails.rb

Class Method Summary collapse

Class Method Details

.load_app(environment, require) ⇒ Object

This method will load Rails

Parameters:

  • environment (String)
    • The Rails environment

  • require (String)
    • The path to the Rails working directory or a file with requires

Raises:

  • (ArgumentError)


9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/wamp/worker/rails.rb', line 9

def self.load_app(environment, require)
  ENV['RACK_ENV'] = ENV['RAILS_ENV'] = environment

  raise ArgumentError, "'#{require}' does not exist" unless File.exist?(require)

  if File.directory?(require)
    require 'rails'
    if ::Rails::VERSION::MAJOR < 5
      raise "only Rails version 5 and higher supported"
    else
      require File.expand_path("#{require}/config/environment.rb")
    end
  else
    require(require) || raise(ArgumentError, "no require file found at '#{require}'")
  end
end