Class: RorVsWild::RailsLoader

Inherits:
Object
  • Object
show all
Defined in:
lib/rorvswild/rails_loader.rb

Class Method Summary collapse

Class Method Details

.load_configObject



25
26
27
28
29
30
31
# File 'lib/rorvswild/rails_loader.rb', line 25

def self.load_config
  if (path = Rails.root.join("config/rorvswild.yml")).exist?
    yaml = ERB.new(path.read).result
    hash = YAML.safe_load(yaml, permitted_classes: [Regexp])
    hash[Rails.env] && hash[Rails.env].deep_symbolize_keys
  end
end

.startObject



10
11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/rorvswild/rails_loader.rb', line 10

def self.start
  return if RorVsWild.agent

  if (config = load_config) && config[:api_key]
    RorVsWild.start(config)
  elsif Rails.env.development?
    require "rorvswild/local"
    RorVsWild::Local.start(config || {})
  elsif Rails.env.test?
    require "rorvswild/local"
    path = "tests/#{DateTime.now.iso8601}"
    RorVsWild::Local.start({widget: "hidden", queue: {prefix: path}}.merge(config || {}))
  end
end

.start_on_rails_initializationObject



3
4
5
6
7
8
# File 'lib/rorvswild/rails_loader.rb', line 3

def self.start_on_rails_initialization
  return if !defined?(Rails)
  Rails::Railtie.initializer "rorvswild.detect_config_file" do
    RorVsWild::RailsLoader.start
  end
end