mikras_utils 0.6.0 → 0.7.0

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
  SHA256:
3
- metadata.gz: 3ec0c38f1246b0c0f580adc107c6251c70e9600bd08424d05e612c01ae9bd2de
4
- data.tar.gz: 2a9c833e5475ef646072f4a642309e33616202db3f18d1acc25b46fbb4d10fe2
3
+ metadata.gz: a5f3f5143ea3be29ccbdf96438b10ff7f2f59808ca6648065e5c743be051909f
4
+ data.tar.gz: 9b61802622cbaa60b2a597a477c625f4c5c2fc0d81d0a9f6e2523e1aec0abe68
5
5
  SHA512:
6
- metadata.gz: 264615a11fb958dc628e43e712e069d165640fc87865dd379678aefea9a0d8a16ca4bf0e55b373c53140cf9f53d06ff6c141427d858cb37c5b7300533c525b8d
7
- data.tar.gz: 87c06e2aa94737f4cababcb7b6154978b974a53b72a79e65a915827a34216179a86665da978a010dac65cfc22106a9d711d6d4ea1349fb07cc4a43a68af2c4d1
6
+ metadata.gz: 931288e3bf45321e92f6245da259948768cf7f4289250c6089e96cd70fe54324f3dcdfdd8668ae22d1f5e76d7b66b5ff4cee89243058faab2baafe6fffcb43de
7
+ data.tar.gz: bb6bdf8753f2761015a88effa7345435d0177fffdb16523e5d579b2ec24427e856064a9b5e6610d4eaf0ce2752d2120fe602c1a545720d149ec8b32018c0d805
@@ -55,21 +55,24 @@ module MkAcl
55
55
 
56
56
  def parse_actions(table, actions)
57
57
  for action_name, rules in actions
58
- constrain?(action_name, :insert, :select, :update, :delete, :attach) or
58
+ constrain?(action_name, :insert, :select, :update, :delete, :attach, :detach) or
59
59
  error "Illegal action '#{action_name}'"
60
- constrain?(rules, String, Array, Hash) or
61
- error "Illegal value for #{action} action '#{rules}'"
62
- action = Action.new(table, action_name)
63
-
64
- # Normalize rules
65
- case rules
66
- when Hash
67
- rules = [rules]
68
- when String
69
- rules = [{ roles: rules }]
70
- end
71
60
 
72
- parse_rules(action, rules)
61
+ for real_action_name in (action_name == :attach ? [:attach, :detach] : [action_name])
62
+ constrain?(rules, String, Array, Hash) or
63
+ error "Illegal value for #{action_name} action '#{rules}'"
64
+ action = Action.new(table, real_action_name)
65
+
66
+ # Normalize rules
67
+ case rules
68
+ when Hash
69
+ rules = [rules]
70
+ when String
71
+ rules = [{ roles: rules }]
72
+ end
73
+
74
+ parse_rules(action, rules)
75
+ end
73
76
  end
74
77
  end
75
78
 
@@ -176,7 +176,7 @@ module MkAcl
176
176
  attr_accessor :filter # Goes into the postgres policy, may be nil
177
177
  attr_accessor :assert # Goes into the postgres trigger, may be nil
178
178
  attr_accessor :fields # Only used for insert and update, nil otherwise
179
- attr_accessor :tables # Only used for attach, nil otherwise
179
+ attr_accessor :tables # Only used for attach and detach, nil otherwise
180
180
  attr_reader :ordinal
181
181
 
182
182
  # admin, internal, etc.
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module MikrasUtils
4
- VERSION = "0.6.0"
4
+ VERSION = "0.7.0"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mikras_utils
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.0
4
+ version: 0.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Claus Rasmussen
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2025-01-21 00:00:00.000000000 Z
11
+ date: 2025-01-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: pg_conn