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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: b822571160319a2272cb7fc33251f6b6a2bf67bd
4
- data.tar.gz: 7a61b830db5ba5be91f56c8e7436c998245cd2b7
3
+ metadata.gz: 36c2b249f68b6401263e3a95905cc860612b8c07
4
+ data.tar.gz: 108521318be58d7dd97d13de445785203079df10
5
5
  SHA512:
6
- metadata.gz: c55a9d52c1206fb1cb968e1a6f2087fca91fa9fbd637896b58b001cff2a39cc12731d5e5eb7c64d1e4ec6ccfc4503bef57f87f1b47377ed92bf8d29935a967d6
7
- data.tar.gz: 532acaef6a0e4745ebc5f7f1fdc7855f2fe18ce9181316d4a9a6da4a5351d589e17061455397406753ec2708618ba4e05eef580e069c809a827b01e484d04474
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, on: :create)
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
- (options[:kind].nil? || callback.kind == options[:kind]) &&
7
- (options[:on].nil? || callback.options[:on] == options[:on])
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.2
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-06-09 00:00:00.000000000 Z
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: sqlite3
42
+ name: appraisal
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - '='
46
46
  - !ruby/object:Gem::Version
47
- version: 1.3.9
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.3.9
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.2.2
147
+ rubygems_version: 2.3.0
134
148
  signing_key:
135
149
  specification_version: 4
136
150
  summary: Throttling of ActiveRecord model creations.