Module: PuppetX::Oracle::Fact

Defined in:
lib/puppet_x/enterprisemodules/oracle/fact.rb

Overview

Docs TODO: Write documentation

Instance Method Summary collapse

Instance Method Details

#array_mapper(results, mappings) ⇒ Object



82
83
84
85
86
87
88
89
90
91
92
93
# File 'lib/puppet_x/enterprisemodules/oracle/fact.rb', line 82

def array_mapper(results, mappings)
  results.collect do |result|
    if mappings == {}
      no_mappings(result)
    else
      return_value = mappings.collect do |key, entry|
        [key.to_s, result[entry]]
      end.flatten
      Hash[*return_value]
    end
  end
end

#asm_array_fact(mappings = {}, &proc) ⇒ Object



42
43
44
45
46
# File 'lib/puppet_x/enterprisemodules/oracle/fact.rb', line 42

def asm_array_fact(mappings = {}, &proc)
  query_routine = lambda { |query| sql_on_all_asm_sids(query) }
  mapper        = lambda { |results, lambda_mappings| array_mapper(results, lambda_mappings) }
  ora_fact_internal(query_routine, mapper, mappings, &proc)
end

#asm_record_fact(mappings = {}, &proc) ⇒ Object



60
61
62
63
64
# File 'lib/puppet_x/enterprisemodules/oracle/fact.rb', line 60

def asm_record_fact(mappings = {}, &proc)
  query_routine = lambda { |query| sql_on_all_asm_sids(query) }
  mapper        = lambda { |results, lambda_mappings| record_mapper(results, lambda_mappings) }
  ora_fact_internal(query_routine, mapper, mappings, &proc)
end

#mt_array_fact(mappings = {}, &proc) ⇒ Object



36
37
38
39
40
# File 'lib/puppet_x/enterprisemodules/oracle/fact.rb', line 36

def mt_array_fact(mappings = {}, &proc)
  query_routine = lambda { |query| sql_on_all_mt_sids(query) }
  mapper        = lambda { |results, lambda_mappings| array_mapper(results, lambda_mappings) }
  ora_fact_internal(query_routine, mapper, mappings, &proc)
end

#mt_record_fact(mappings = {}, &proc) ⇒ Object



54
55
56
57
58
# File 'lib/puppet_x/enterprisemodules/oracle/fact.rb', line 54

def mt_record_fact(mappings = {}, &proc)
  query_routine = lambda { |query| sql_on_all_mt_sids(query) }
  mapper        = lambda { |results, lambda_mappings| record_mapper(results, lambda_mappings) }
  ora_fact_internal(query_routine, mapper, mappings, &proc)
end

#no_mappings(result) ⇒ Object



77
78
79
80
# File 'lib/puppet_x/enterprisemodules/oracle/fact.rb', line 77

def no_mappings(result)
  result.delete('SID')
  result[result.keys.first]
end

#ora_array_fact(mappings = {}, &proc) ⇒ Object



30
31
32
33
34
# File 'lib/puppet_x/enterprisemodules/oracle/fact.rb', line 30

def ora_array_fact(mappings = {}, &proc)
  query_routine = lambda { |query| sql_on_all_primary_database_sids(query) }
  mapper        = lambda { |results, lambda_mappings| array_mapper(results, lambda_mappings) }
  ora_fact_internal(query_routine, mapper, mappings, &proc)
end

#ora_array_fact_all(mappings = {}, &proc) ⇒ Object



24
25
26
27
28
# File 'lib/puppet_x/enterprisemodules/oracle/fact.rb', line 24

def ora_array_fact_all(mappings = {}, &proc)
  query_routine = lambda { |query| sql_on_all_database_sids(query) }
  mapper        = lambda { |results, lambda_mappings| array_mapper(results, lambda_mappings) }
  ora_fact_internal(query_routine, mapper, mappings, &proc)
end

#ora_fact(_mappings = {}) ⇒ Object



20
21
22
# File 'lib/puppet_x/enterprisemodules/oracle/fact.rb', line 20

def ora_fact(_mappings = {})
  fail 'ora_fact no longer supported. Choose either ora_record_fact or ora_array_fact'
end

#ora_fact_internal(query_routine, mapper, mappings = {}) ⇒ Object



66
67
68
69
70
71
72
73
74
75
# File 'lib/puppet_x/enterprisemodules/oracle/fact.rb', line 66

def ora_fact_internal(query_routine, mapper, mappings = {})
  query = yield
  setcode do
    extend PuppetX::EnterpriseModules::Oracle::Access
    extend EasyType::Helpers

    results = query_routine.call(query)
    mapper.call(results, mappings)
  end
end

#ora_record_fact(mappings = {}, &proc) ⇒ Object



48
49
50
51
52
# File 'lib/puppet_x/enterprisemodules/oracle/fact.rb', line 48

def ora_record_fact(mappings = {}, &proc)
  query_routine = lambda { |query| sql_on_all_primary_database_sids(query) }
  mapper        = lambda { |results, lambda_mappings| record_mapper(results, lambda_mappings) }
  ora_fact_internal(query_routine, mapper, mappings, &proc)
end

#record_mapper(result, mappings) ⇒ Object



95
96
97
98
99
100
101
102
103
104
105
# File 'lib/puppet_x/enterprisemodules/oracle/fact.rb', line 95

def record_mapper(result, mappings)
  result = result.first
  if mappings == {}
    no_mappings(result)
  else
    return_value = mappings.collect do |key, entry|
      [key.to_s, result[entry]]
    end
    return_value.to_h
  end
end