Module: PuppetX::Postgres::Fact
- Defined in:
- lib/puppet_x/enterprisemodules/postgres/fact.rb
Overview
Docs TODO: Write documentation
Instance Method Summary collapse
- #array_mapper(results, mappings) ⇒ Object
- #no_mappings(result) ⇒ Object
- #pg_array_fact(mappings = {}, &proc) ⇒ Object
- #pg_array_fact_all(mappings = {}, &proc) ⇒ Object
- #pg_fact_internal(query_routine, mapper, mappings = {}) ⇒ Object
- #pg_record_fact(mappings = {}, &proc) ⇒ Object
- #pg_record_fact_all(mappings = {}, &proc) ⇒ Object
- #record_mapper(result, mappings) ⇒ Object
Instance Method Details
#array_mapper(results, mappings) ⇒ Object
61 62 63 64 65 66 67 68 69 70 71 72 |
# File 'lib/puppet_x/enterprisemodules/postgres/fact.rb', line 61 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 |
#no_mappings(result) ⇒ Object
56 57 58 59 |
# File 'lib/puppet_x/enterprisemodules/postgres/fact.rb', line 56 def no_mappings(result) result.delete('SID') result[result.keys.first] end |
#pg_array_fact(mappings = {}, &proc) ⇒ Object
33 34 35 36 37 |
# File 'lib/puppet_x/enterprisemodules/postgres/fact.rb', line 33 def pg_array_fact(mappings = {}, &proc) query_routine = lambda { |query| sql_on_cluster_databases(query) } mapper = lambda { |results, lambda_mappings| array_mapper(results, lambda_mappings) } pg_fact_internal(query_routine, mapper, mappings, &proc) end |
#pg_array_fact_all(mappings = {}, &proc) ⇒ Object
21 22 23 24 25 |
# File 'lib/puppet_x/enterprisemodules/postgres/fact.rb', line 21 def pg_array_fact_all(mappings = {}, &proc) query_routine = lambda { |query| sql_on_all_databases(query) } mapper = lambda { |results, lambda_mappings| array_mapper(results, lambda_mappings) } pg_fact_internal(query_routine, mapper, mappings, &proc) end |
#pg_fact_internal(query_routine, mapper, mappings = {}) ⇒ Object
45 46 47 48 49 50 51 52 53 54 |
# File 'lib/puppet_x/enterprisemodules/postgres/fact.rb', line 45 def pg_fact_internal(query_routine, mapper, mappings = {}) query = yield setcode do extend PuppetX::EnterpriseModules::Postgres::Access extend EasyType::Helpers results = query_routine.call(query) mapper.call(results, mappings) end end |
#pg_record_fact(mappings = {}, &proc) ⇒ Object
39 40 41 42 43 |
# File 'lib/puppet_x/enterprisemodules/postgres/fact.rb', line 39 def pg_record_fact(mappings = {}, &proc) query_routine = lambda { |query| sql_on_cluster_databases(query) } mapper = lambda { |results, lambda_mappings| record_mapper(results, lambda_mappings) } pg_fact_internal(query_routine, mapper, mappings, &proc) end |
#pg_record_fact_all(mappings = {}, &proc) ⇒ Object
27 28 29 30 31 |
# File 'lib/puppet_x/enterprisemodules/postgres/fact.rb', line 27 def pg_record_fact_all(mappings = {}, &proc) query_routine = lambda { |query| sql_on_all_databases(query) } mapper = lambda { |results, lambda_mappings| record_mapper(results, lambda_mappings) } pg_fact_internal(query_routine, mapper, mappings, &proc) end |
#record_mapper(result, mappings) ⇒ Object
74 75 76 77 78 79 80 81 82 83 84 |
# File 'lib/puppet_x/enterprisemodules/postgres/fact.rb', line 74 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 |