moat 0.2 → 0.3

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: e99313f748a138e0c9e6f5899ad3e7df1f255d8c
4
- data.tar.gz: 4c9638daa7e628b3ce83d5e154bdb002762e5e78
3
+ metadata.gz: 8e7f85e51dd0ffe82fe3b6437e93e4ada13459be
4
+ data.tar.gz: dccbce2a4b6ceece7d32391d7e4fd6c4b8440ec3
5
5
  SHA512:
6
- metadata.gz: 580d3411e85435820dcdcfb4bfcd7ae0f3411744744b1291a6986d1d121bb4396b9c6231674a418d0cd53209d770c4a085a1f9990ecb45b6c31e9e8670e32739
7
- data.tar.gz: 7a91973ffcf54b70b5fb05367f2439ad1a4faba44dd7232ed5f459c4923979762cc6100c8435286811050d4cfa2aa464d386d1adb072e3adb331df7d0df531c6
6
+ metadata.gz: b48428d4a14e1917564a1e89ed089376a7b2cdfcaaa8167f498372f824078a58c286c08e5d396e4a48c9e38fa575a3c0dd7e3f11098de541446cc3244736f43e
7
+ data.tar.gz: 4951f823e10c5d9d9986d6c863296c6502a7fb1cc4cdd9d19287d4354e681da5ef30de49c495e5d23aec28c86d7124e26de0ce8042f04689ffd8857810f63ffa
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- moat (0.2)
4
+ moat (0.3)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
data/lib/moat.rb CHANGED
@@ -78,8 +78,6 @@ module Moat
78
78
  object.policy_class
79
79
  elsif object.class.respond_to?(:policy_class)
80
80
  object.class.policy_class
81
- elsif object.respond_to?(:to_ary)
82
- find_policy(object.to_ary.first)
83
81
  else
84
82
  infer_policy(object)
85
83
  end
data/lib/moat/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Moat
2
- VERSION = "0.2".freeze
2
+ VERSION = "0.3".freeze
3
3
  end
data/spec/moat_spec.rb CHANGED
@@ -113,24 +113,25 @@ describe Moat do
113
113
  end
114
114
 
115
115
  it "fails if a corresponding action can't be found" do
116
- expect { moat_consumer.policy_filter([1, 2, 3], :invalid_action) }.
116
+ expect { moat_consumer.policy_filter([1, 2, 3], :invalid_action, policy: IntegerPolicy) }.
117
117
  to raise_error(Moat::ActionNotFoundError, "IntegerPolicy::Filter#invalid_action")
118
118
  end
119
119
 
120
120
  it "returns the value of applying a policy scope filter to the original scope" do
121
- expect(moat_consumer.policy_filter([1, 2, 3, 4, 5])).to eql([2, 4])
121
+ expect(moat_consumer.policy_filter([1, 2, 3, 4, 5], policy: IntegerPolicy)).to eql([2, 4])
122
122
  end
123
123
 
124
124
  it "uses specified action" do
125
- expect(moat_consumer.policy_filter([2, 3], :show)).to eql([3])
125
+ expect(moat_consumer.policy_filter([2, 3], :show, policy: IntegerPolicy)).to eql([3])
126
126
  end
127
127
 
128
128
  it "uses specified policy" do
129
- expect(moat_consumer.policy_filter([2, 3], policy: OtherIntegerPolicy)).to eql([3])
129
+ expect(moat_consumer.policy_filter([2, 3], policy: OtherIntegerPolicy)).
130
+ to eql([3])
130
131
  end
131
132
 
132
133
  it "uses specified user" do
133
- expect(moat_consumer.policy_filter([2, 3], user: "specified user")).to eql([2, 3])
134
+ expect(moat_consumer.policy_filter([2, 3], user: "specified user", policy: IntegerPolicy)).to eql([2, 3])
134
135
  end
135
136
  end
136
137
 
@@ -148,7 +149,7 @@ describe Moat do
148
149
  end
149
150
 
150
151
  it "fails if a corresponding action can't be found" do
151
- expect { moat_consumer.authorize([1, 2, 3], :invalid_action?) }.
152
+ expect { moat_consumer.authorize([1, 2, 3], :invalid_action?, policy: IntegerPolicy) }.
152
153
  to raise_error(Moat::ActionNotFoundError, "IntegerPolicy::Authorization#invalid_action?")
153
154
  end
154
155
 
@@ -183,7 +184,7 @@ describe Moat do
183
184
  end
184
185
  context "policy_filter called" do
185
186
  it "does not raise an exception" do
186
- moat_consumer.policy_filter([1, 2])
187
+ moat_consumer.policy_filter([1, 2], policy: IntegerPolicy)
187
188
  expect { moat_consumer.verify_policy_applied }.not_to raise_error
188
189
  end
189
190
  end
@@ -280,7 +281,7 @@ describe Moat do
280
281
  end
281
282
 
282
283
  it "infers a policy from an object's `model` method" do
283
- class DefinesModel
284
+ class DefinesModelName
284
285
  def self.model
285
286
  Fake
286
287
  end
@@ -289,25 +290,7 @@ describe Moat do
289
290
  [11, 12]
290
291
  end
291
292
  end
292
- expect(moat_consumer.policy_filter(DefinesModel)).to eql([11, 12])
293
- end
294
-
295
- it "infers a policy from when scope is a non-Array that implements to_ary" do
296
- class IntContainer
297
- def initialize(*numbers)
298
- @numbers = numbers
299
- end
300
-
301
- def to_ary
302
- @numbers
303
- end
304
-
305
- def select
306
- @numbers.select { |n| yield(n) }
307
- end
308
- end
309
-
310
- expect(moat_consumer.policy_filter(IntContainer.new(1, 2, 3, 4, 5))).to eql([2, 4])
293
+ expect(moat_consumer.policy_filter(DefinesModelName)).to eql([11, 12])
311
294
  end
312
295
  end
313
296
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: moat
3
3
  version: !ruby/object:Gem::Version
4
- version: '0.2'
4
+ version: '0.3'
5
5
  platform: ruby
6
6
  authors:
7
7
  - Poll Everywhere
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-08-21 00:00:00.000000000 Z
11
+ date: 2018-09-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rspec