Method: Puppet::Provider::ElasticUserRoles.to_file
- Defined in:
- lib/puppet/provider/elastic_user_roles.rb
.to_file(records) ⇒ Object
Represent this user/role record as a correctly-formatted config file.
37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
# File 'lib/puppet/provider/elastic_user_roles.rb', line 37 def self.to_file(records) debug "Flushing: #{records.inspect}" records = records.map do |record| record[:roles].map do |r| { [record[:name]] => r } end end records = records.flatten.map(&:invert).reduce({}) do |acc, role| acc.merge(role) { |_, o, n| o + n } end records = records.delete_if do |_, users| users.empty? end records = records.map do |role, users| "#{role}:#{users.join(',')}" end "#{records.join("\n")}\n" end |