validates_overlap 0.2.0 → 0.3.0
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 +6 -14
- data/.travis.yml +8 -2
- data/Gemfile +2 -11
- data/Gemfile.rails30 +5 -0
- data/Gemfile.rails32 +5 -0
- data/Gemfile.rails40 +5 -0
- data/Gemfile.rails41 +5 -0
- data/README.md +16 -1
- data/VERSION +1 -1
- data/spec/dummy/app/models/active_meeting.rb +2 -2
- data/spec/dummy/app/models/position.rb +1 -1
- data/spec/dummy/app/models/time_slot.rb +1 -1
- data/spec/dummy/spec/models/active_meetings_spec.rb +2 -2
- data/spec/dummy/spec/overlap_validator_spec.rb +1 -1
- data/validates_overlap.gemspec +14 -9
- metadata +20 -17
checksums.yaml
CHANGED
@@ -1,15 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
metadata.gz: !binary |-
|
9
|
-
YjU4MWY3MTdjMzAwZTRkOGRiZmYzOWU1MzAxOTgyMzBhYzMyYjI4Zjc2YzU3
|
10
|
-
MTEwMTEwNGFkNGFhMzNmMjg5MjliYjZmMjkwNzIwMTYxNGE0NGJmOTAyODQw
|
11
|
-
MmZmOTc1ZmQzOGQzZDI3Y2Q3OGJjOGQ2NTU4N2JjOGQ3NWM0ZGY=
|
12
|
-
data.tar.gz: !binary |-
|
13
|
-
N2ExNGI2N2ZkZDUwZTVmMzM1NmIyYjliMWQ1N2FhMzIzZmY2ZTNjODU0NjVl
|
14
|
-
ZTgzN2ZhZWEwM2NlMzM3Y2FjOTYzYjk4ZDIwN2UzN2IyODc4ZGRmYTc5MmU2
|
15
|
-
M2YzODg5MzM5ZGU5YWM3NjllM2U1YzhlNmJjY2RmNDk3Y2FiZjA=
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 28dc14c113fd58e71304d57846deee7548ea3a49
|
4
|
+
data.tar.gz: fe7098e0b7a58816e3cf5b3982b6a440b1812351
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 105ddbb581b205d1a3f3fc8a17ec5c4432737b9ab27da7e6fb3b85419b7ad791e0324dac686d1ae7c82ac13e1983c4d301a4d3e50368ba07cdd2dcc3fa9de062
|
7
|
+
data.tar.gz: af03aa8e6905d9b6b2a7eb0230c153ab671d3aec8eec193733445f400afb1afee5276ea75ff9ddb53e6b90e101d169660921c0b5f28cab84c3e2f06b481d8274
|
data/.travis.yml
CHANGED
data/Gemfile
CHANGED
@@ -1,12 +1,3 @@
|
|
1
|
-
source "
|
1
|
+
source "https://rubygems.org"
|
2
2
|
|
3
|
-
|
4
|
-
|
5
|
-
group :test, :development do
|
6
|
-
gem "sqlite3", '~>1.3'
|
7
|
-
gem "rspec-rails", '~>2.12'
|
8
|
-
gem "factory_girl_rails", '~>4.2'
|
9
|
-
gem "bundler", '~>1.2'
|
10
|
-
gem "jeweler", '~>1.8'
|
11
|
-
gem "pry"
|
12
|
-
end
|
3
|
+
gemspec
|
data/Gemfile.rails30
ADDED
data/Gemfile.rails32
ADDED
data/Gemfile.rails40
ADDED
data/Gemfile.rails41
ADDED
data/README.md
CHANGED
@@ -65,7 +65,22 @@ end
|
|
65
65
|
|
66
66
|
```ruby
|
67
67
|
class ActiveMeeting < ActiveRecord::Base
|
68
|
-
validates :starts_at, :ends_at, :overlap => {:query_options => {:active =>
|
68
|
+
validates :starts_at, :ends_at, :overlap => {:query_options => {:active => nil}}
|
69
69
|
scope :active, where(:is_active => true)
|
70
70
|
end
|
71
71
|
```
|
72
|
+
|
73
|
+
## Rails 4.1 update
|
74
|
+
|
75
|
+
If you just upgraded your application to rails 4.1 you can discover some issue with custom scopes. In older versions we suggest to use definition like
|
76
|
+
|
77
|
+
```ruby
|
78
|
+
{:overlap => {:query_options => {:active => true}}}
|
79
|
+
```
|
80
|
+
|
81
|
+
but this code is not longer working. Currently please change your code to
|
82
|
+
|
83
|
+
```ruby
|
84
|
+
{:overlap => {:query_options => {:active => nil}}}
|
85
|
+
```
|
86
|
+
Thanks @supertinou for discovering and fix of this bug.
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
0.3.0
|
@@ -1,4 +1,4 @@
|
|
1
1
|
class ActiveMeeting < ActiveRecord::Base
|
2
|
-
validates :starts_at, :ends_at, :overlap => {:query_options => {:active =>
|
3
|
-
scope :active, where(:is_active => true)
|
2
|
+
validates :starts_at, :ends_at, :overlap => {:query_options => {:active => nil}}
|
3
|
+
scope :active, -> { where(:is_active => true) }
|
4
4
|
end
|
@@ -1,7 +1,7 @@
|
|
1
1
|
class Position < ActiveRecord::Base
|
2
2
|
belongs_to :time_slot
|
3
3
|
belongs_to :user
|
4
|
-
validates "time_slots.starts_at", "time_slots.ends_at",
|
4
|
+
validates :"time_slots.starts_at", :"time_slots.ends_at",
|
5
5
|
:overlap => {
|
6
6
|
:query_options => {:includes => :time_slot},
|
7
7
|
:scope => { "positions.user_id" => proc{|position| position.user_id} }
|
@@ -1,6 +1,6 @@
|
|
1
1
|
class TimeSlot < ActiveRecord::Base
|
2
2
|
has_many :positions
|
3
|
-
validates "time_slots.starts_at", "time_slots.ends_at",
|
3
|
+
validates :"time_slots.starts_at", :"time_slots.ends_at",
|
4
4
|
:overlap => {
|
5
5
|
:query_options => {:includes => :positions},
|
6
6
|
:scope => {"positions.user_id" => proc{|time_slot| time_slot.positions.map(&:user_id)} }
|
@@ -9,9 +9,9 @@ describe ActiveMeeting do
|
|
9
9
|
|
10
10
|
context "scoping" do
|
11
11
|
it "should apply scope" do
|
12
|
-
ActiveMeeting.should_receive(:active).
|
12
|
+
ActiveMeeting.should_receive(:active).and_call_original
|
13
13
|
active_meeting = ActiveMeeting.new
|
14
|
-
active_meeting.
|
14
|
+
active_meeting.should be_valid
|
15
15
|
end
|
16
16
|
end
|
17
17
|
|
@@ -17,7 +17,7 @@ describe OverlapValidator do
|
|
17
17
|
subject.stub(:find_crossed){true}
|
18
18
|
subject.stub(:options){ {:message_title => :optional_key, :message_content => "Message content"} }
|
19
19
|
subject.validate(meeting)
|
20
|
-
meeting.errors.
|
20
|
+
meeting.errors[:optional_key].should eq ["Message content"]
|
21
21
|
end
|
22
22
|
|
23
23
|
end
|
data/validates_overlap.gemspec
CHANGED
@@ -2,14 +2,15 @@
|
|
2
2
|
# DO NOT EDIT THIS FILE DIRECTLY
|
3
3
|
# Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
|
4
4
|
# -*- encoding: utf-8 -*-
|
5
|
+
# stub: validates_overlap 0.3.0 ruby lib
|
5
6
|
|
6
7
|
Gem::Specification.new do |s|
|
7
8
|
s.name = "validates_overlap"
|
8
|
-
s.version = "0.
|
9
|
+
s.version = "0.3.0"
|
9
10
|
|
10
11
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
12
|
s.authors = ["Robin Bortlik"]
|
12
|
-
s.date = "
|
13
|
+
s.date = "2014-04-19"
|
13
14
|
s.description = "It can be useful when you you are developing some app where you will work with meetings, events etc."
|
14
15
|
s.email = "robinbortlik@gmail.com"
|
15
16
|
s.extra_rdoc_files = [
|
@@ -18,6 +19,10 @@ Gem::Specification.new do |s|
|
|
18
19
|
s.files = [
|
19
20
|
".travis.yml",
|
20
21
|
"Gemfile",
|
22
|
+
"Gemfile.rails30",
|
23
|
+
"Gemfile.rails32",
|
24
|
+
"Gemfile.rails40",
|
25
|
+
"Gemfile.rails41",
|
21
26
|
"MIT-LICENSE",
|
22
27
|
"README.md",
|
23
28
|
"Rakefile",
|
@@ -99,23 +104,23 @@ Gem::Specification.new do |s|
|
|
99
104
|
s.homepage = "http://github.com/robinbortlik/validates_overlap"
|
100
105
|
s.licenses = ["MIT"]
|
101
106
|
s.require_paths = ["lib"]
|
102
|
-
s.rubygems_version = "2.
|
107
|
+
s.rubygems_version = "2.1.11"
|
103
108
|
s.summary = "This gem helps validate records with time overlap."
|
104
109
|
|
105
110
|
if s.respond_to? :specification_version then
|
106
111
|
s.specification_version = 4
|
107
112
|
|
108
113
|
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
109
|
-
s.add_runtime_dependency(%q<
|
110
|
-
s.add_development_dependency(%q<sqlite3>, ["
|
114
|
+
s.add_runtime_dependency(%q<validates_overlap>, [">= 0"])
|
115
|
+
s.add_development_dependency(%q<sqlite3>, [">= 0"])
|
111
116
|
s.add_development_dependency(%q<rspec-rails>, ["~> 2.12"])
|
112
117
|
s.add_development_dependency(%q<factory_girl_rails>, ["~> 4.2"])
|
113
118
|
s.add_development_dependency(%q<bundler>, ["~> 1.2"])
|
114
119
|
s.add_development_dependency(%q<jeweler>, ["~> 1.8"])
|
115
120
|
s.add_development_dependency(%q<pry>, [">= 0"])
|
116
121
|
else
|
117
|
-
s.add_dependency(%q<
|
118
|
-
s.add_dependency(%q<sqlite3>, ["
|
122
|
+
s.add_dependency(%q<validates_overlap>, [">= 0"])
|
123
|
+
s.add_dependency(%q<sqlite3>, [">= 0"])
|
119
124
|
s.add_dependency(%q<rspec-rails>, ["~> 2.12"])
|
120
125
|
s.add_dependency(%q<factory_girl_rails>, ["~> 4.2"])
|
121
126
|
s.add_dependency(%q<bundler>, ["~> 1.2"])
|
@@ -123,8 +128,8 @@ Gem::Specification.new do |s|
|
|
123
128
|
s.add_dependency(%q<pry>, [">= 0"])
|
124
129
|
end
|
125
130
|
else
|
126
|
-
s.add_dependency(%q<
|
127
|
-
s.add_dependency(%q<sqlite3>, ["
|
131
|
+
s.add_dependency(%q<validates_overlap>, [">= 0"])
|
132
|
+
s.add_dependency(%q<sqlite3>, [">= 0"])
|
128
133
|
s.add_dependency(%q<rspec-rails>, ["~> 2.12"])
|
129
134
|
s.add_dependency(%q<factory_girl_rails>, ["~> 4.2"])
|
130
135
|
s.add_dependency(%q<bundler>, ["~> 1.2"])
|
metadata
CHANGED
@@ -1,43 +1,43 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: validates_overlap
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Robin Bortlik
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2014-04-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
|
-
name:
|
14
|
+
name: validates_overlap
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- -
|
17
|
+
- - '>='
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
19
|
+
version: '0'
|
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
|
-
version:
|
26
|
+
version: '0'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: sqlite3
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- -
|
31
|
+
- - '>='
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: '
|
33
|
+
version: '0'
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- -
|
38
|
+
- - '>='
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: '
|
40
|
+
version: '0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: rspec-rails
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -98,14 +98,14 @@ dependencies:
|
|
98
98
|
name: pry
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
100
100
|
requirements:
|
101
|
-
- -
|
101
|
+
- - '>='
|
102
102
|
- !ruby/object:Gem::Version
|
103
103
|
version: '0'
|
104
104
|
type: :development
|
105
105
|
prerelease: false
|
106
106
|
version_requirements: !ruby/object:Gem::Requirement
|
107
107
|
requirements:
|
108
|
-
- -
|
108
|
+
- - '>='
|
109
109
|
- !ruby/object:Gem::Version
|
110
110
|
version: '0'
|
111
111
|
description: It can be useful when you you are developing some app where you will
|
@@ -118,6 +118,10 @@ extra_rdoc_files:
|
|
118
118
|
files:
|
119
119
|
- .travis.yml
|
120
120
|
- Gemfile
|
121
|
+
- Gemfile.rails30
|
122
|
+
- Gemfile.rails32
|
123
|
+
- Gemfile.rails40
|
124
|
+
- Gemfile.rails41
|
121
125
|
- MIT-LICENSE
|
122
126
|
- README.md
|
123
127
|
- Rakefile
|
@@ -205,19 +209,18 @@ require_paths:
|
|
205
209
|
- lib
|
206
210
|
required_ruby_version: !ruby/object:Gem::Requirement
|
207
211
|
requirements:
|
208
|
-
- -
|
212
|
+
- - '>='
|
209
213
|
- !ruby/object:Gem::Version
|
210
214
|
version: '0'
|
211
215
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
212
216
|
requirements:
|
213
|
-
- -
|
217
|
+
- - '>='
|
214
218
|
- !ruby/object:Gem::Version
|
215
219
|
version: '0'
|
216
220
|
requirements: []
|
217
221
|
rubyforge_project:
|
218
|
-
rubygems_version: 2.
|
222
|
+
rubygems_version: 2.1.11
|
219
223
|
signing_key:
|
220
224
|
specification_version: 4
|
221
225
|
summary: This gem helps validate records with time overlap.
|
222
226
|
test_files: []
|
223
|
-
has_rdoc:
|