allowed 0.1.2 → 0.1.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/spec/lib/allowed/limit_spec.rb +11 -1
- data/spec/support/have_callback.rb +13 -3
- metadata +24 -10
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 36c2b249f68b6401263e3a95905cc860612b8c07
|
4
|
+
data.tar.gz: 108521318be58d7dd97d13de445785203079df10
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 624d7d2118f76e3527103a407733f9d9ead41e39ce9097e6c69e6cefdf83579b8b098e74b462dbb0cabe6cdf70dd188f7271b6c33b4af2ad83f27c1cf33f62a1
|
7
|
+
data.tar.gz: aa0bc2b91837b8d703a5cb1b1a03e65c2bfb3d3724b6f938a195d7edbe719c41b9e2c4e52ecd4a7e7b94b9e30e858efb4d50d835cdffada097278cec769d4227
|
@@ -30,7 +30,17 @@ describe Allowed::Limit, "#allow" do
|
|
30
30
|
it "adds validation callback" do
|
31
31
|
subject.allow(limit, options)
|
32
32
|
|
33
|
-
expect(subject).to have_callback(:validate, :validate_throttles
|
33
|
+
expect(subject).to have_callback(:validate, :validate_throttles)
|
34
|
+
end
|
35
|
+
|
36
|
+
it "only calls validation callback on create" do
|
37
|
+
instance = subject.new
|
38
|
+
instance.stubs(:validate_throttles)
|
39
|
+
|
40
|
+
instance.save
|
41
|
+
instance.save
|
42
|
+
|
43
|
+
expect(instance).to have_received(:validate_throttles).once
|
34
44
|
end
|
35
45
|
|
36
46
|
it "adds after rollback callback" do
|
@@ -1,10 +1,20 @@
|
|
1
1
|
RSpec::Matchers.define :have_callback do |type, name, options|
|
2
2
|
match do |record|
|
3
|
+
options ||= {}
|
3
4
|
callbacks = record.__send__(:"_#{type}_callbacks")
|
4
5
|
callbacks.any? do |callback|
|
5
|
-
callback.raw_filter == name
|
6
|
-
|
7
|
-
|
6
|
+
return false unless callback.raw_filter == name
|
7
|
+
return false unless options[:kind].nil? || callback.kind == options[:kind]
|
8
|
+
return true if options[:on].nil?
|
9
|
+
|
10
|
+
if callback.respond_to?(:options)
|
11
|
+
options[:on] == callback.options[:on]
|
12
|
+
else
|
13
|
+
if_options = callback.instance_variable_get("@if")
|
14
|
+
if_options.any? do |if_option|
|
15
|
+
if_option =~ /#{options[:on]}/
|
16
|
+
end
|
17
|
+
end
|
8
18
|
end
|
9
19
|
end
|
10
20
|
end
|
metadata
CHANGED
@@ -1,57 +1,57 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: allowed
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tristan Dunn
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-09-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activerecord
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - "
|
17
|
+
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: '3'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- - "
|
24
|
+
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '3'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: activesupport
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- - "
|
31
|
+
- - ">="
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: '3'
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- - "
|
38
|
+
- - ">="
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '3'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
|
-
name:
|
42
|
+
name: appraisal
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
45
|
- - '='
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: 1.
|
47
|
+
version: 1.0.0
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
52
|
- - '='
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: 1.
|
54
|
+
version: 1.0.0
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: bourne
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -94,6 +94,20 @@ dependencies:
|
|
94
94
|
- - '='
|
95
95
|
- !ruby/object:Gem::Version
|
96
96
|
version: 3.0.0
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: sqlite3
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - '='
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: 1.3.9
|
104
|
+
type: :development
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - '='
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: 1.3.9
|
97
111
|
description: Throttling of ActiveRecord model creations.
|
98
112
|
email: support@dribbble.com
|
99
113
|
executables: []
|
@@ -130,7 +144,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
130
144
|
version: '0'
|
131
145
|
requirements: []
|
132
146
|
rubyforge_project:
|
133
|
-
rubygems_version: 2.
|
147
|
+
rubygems_version: 2.3.0
|
134
148
|
signing_key:
|
135
149
|
specification_version: 4
|
136
150
|
summary: Throttling of ActiveRecord model creations.
|