Method: PgQueryOpt#user_to_group

Defined in:
lib/pg_ddm_sql_modifier/parser.rb

#user_to_groupObject



120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
# File 'lib/pg_ddm_sql_modifier/parser.rb', line 120

def user_to_group
  data        = []
  @groups     = {}
  key_replace = []

  unless @username.nil?
    filter = '/dbuser/' + @username.strip
    key_replace.push(filter)
    data += @etcd.get(filter, range_end: filter + '0').kvs
  end

  unless @user_id.nil?
    filter = '/users/' + @user_id.strip
    key_replace.push(filter)
    data += @etcd.get(filter, range_end: filter + '0').kvs
  end

  filter = '/users/*'
  key_replace.push(filter)
  data += @etcd.get(filter, range_end: filter + '0').kvs

  filter = '/dbuser/*'
  key_replace.push(filter)
  data += @etcd.get(filter, range_end: filter + '0').kvs


  i = 0
  data.each do |val|
    val_obj = JSON.parse(val.value)
    if val_obj['enabled'].to_s == 'false'
      data.delete_at(i)
    else
      key = val.key.dup
      key_replace.each { |key_data| key.gsub! key_data, '' }
      @groups[key] = {}
    end
    i += 1
  end

  data
end