posgra 0.2.0 → 0.2.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 8af082dbe487f54a35c23d4c39947c58b12f403d
4
- data.tar.gz: 9cb68ff5f9e321277c31246d6b2631bbfb0d67ce
3
+ metadata.gz: e7699e01200f7d2fbdcfa86475e043006232704b
4
+ data.tar.gz: ba40659f955f5ecbad1d7bdf2c77a2ddd0fc0c22
5
5
  SHA512:
6
- metadata.gz: e48736a442d4592ea2310dae9884ab1dac1d1de688596517f08504dae133e0da0c98aa4552f22287518a7fc35894581bb654259a90011fb304bc48d1f117415d
7
- data.tar.gz: b811a332a01d8960f9c672b2afcb8a89aeaf70589d25616c162cdddeb1ff118e14f0f343de293c026ab84f5ca3239dcfd9110e9eddd6d8bb736476f01b4a7d42
6
+ metadata.gz: 3578e487660aee0766daf01e4fab417c1152bd365c865c92f8c42fd570adc071d6caed97a243a18352e823aadddeeb470f406d1ec16d1c75899e3d00e2f71273
7
+ data.tar.gz: af6242d2e114e350884b673005ae3fd34a37416e70df0586b9465fdcb6f5d74b302f229f0ca04a6591c165908c84a9b84a603447915eda2f317da754d03ad33d
@@ -1,4 +1,6 @@
1
1
  class Posgra::Client
2
+ include Posgra::Utils::Helper
3
+
2
4
  DEFAULT_EXCLUDE_SCHEMA = /\A(?:pg_.*|information_schema)\z/
3
5
  DEFAULT_EXCLUDE_ROLE = /\A\z/
4
6
  DEFAULT_EXCLUDE_DATABASE = /\A(?:template\d+|postgres)\z/
@@ -144,14 +146,20 @@ class Posgra::Client
144
146
 
145
147
  actual.reject {|group, _|
146
148
  expected.has_key?(group)
147
- }.each {|group, _|
148
- updated = @driver.drop_group(group) || updated
149
+ }.each {|group, actual_users|
150
+ if matched?(group, @options[:include_role], @options[:exclude_role])
151
+ updated = @driver.drop_group(group) || updated
152
+ else
153
+ actual_users.each do |user|
154
+ updated = @driver.drop_user_from_group(user, group) || updated
155
+ end
156
+ end
149
157
  }
150
158
 
151
159
  updated
152
160
  end
153
161
 
154
- def walk_groups(expected, actual, expected_users)
162
+ def walk_groups(expected, actual, current_users)
155
163
  updated = false
156
164
 
157
165
  expected.each do |expected_group, expected_users|
@@ -167,7 +175,7 @@ class Posgra::Client
167
175
  end
168
176
 
169
177
  (actual_users - expected_users).each do |user|
170
- if expected_users.include?(user)
178
+ if current_users.include?(user)
171
179
  updated = @driver.drop_user_from_group(user, expected_group) || updated
172
180
  end
173
181
  end
@@ -1,3 +1,3 @@
1
1
  module Posgra
2
- VERSION = "0.2.0"
2
+ VERSION = "0.2.1"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: posgra
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - winebarrel
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-02-24 00:00:00.000000000 Z
11
+ date: 2016-03-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: pg