validates_overlap 0.2.0 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
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: