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 CHANGED
@@ -1,15 +1,7 @@
1
1
  ---
2
- !binary "U0hBMQ==":
3
- metadata.gz: !binary |-
4
- NzBhYmYyMmEzMWNmNTg4YjdhMzBkZWI5MGU5YWZhMGRkMDRjODUzYw==
5
- data.tar.gz: !binary |-
6
- MzhiZjk5M2ZmMDNlNGFkYjczNjU3YWZjNzA1ZDgyMzU2NjJjZDg1MQ==
7
- !binary "U0hBNTEy":
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
@@ -1,4 +1,10 @@
1
+ language: ruby
1
2
  rvm:
2
3
  - 1.9.3
3
-
4
-
4
+ - 2.0.0
5
+ - 2.1.0
6
+ gemfile:
7
+ - Gemfile.rails30
8
+ - Gemfile.rails32
9
+ - Gemfile.rails40
10
+ - Gemfile.rails41
data/Gemfile CHANGED
@@ -1,12 +1,3 @@
1
- source "http://rubygems.org"
1
+ source "https://rubygems.org"
2
2
 
3
- gem "rails", ">= 3.0.0"
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
@@ -0,0 +1,5 @@
1
+ source "https://rubygems.org"
2
+
3
+ gemspec
4
+
5
+ gem 'rails', '~> 3.0.0'
data/Gemfile.rails32 ADDED
@@ -0,0 +1,5 @@
1
+ source "https://rubygems.org"
2
+
3
+ gemspec
4
+
5
+ gem 'rails', '~> 3.2.0'
data/Gemfile.rails40 ADDED
@@ -0,0 +1,5 @@
1
+ source "https://rubygems.org"
2
+
3
+ gemspec
4
+
5
+ gem 'rails', '~> 4.0.0'
data/Gemfile.rails41 ADDED
@@ -0,0 +1,5 @@
1
+ source "https://rubygems.org"
2
+
3
+ gemspec
4
+
5
+ gem 'rails', '~> 4.1.0.rc1'
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 => true}}
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.2.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 => true}}
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).with(true).and_call_original
12
+ ActiveMeeting.should_receive(:active).and_call_original
13
13
  active_meeting = ActiveMeeting.new
14
- active_meeting.valid?
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.messages.should eq :optional_key => ["Message content"]
20
+ meeting.errors[:optional_key].should eq ["Message content"]
21
21
  end
22
22
 
23
23
  end
@@ -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.2.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 = "2013-10-18"
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.0.6"
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<rails>, [">= 3.0.0"])
110
- s.add_development_dependency(%q<sqlite3>, ["~> 1.3"])
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<rails>, [">= 3.0.0"])
118
- s.add_dependency(%q<sqlite3>, ["~> 1.3"])
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<rails>, [">= 3.0.0"])
127
- s.add_dependency(%q<sqlite3>, ["~> 1.3"])
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.2.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: 2013-10-18 00:00:00.000000000 Z
11
+ date: 2014-04-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: rails
14
+ name: validates_overlap
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ! '>='
17
+ - - '>='
18
18
  - !ruby/object:Gem::Version
19
- version: 3.0.0
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: 3.0.0
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: '1.3'
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: '1.3'
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.0.6
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: