class Caco::Postgres::ConfSet
Constants
- ProcessMultipleValue
- ProcessSingleValue
Public Instance Methods
define_what_process(ctx, name: nil, names: nil, value: nil, values: nil, **)
click to toggle source
# File lib/caco/postgres/conf_set.rb, line 15 def define_what_process(ctx, name: nil, names: nil, value: nil, values: nil, **) if name && value return ProcessSingleValue elsif values and values.is_a?(Hash) return ProcessMultipleValue else return false end end
process_multiple_values(ctx, values:, aug:, **)
click to toggle source
# File lib/caco/postgres/conf_set.rb, line 38 def process_multiple_values(ctx, values:, aug:, **) ctx[:values] = {} values.each_pair do |name, value| ctx[:existing_value] = aug.get("/files/postgresql.conf/#{name}") ctx[:created] = true unless ctx[:existing_value] if ctx[:existing_value] == value next else ctx[:changed] = true ctx[:values][name.to_s] = aug.set("/files/postgresql.conf/#{name}", value) end end aug.save! if ctx[:changed] true end
process_single_value(ctx, name:, value:, aug:, **)
click to toggle source
# File lib/caco/postgres/conf_set.rb, line 25 def process_single_value(ctx, name:, value:, aug:, **) ctx[:existing_value] = aug.get("/files/postgresql.conf/#{name}") ctx[:created] = !ctx[:existing_value] if ctx[:existing_value] == value return true else ctx[:changed] = true ctx[:value] = aug.set("/files/postgresql.conf/#{name}", value) aug.save! end true end