Module: Mortar::Local::Params

Included in:
Pig, Python
Defined in:
lib/mortar/local/params.rb

Instance Method Summary collapse

Instance Method Details

#automatic_parametersObject

Job parameters that are supplied automatically from Mortar when running on the server side. We duplicate these here.



26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
# File 'lib/mortar/local/params.rb', line 26

def automatic_parameters()
  params = {}

  params['MORTAR_EMAIL']   = Mortar::Auth.user(true)
  params['MORTAR_API_KEY'] = Mortar::Auth.password(true)
  
  if ENV['MORTAR_EMAIL_S3_ESCAPED']
    params['MORTAR_EMAIL_S3_ESCAPED'] = ENV['MORTAR_EMAIL_S3_ESCAPED']
  else
    params['MORTAR_EMAIL_S3_ESCAPED'] = Mortar::Auth.user_s3_safe(true)
  end

  if ENV['MORTAR_PROJECT_ROOT']
    params['MORTAR_PROJECT_ROOT'] = ENV['MORTAR_PROJECT_ROOT']
  else
    params['MORTAR_PROJECT_ROOT'] = project_root
    ENV['MORTAR_PROJECT_ROOT'] = params['MORTAR_PROJECT_ROOT']
  end

  params['AWS_ACCESS_KEY']    = ENV['AWS_ACCESS_KEY']
  params['AWS_ACCESS_KEY_ID'] = ENV['AWS_ACCESS_KEY']
  params['aws_access_key_id'] = ENV['AWS_ACCESS_KEY']

  params['AWS_SECRET_KEY'] = ENV['AWS_SECRET_KEY']
  params['AWS_SECRET_ACCESS_KEY'] = ENV['AWS_SECRET_KEY']
  params['aws_secret_access_key'] = ENV['AWS_SECRET_KEY']

  params['MORTAR_PROJECT_NAME'] = ENV['MORTAR_PROJECT_NAME']
  
  param_list = params.map do |k,v|
    {"name" => k, "value" => v}
  end
end

#merge_parameters(param_list_0, param_list_1) ⇒ Object

Merge two lists of parameters, removing dupes. Parameters in param_list_1 override those in param_list_2



62
63
64
65
66
67
# File 'lib/mortar/local/params.rb', line 62

def merge_parameters(param_list_0, param_list_1)
  param_list_1_keys = Set.new(param_list_1.map{|item| item["name"]})
  merged = param_list_1.clone
  merged.concat(param_list_0.select{|item| (! param_list_1_keys.include? item["name"]) })
  merged
end