Class: Executor::Settings

Inherits:
Object
  • Object
show all
Defined in:
lib/hyperflow-amqp-executor/settings.rb

Class Method Summary collapse

Class Method Details

.defaultsObject



16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/hyperflow-amqp-executor/settings.rb', line 16

def defaults
  {
    amqp_url: ENV['AMQP_URL'],
    storage: 'cloud',
    threads: Executor::cpu_count,
    cloud_storage: {
      provider: "AWS",
      aws_access_key_id:      ENV['AWS_ACCESS_KEY_ID'],
      aws_secret_access_key:  ENV['AWS_SECRET_ACCESS_KEY']
    },
    plgdata: {
      proxy: ENV['X509_USER_PROXY']
    },
    gridftp: {
      proxy: ENV['X509_USER_PROXY']
    }
  }
end

.load(file = nil) ⇒ Object



7
8
9
10
11
12
13
14
# File 'lib/hyperflow-amqp-executor/settings.rb', line 7

def load(file=nil)
  settings = defaults
  unless file.nil?
    file_settings = YAML.load(ERB.new(File.read(file)).result)
    settings.deep_merge! file_settings
  end
  RecursiveOpenStruct.new(settings)
end