effective_polls 0.5.1 → 0.5.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f7aad1bd9e73e91f2daafec85f96ee0edadc5d9a618f46e215ca8fb400cb583c
4
- data.tar.gz: 22ca5d2826cd93b308f639bf916232e251d67a2d920620355527637803e33fb5
3
+ metadata.gz: '0866cfca4a02dfa03072115499d8170354a405a59dc5b3f7c41fa0cd47572488'
4
+ data.tar.gz: 1c281a7ef70e127dfa155011d1be9d5976bde1750b09ef7d30ae3ae72d549fbc
5
5
  SHA512:
6
- metadata.gz: fbe536eb8f006644ea3ad63ac1f3686df9738b3632f1057ed0e7f3936024ccbc13a2021c9d7f3a9605903cfe60d588dc1a9c9184de7b4c948b40f014ad5c37f2
7
- data.tar.gz: dd50f7920f207a8b246849f937a28e9fd15901c1aefdb5accd29670583f0fd6f206c3ff10ef831598d10d6580f30622b4c19f6235d55f40d3dea36b95f3fafb2
6
+ metadata.gz: 7d754ccfdbd61b07fbd358b2e32b71ba3d04eab8baffc35d7c8d95267f08cbbbc469812bda3661ddab70173fbe08825472185fe5ddbeeb4f88c300835ebc0839
7
+ data.tar.gz: c66bb05e2cc63164b889591e5239b58a094e803b64c406ceef6d10ff575d1a218d10751b66d20ff639891e8c242d5e1cb0ac3e457ae513b3d4172c27bd17b630
@@ -21,6 +21,9 @@ module EffectivePollsUser
21
21
 
22
22
  # The list of all available audience scopes for the Poll Selected Users
23
23
  def poll_audience_scopes
24
+ end
25
+
26
+ def default_poll_audience_scopes
24
27
  scopes = [
25
28
  ['All Users', :all]
26
29
  ]
@@ -39,6 +42,12 @@ module EffectivePollsUser
39
42
  end
40
43
  end
41
44
 
45
+ if self.class.try(:acts_as_role_restricted?)
46
+ scopes += EffectiveRoles.roles.map do |role|
47
+ ["All #{role} role users", "with_role_id_#{role}"]
48
+ end
49
+ end
50
+
42
51
  scopes
43
52
  end
44
53
 
@@ -46,18 +55,21 @@ module EffectivePollsUser
46
55
  def poll_audience_scope(value)
47
56
  collection = self.class.respond_to?(:unarchived) ? self.class.unarchived : self.class
48
57
 
49
- # If we respond to the fill value, call it
50
- return collection.send(value) if collection.respond_to?(value)
51
-
52
58
  # Parse the value
53
59
  name, id = value.to_s.split('_id_')
54
60
 
55
61
  case name.try(:to_sym)
56
62
  when :members_with_category
57
- collection.members_with_category(EffectiveMemberships.Category.find(id))
58
- else
59
- raise("unknown poll_audience_scope for #{value}")
63
+ return collection.members_with_category(EffectiveMemberships.Category.find(id))
64
+ when :with_role
65
+ return collection.with_role(id)
60
66
  end
67
+
68
+ # Otherwise we don't know what this scope is
69
+ raise("unknown poll_audience_scope for #{value}. Expected #{self.class.name} to have a scope named #{value}") unless collection.respond_to?(value)
70
+
71
+ # If we respond to the fill value, call it
72
+ collection.send(value)
61
73
  end
62
74
 
63
75
  def available_polls
@@ -1,3 +1,3 @@
1
1
  module EffectivePolls
2
- VERSION = '0.5.1'
2
+ VERSION = '0.5.2'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: effective_polls
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.1
4
+ version: 0.5.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Code and Effect
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-10-26 00:00:00.000000000 Z
11
+ date: 2023-11-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails