validates_overlap 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
data/Gemfile CHANGED
@@ -3,12 +3,9 @@ source "http://rubygems.org"
3
3
  gem "rails", ">= 3.0.0"
4
4
 
5
5
  group :test, :development do
6
- gem "sqlite3"
7
- gem "rspec-rails", ">= 2.0.0.beta"
8
- gem "factory_girl_rails"
9
- gem "bundler", ">= 1.0.0"
10
- gem "jeweler", ">= 1.5.2"
6
+ gem "sqlite3", '~>1.3.7'
7
+ gem "rspec-rails", '~>2.12.2'
8
+ gem "factory_girl_rails", '~>4.2.1'
9
+ gem "bundler", '~>1.2.4'
10
+ gem "jeweler", '~>1.8.4'
11
11
  end
12
- # To use debugger (ruby-debug for Ruby 1.8.7+, ruby-debug19 for Ruby 1.9.2+)
13
- # gem 'ruby-debug'
14
- #gem 'ruby-debug19'
data/README.rdoc CHANGED
@@ -12,16 +12,42 @@ If you are developing Rails 3 app, let say some meeting planner and you can't sa
12
12
  === Using
13
13
 
14
14
  Add to your gemfile
15
- gem 'validates_overlap'
15
+ ```ruby
16
+ gem 'validates_overlap'
17
+ ```
16
18
 
17
19
  In your model
18
20
 
19
21
  without scope
20
- validates :starts_at, :ends_at, :overlap => true
22
+ ```ruby
23
+ validates :starts_at, :ends_at, :overlap => true
24
+ ```
21
25
 
22
26
  with scope
23
- validates :starts_at, :ends_at, :overlap => {:scope => "user_id"}
27
+ ```ruby
28
+ validates :starts_at, :ends_at, :overlap => {:scope => "user_id"}
29
+ ```
24
30
 
25
31
  exclude edges
26
- validates :starts_at, :ends_at, :overlap => {:exclude_edges => "starts_at"}
27
- validates :starts_at, :ends_at, :overlap => {:exclude_edges => ["starts_at", "ends_at"]}
32
+ ```ruby
33
+ validates :starts_at, :ends_at, :overlap => {:exclude_edges => "starts_at"}
34
+ validates :starts_at, :ends_at, :overlap => {:exclude_edges => ["starts_at", "ends_at"]}
35
+ ```
36
+
37
+ with complicated relation relations
38
+
39
+ Exaple describes valildatation of user, positions and time slots.
40
+ User can't be assigned 2 times on position which is under time slot with time overlap.
41
+
42
+ ```ruby
43
+ class Position < ActiveRecord::Base
44
+ belongs_to :time_slot
45
+ belongs_to :user
46
+ validates "time_slots.starts_at", "time_slots.ends_at",
47
+ :overlap => {
48
+ :query_options => {:includes => :time_slot},
49
+ :scope => { "positions.user_id" => proc{|position| position.user_id} }
50
+ }
51
+ end
52
+
53
+ ```
data/Rakefile CHANGED
@@ -29,7 +29,7 @@ require 'rspec/core/rake_task'
29
29
  RSpec::Core::RakeTask.new(:spec)
30
30
  task :default => :spec
31
31
 
32
- require 'rake/rdoctask'
32
+ require 'rdoc/task'
33
33
  Rake::RDocTask.new do |rdoc|
34
34
  version = File.exist?('VERSION') ? File.read('VERSION') : ""
35
35
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.0
1
+ 0.1.1
@@ -1,4 +1,6 @@
1
- Factory.define :end_overlap_meeting do |u|
2
- u.starts_at '2011-01-05'.to_date
3
- u.ends_at '2011-01-08'.to_date
4
- end
1
+ FactoryGirl.define do
2
+ factory :end_overlap_meeting do |u|
3
+ u.starts_at '2011-01-05'.to_date
4
+ u.ends_at '2011-01-08'.to_date
5
+ end
6
+ end
@@ -1,4 +1,6 @@
1
- Factory.define :meeting do |u|
2
- u.starts_at '2011-01-05'.to_date
3
- u.ends_at '2011-01-08'.to_date
4
- end
1
+ FactoryGirl.define do
2
+ factory :meeting do |u|
3
+ u.starts_at '2011-01-05'.to_date
4
+ u.ends_at '2011-01-08'.to_date
5
+ end
6
+ end
@@ -1,4 +1,6 @@
1
- Factory.define :position do |u|
2
- u.association(:user, :factory => :user)
3
- u.association(:time_slot, :factory => :time_slot)
1
+ FactoryGirl.define do
2
+ factory :position do |u|
3
+ u.association(:user, :factory => :user)
4
+ u.association(:time_slot, :factory => :time_slot)
5
+ end
4
6
  end
@@ -1,4 +1,6 @@
1
- Factory.define :start_end_overlap_meeting do |u|
2
- u.starts_at '2011-01-05'.to_date
3
- u.ends_at '2011-01-08'.to_date
4
- end
1
+ FactoryGirl.define do
2
+ factory :start_end_overlap_meeting do |u|
3
+ u.starts_at '2011-01-05'.to_date
4
+ u.ends_at '2011-01-08'.to_date
5
+ end
6
+ end
@@ -1,4 +1,6 @@
1
- Factory.define :start_overlap_meeting do |u|
2
- u.starts_at '2011-01-05'.to_date
3
- u.ends_at '2011-01-08'.to_date
4
- end
1
+ FactoryGirl.define do
2
+ factory :start_overlap_meeting do |u|
3
+ u.starts_at '2011-01-05'.to_date
4
+ u.ends_at '2011-01-08'.to_date
5
+ end
6
+ end
@@ -1,4 +1,6 @@
1
- Factory.define :time_slot do |u|
2
- u.starts_at '2011-01-05'.to_date
3
- u.ends_at '2011-01-08'.to_date
1
+ FactoryGirl.define do
2
+ factory :time_slot do |u|
3
+ u.starts_at '2011-01-05'.to_date
4
+ u.ends_at '2011-01-08'.to_date
5
+ end
4
6
  end
@@ -1,3 +1,5 @@
1
- Factory.define :user do |u|
2
- u.name 'John'
1
+ FactoryGirl.define do
2
+ factory :user do |u|
3
+ u.name 'John'
4
+ end
3
5
  end
@@ -1,11 +1,13 @@
1
- Factory.define :johns_meeting, :class => UserMeeting do |u|
2
- u.starts_at '2011-01-05'.to_date
3
- u.ends_at '2011-01-08'.to_date
4
- u.user_id 1
5
- end
1
+ FactoryGirl.define do
2
+ factory :johns_meeting, :class => UserMeeting do |u|
3
+ u.starts_at '2011-01-05'.to_date
4
+ u.ends_at '2011-01-08'.to_date
5
+ u.user_id 1
6
+ end
6
7
 
7
- Factory.define :peters_meeting, :class => UserMeeting do |u|
8
- u.starts_at '2011-01-05'.to_date
9
- u.ends_at '2011-01-08'.to_date
10
- u.user_id 2
11
- end
8
+ factory :peters_meeting, :class => UserMeeting do |u|
9
+ u.starts_at '2011-01-05'.to_date
10
+ u.ends_at '2011-01-08'.to_date
11
+ u.user_id 2
12
+ end
13
+ end
@@ -9,7 +9,7 @@ describe EndOverlapMeeting do
9
9
 
10
10
  it "create meeting" do
11
11
  lambda {
12
- Factory(:end_overlap_meeting)
12
+ FactoryGirl.create(:end_overlap_meeting)
13
13
  }.should change(EndOverlapMeeting, :count).by(1)
14
14
  end
15
15
 
@@ -17,7 +17,7 @@ describe EndOverlapMeeting do
17
17
  @valid_times = {
18
18
  "starts at time of end and ends after" => ['2011-01-08'.to_date, '2011-01-19'.to_date]
19
19
  }
20
-
20
+
21
21
  @not_valid_times = {
22
22
  "has same starts_at and ends_at" => ['2011-01-05'.to_date, '2011-01-08'.to_date],
23
23
  "starts before starts_at and ends after ends_at" => ['2011-01-04'.to_date, '2011-01-09'.to_date],
@@ -28,10 +28,10 @@ describe EndOverlapMeeting do
28
28
  "starts inside and ends at same time" => ['2011-01-06'.to_date, '2011-01-08'.to_date],
29
29
  "starts before and ends at time of start" => ['2011-01-03'.to_date, '2011-01-05'.to_date],
30
30
  }
31
-
31
+
32
32
  @not_valid_times.each do |description, time_range|
33
33
  it "is not valid if exists meeting which #{description}" do
34
- meeting = Factory.build(:end_overlap_meeting, :starts_at => time_range.first, :ends_at => time_range.last)
34
+ meeting = FactoryGirl.build(:end_overlap_meeting, :starts_at => time_range.first, :ends_at => time_range.last)
35
35
  meeting.should_not be_valid
36
36
  meeting.errors[:starts_at].should_not be_empty
37
37
  meeting.errors[:ends_at].should be_empty
@@ -40,7 +40,7 @@ describe EndOverlapMeeting do
40
40
 
41
41
  @valid_times.each do |description, time_range|
42
42
  it "is valid if exists meeting which #{description}" do
43
- meeting = Factory.build(:end_overlap_meeting, :starts_at => time_range.first, :ends_at => time_range.last)
43
+ meeting = FactoryGirl.build(:end_overlap_meeting, :starts_at => time_range.first, :ends_at => time_range.last)
44
44
  meeting.should be_valid
45
45
  meeting.errors[:starts_at].should be_empty
46
46
  meeting.errors[:ends_at].should be_empty
@@ -49,4 +49,4 @@ describe EndOverlapMeeting do
49
49
 
50
50
  end
51
51
 
52
- end
52
+ end
@@ -9,15 +9,15 @@ describe Meeting do
9
9
 
10
10
  it "create meeting" do
11
11
  lambda {
12
- Factory(:meeting)
12
+ FactoryGirl.create(:meeting)
13
13
  }.should change(Meeting, :count).by(1)
14
14
  end
15
15
 
16
16
  context "Validation" do
17
-
17
+
18
18
  OVERLAP_TIME_RANGES.each do |description, time_range|
19
19
  it "is not valid if exists meeting which #{description}" do
20
- meeting = Factory.build(:meeting, :starts_at => time_range.first, :ends_at => time_range.last)
20
+ meeting = FactoryGirl.build(:meeting, :starts_at => time_range.first, :ends_at => time_range.last)
21
21
  meeting.should_not be_valid
22
22
  meeting.errors[:starts_at].should_not be_empty
23
23
  meeting.errors[:ends_at].should be_empty
@@ -25,12 +25,12 @@ describe Meeting do
25
25
  end
26
26
 
27
27
  it " validate object which has not got overlap" do
28
- meeting = Factory.build(:meeting, :starts_at => "2011-01-09".to_date, :ends_at => "2011-01-11".to_date)
28
+ meeting = FactoryGirl.build(:meeting, :starts_at => "2011-01-09".to_date, :ends_at => "2011-01-11".to_date)
29
29
  meeting.should be_valid
30
30
  meeting.errors[:starts_at].should be_empty
31
31
  meeting.errors[:ends_at].should be_empty
32
32
 
33
- meeting = Factory.build(:meeting, :starts_at => "2011-01-01".to_date, :ends_at => "2011-01-02".to_date)
33
+ meeting = FactoryGirl.build(:meeting, :starts_at => "2011-01-01".to_date, :ends_at => "2011-01-02".to_date)
34
34
  meeting.should be_valid
35
35
  meeting.errors[:starts_at].should be_empty
36
36
  meeting.errors[:ends_at].should be_empty
@@ -38,4 +38,4 @@ describe Meeting do
38
38
 
39
39
  end
40
40
 
41
- end
41
+ end
@@ -13,28 +13,28 @@ describe Position do
13
13
 
14
14
  it "create position" do
15
15
  lambda {
16
- Factory(:position)
16
+ FactoryGirl.create(:position)
17
17
  }.should change(Position, :count).by(1)
18
18
  end
19
19
 
20
20
  context "Validation with scope and association" do
21
21
 
22
22
  it "is not valid if exists time slot which have position with same person" do
23
- time_slot1 = Factory.create(:time_slot, :starts_at => "2012-10-11".to_date, :ends_at => "2012-10-13".to_date)
24
- time_slot2 = Factory.create(:time_slot, :starts_at => "2012-10-12".to_date, :ends_at => "2012-10-13".to_date)
25
- user = Factory.create(:user)
26
- position1 = Factory.create(:position, :time_slot => time_slot1, :user => user)
27
- position2 = Factory.build(:position, :time_slot => time_slot2, :user => user)
23
+ time_slot1 = FactoryGirl.create(:time_slot, :starts_at => "2012-10-11".to_date, :ends_at => "2012-10-13".to_date)
24
+ time_slot2 = FactoryGirl.create(:time_slot, :starts_at => "2012-10-12".to_date, :ends_at => "2012-10-13".to_date)
25
+ user = FactoryGirl.create(:user)
26
+ position1 = FactoryGirl.create(:position, :time_slot => time_slot1, :user => user)
27
+ position2 = FactoryGirl.build(:position, :time_slot => time_slot2, :user => user)
28
28
  position2.should_not be_valid
29
29
  position2.errors[:base].should_not be_empty
30
30
  end
31
31
 
32
32
  it "is be valid if exists time slot which have position with same person" do
33
- time_slot1 = Factory.create(:time_slot, :starts_at => "2012-10-11".to_date, :ends_at => "2012-10-13".to_date)
34
- time_slot2 = Factory.create(:time_slot, :starts_at => "2012-10-14".to_date, :ends_at => "2012-10-15".to_date)
35
- user = Factory.create(:user)
36
- position1 = Factory.create(:position, :time_slot => time_slot1, :user => user)
37
- position2 = Factory.build(:position, :time_slot => time_slot2, :user => user)
33
+ time_slot1 = FactoryGirl.create(:time_slot, :starts_at => "2012-10-11".to_date, :ends_at => "2012-10-13".to_date)
34
+ time_slot2 = FactoryGirl.create(:time_slot, :starts_at => "2012-10-14".to_date, :ends_at => "2012-10-15".to_date)
35
+ user = FactoryGirl.create(:user)
36
+ position1 = FactoryGirl.create(:position, :time_slot => time_slot1, :user => user)
37
+ position2 = FactoryGirl.build(:position, :time_slot => time_slot2, :user => user)
38
38
  position2.should be_valid
39
39
  position2.errors[:base].should be_empty
40
40
  end
@@ -9,16 +9,16 @@ describe StartEndOverlapMeeting do
9
9
 
10
10
  it "create meeting" do
11
11
  lambda {
12
- Factory(:start_end_overlap_meeting)
12
+ FactoryGirl.create(:start_end_overlap_meeting)
13
13
  }.should change(StartEndOverlapMeeting, :count).by(1)
14
14
  end
15
15
 
16
16
  context "Validation with exclude edges starts_at, ends_at" do
17
17
  @valid_times = {
18
- "starts before and ends at time of start" => ['2011-01-03'.to_date, '2011-01-05'.to_date],
18
+ "starts before and ends at time of start" => ['2011-01-03'.to_date, '2011-01-05'.to_date],
19
19
  "starts at time of end and ends after" => ['2011-01-08'.to_date, '2011-01-19'.to_date]
20
20
  }
21
-
21
+
22
22
  @not_valid_times = {
23
23
  "has same starts_at and ends_at" => ['2011-01-05'.to_date, '2011-01-08'.to_date],
24
24
  "starts before starts_at and ends after ends_at" => ['2011-01-04'.to_date, '2011-01-09'.to_date],
@@ -28,10 +28,10 @@ describe StartEndOverlapMeeting do
28
28
  "starts at same time and ends inside" => ['2011-01-05'.to_date, '2011-01-07'.to_date],
29
29
  "starts inside and ends at same time" => ['2011-01-06'.to_date, '2011-01-08'.to_date],
30
30
  }
31
-
31
+
32
32
  @not_valid_times.each do |description, time_range|
33
33
  it "is not valid if exists meeting which #{description}" do
34
- meeting = Factory.build(:start_end_overlap_meeting, :starts_at => time_range.first, :ends_at => time_range.last)
34
+ meeting = FactoryGirl.build(:start_end_overlap_meeting, :starts_at => time_range.first, :ends_at => time_range.last)
35
35
  meeting.should_not be_valid
36
36
  meeting.errors[:starts_at].should_not be_empty
37
37
  meeting.errors[:ends_at].should be_empty
@@ -40,7 +40,7 @@ describe StartEndOverlapMeeting do
40
40
 
41
41
  @valid_times.each do |description, time_range|
42
42
  it "is valid if exists meeting which #{description}" do
43
- meeting = Factory.build(:start_end_overlap_meeting, :starts_at => time_range.first, :ends_at => time_range.last)
43
+ meeting = FactoryGirl.build(:start_end_overlap_meeting, :starts_at => time_range.first, :ends_at => time_range.last)
44
44
  meeting.should be_valid
45
45
  meeting.errors[:starts_at].should be_empty
46
46
  meeting.errors[:ends_at].should be_empty
@@ -49,4 +49,4 @@ describe StartEndOverlapMeeting do
49
49
 
50
50
  end
51
51
 
52
- end
52
+ end
@@ -9,15 +9,15 @@ describe StartOverlapMeeting do
9
9
 
10
10
  it "create meeting" do
11
11
  lambda {
12
- Factory(:start_overlap_meeting)
12
+ FactoryGirl.create(:start_overlap_meeting)
13
13
  }.should change(StartOverlapMeeting, :count).by(1)
14
14
  end
15
15
 
16
16
  context "Validation with exclude edge starts_at" do
17
17
  @valid_times = {
18
- "starts before and ends at time of start" => ['2011-01-03'.to_date, '2011-01-05'.to_date],
18
+ "starts before and ends at time of start" => ['2011-01-03'.to_date, '2011-01-05'.to_date],
19
19
  }
20
-
20
+
21
21
  @not_valid_times = {
22
22
  "has same starts_at and ends_at" => ['2011-01-05'.to_date, '2011-01-08'.to_date],
23
23
  "starts before starts_at and ends after ends_at" => ['2011-01-04'.to_date, '2011-01-09'.to_date],
@@ -28,10 +28,10 @@ describe StartOverlapMeeting do
28
28
  "starts inside and ends at same time" => ['2011-01-06'.to_date, '2011-01-08'.to_date],
29
29
  "starts at time of end and ends after" => ['2011-01-08'.to_date, '2011-01-19'.to_date]
30
30
  }
31
-
31
+
32
32
  @not_valid_times.each do |description, time_range|
33
33
  it "is not valid if exists meeting which #{description}" do
34
- meeting = Factory.build(:start_overlap_meeting, :starts_at => time_range.first, :ends_at => time_range.last)
34
+ meeting = FactoryGirl.build(:start_overlap_meeting, :starts_at => time_range.first, :ends_at => time_range.last)
35
35
  meeting.should_not be_valid
36
36
  meeting.errors[:starts_at].should_not be_empty
37
37
  meeting.errors[:ends_at].should be_empty
@@ -40,7 +40,7 @@ describe StartOverlapMeeting do
40
40
 
41
41
  @valid_times.each do |description, time_range|
42
42
  it "is valid if exists meeting which #{description}" do
43
- meeting = Factory.build(:start_overlap_meeting, :starts_at => time_range.first, :ends_at => time_range.last)
43
+ meeting = FactoryGirl.build(:start_overlap_meeting, :starts_at => time_range.first, :ends_at => time_range.last)
44
44
  meeting.should be_valid
45
45
  meeting.errors[:starts_at].should be_empty
46
46
  meeting.errors[:ends_at].should be_empty
@@ -49,4 +49,4 @@ describe StartOverlapMeeting do
49
49
 
50
50
  end
51
51
 
52
- end
52
+ end
@@ -13,18 +13,18 @@ describe TimeSlot do
13
13
 
14
14
  it "create time_slot" do
15
15
  lambda {
16
- Factory(:time_slot)
16
+ FactoryGirl.create(:time_slot)
17
17
  }.should change(TimeSlot, :count).by(1)
18
18
  end
19
19
 
20
20
  context "Validation with scope and association" do
21
21
 
22
22
  it "is not valid if exists time slot which have position with same person" do
23
- time_slot1 = Factory.create(:time_slot, :starts_at => "2012-10-11".to_date, :ends_at => "2012-10-13".to_date)
24
- time_slot2 = Factory.create(:time_slot, :starts_at => "2012-10-15".to_date, :ends_at => "2012-10-16".to_date)
25
- user = Factory.create(:user)
26
- position1 = Factory.create(:position, :time_slot => time_slot1, :user => user)
27
- position2 = Factory.create(:position, :time_slot => time_slot2, :user => user)
23
+ time_slot1 = FactoryGirl.create(:time_slot, :starts_at => "2012-10-11".to_date, :ends_at => "2012-10-13".to_date)
24
+ time_slot2 = FactoryGirl.create(:time_slot, :starts_at => "2012-10-15".to_date, :ends_at => "2012-10-16".to_date)
25
+ user = FactoryGirl.create(:user)
26
+ position1 = FactoryGirl.create(:position, :time_slot => time_slot1, :user => user)
27
+ position2 = FactoryGirl.create(:position, :time_slot => time_slot2, :user => user)
28
28
  time_slot2.reload
29
29
  time_slot2.starts_at = "2012-10-12".to_date
30
30
  time_slot2.should_not be_valid
@@ -32,11 +32,11 @@ describe TimeSlot do
32
32
  end
33
33
 
34
34
  it "is be valid if exists time slot which have position with same person" do
35
- time_slot1 = Factory.create(:time_slot, :starts_at => "2012-10-11".to_date, :ends_at => "2012-10-13".to_date)
36
- time_slot2 = Factory.create(:time_slot, :starts_at => "2012-10-14".to_date, :ends_at => "2012-10-16".to_date)
37
- user = Factory.create(:user)
38
- position1 = Factory.create(:position, :time_slot => time_slot1, :user => user)
39
- position2 = Factory.build(:position, :time_slot => time_slot2, :user => user)
35
+ time_slot1 = FactoryGirl.create(:time_slot, :starts_at => "2012-10-11".to_date, :ends_at => "2012-10-13".to_date)
36
+ time_slot2 = FactoryGirl.create(:time_slot, :starts_at => "2012-10-14".to_date, :ends_at => "2012-10-16".to_date)
37
+ user = FactoryGirl.create(:user)
38
+ position1 = FactoryGirl.create(:position, :time_slot => time_slot1, :user => user)
39
+ position2 = FactoryGirl.build(:position, :time_slot => time_slot2, :user => user)
40
40
  time_slot2.starts_at = "2012-10-15".to_date
41
41
  time_slot2.should be_valid
42
42
  time_slot2.errors[:base].should be_empty
@@ -9,7 +9,7 @@ describe UserMeeting do
9
9
 
10
10
  it "create johns meeting" do
11
11
  lambda {
12
- Factory(:johns_meeting)
12
+ FactoryGirl.create(:johns_meeting)
13
13
  }.should change(UserMeeting, :count).by(1)
14
14
  end
15
15
 
@@ -17,7 +17,7 @@ describe UserMeeting do
17
17
 
18
18
  OVERLAP_TIME_RANGES.each do |description, time_range|
19
19
  it "is not valid if exists johns meeting which #{description}" do
20
- meeting = Factory.build(:johns_meeting, :starts_at => time_range.first, :ends_at => time_range.last)
20
+ meeting = FactoryGirl.build(:johns_meeting, :starts_at => time_range.first, :ends_at => time_range.last)
21
21
  meeting.should_not be_valid
22
22
  meeting.errors[:starts_at].should_not be_empty
23
23
  meeting.errors[:ends_at].should be_empty
@@ -26,7 +26,7 @@ describe UserMeeting do
26
26
 
27
27
  OVERLAP_TIME_RANGES.each do |description, time_range|
28
28
  it "is valid if exists johns meeting which #{description}" do
29
- meeting = Factory.build(:peters_meeting, :starts_at => time_range.first, :ends_at => time_range.last)
29
+ meeting = FactoryGirl.build(:peters_meeting, :starts_at => time_range.first, :ends_at => time_range.last)
30
30
  meeting.should be_valid
31
31
  meeting.errors[:starts_at].should be_empty
32
32
  meeting.errors[:ends_at].should be_empty
@@ -35,4 +35,4 @@ describe UserMeeting do
35
35
 
36
36
  end
37
37
 
38
- end
38
+ end
@@ -5,8 +5,8 @@ describe User do
5
5
 
6
6
  it "create user" do
7
7
  lambda{
8
- Factory(:user)
8
+ FactoryGirl.create(:user)
9
9
  }.should change(User, :count).by(1)
10
10
  end
11
11
 
12
- end
12
+ end
data/spec/spec_helper.rb CHANGED
@@ -21,8 +21,8 @@ ActiveRecord::Migrator.migrate File.expand_path("../dummy/db/migrate/", __FILE__
21
21
  Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each { |f| require f }
22
22
 
23
23
  RSpec.configure do |config|
24
-
25
-
24
+
25
+
26
26
  # Remove this line if you don't want RSpec's should and should_not
27
27
  # methods or matchers
28
28
  require 'rspec/expectations'
@@ -42,4 +42,4 @@ OVERLAP_TIME_RANGES = {
42
42
  "starts inside and ends at same time" => ['2011-01-06'.to_date, '2011-01-08'.to_date],
43
43
  "starts before and ends at time of start" => ['2011-01-03'.to_date, '2011-01-05'.to_date],
44
44
  "starts at time of end and ends after" => ['2011-01-08'.to_date, '2011-01-19'.to_date]
45
- }
45
+ }
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "validates_overlap"
8
- s.version = "0.1.0"
8
+ s.version = "0.1.1"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Robin Bortlik"]
12
- s.date = "2012-12-07"
12
+ s.date = "2013-02-19"
13
13
  s.description = "It can be useful when you you are developing some app where you will work with meetings, events etc."
14
14
  s.email = "robinbortlik@gmail.com"
15
15
  s.extra_rdoc_files = [
@@ -102,26 +102,26 @@ Gem::Specification.new do |s|
102
102
 
103
103
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
104
104
  s.add_runtime_dependency(%q<rails>, [">= 3.0.0"])
105
- s.add_development_dependency(%q<sqlite3>, [">= 0"])
106
- s.add_development_dependency(%q<rspec-rails>, [">= 2.0.0.beta"])
107
- s.add_development_dependency(%q<factory_girl_rails>, [">= 0"])
108
- s.add_development_dependency(%q<bundler>, [">= 1.0.0"])
109
- s.add_development_dependency(%q<jeweler>, [">= 1.5.2"])
105
+ s.add_development_dependency(%q<sqlite3>, ["~> 1.3.7"])
106
+ s.add_development_dependency(%q<rspec-rails>, ["~> 2.12.2"])
107
+ s.add_development_dependency(%q<factory_girl_rails>, ["~> 4.2.1"])
108
+ s.add_development_dependency(%q<bundler>, ["~> 1.2.4"])
109
+ s.add_development_dependency(%q<jeweler>, ["~> 1.8.4"])
110
110
  else
111
111
  s.add_dependency(%q<rails>, [">= 3.0.0"])
112
- s.add_dependency(%q<sqlite3>, [">= 0"])
113
- s.add_dependency(%q<rspec-rails>, [">= 2.0.0.beta"])
114
- s.add_dependency(%q<factory_girl_rails>, [">= 0"])
115
- s.add_dependency(%q<bundler>, [">= 1.0.0"])
116
- s.add_dependency(%q<jeweler>, [">= 1.5.2"])
112
+ s.add_dependency(%q<sqlite3>, ["~> 1.3.7"])
113
+ s.add_dependency(%q<rspec-rails>, ["~> 2.12.2"])
114
+ s.add_dependency(%q<factory_girl_rails>, ["~> 4.2.1"])
115
+ s.add_dependency(%q<bundler>, ["~> 1.2.4"])
116
+ s.add_dependency(%q<jeweler>, ["~> 1.8.4"])
117
117
  end
118
118
  else
119
119
  s.add_dependency(%q<rails>, [">= 3.0.0"])
120
- s.add_dependency(%q<sqlite3>, [">= 0"])
121
- s.add_dependency(%q<rspec-rails>, [">= 2.0.0.beta"])
122
- s.add_dependency(%q<factory_girl_rails>, [">= 0"])
123
- s.add_dependency(%q<bundler>, [">= 1.0.0"])
124
- s.add_dependency(%q<jeweler>, [">= 1.5.2"])
120
+ s.add_dependency(%q<sqlite3>, ["~> 1.3.7"])
121
+ s.add_dependency(%q<rspec-rails>, ["~> 2.12.2"])
122
+ s.add_dependency(%q<factory_girl_rails>, ["~> 4.2.1"])
123
+ s.add_dependency(%q<bundler>, ["~> 1.2.4"])
124
+ s.add_dependency(%q<jeweler>, ["~> 1.8.4"])
125
125
  end
126
126
  end
127
127
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: validates_overlap
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-12-07 00:00:00.000000000 Z
12
+ date: 2013-02-19 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rails
@@ -32,81 +32,81 @@ dependencies:
32
32
  requirement: !ruby/object:Gem::Requirement
33
33
  none: false
34
34
  requirements:
35
- - - ! '>='
35
+ - - ~>
36
36
  - !ruby/object:Gem::Version
37
- version: '0'
37
+ version: 1.3.7
38
38
  type: :development
39
39
  prerelease: false
40
40
  version_requirements: !ruby/object:Gem::Requirement
41
41
  none: false
42
42
  requirements:
43
- - - ! '>='
43
+ - - ~>
44
44
  - !ruby/object:Gem::Version
45
- version: '0'
45
+ version: 1.3.7
46
46
  - !ruby/object:Gem::Dependency
47
47
  name: rspec-rails
48
48
  requirement: !ruby/object:Gem::Requirement
49
49
  none: false
50
50
  requirements:
51
- - - ! '>='
51
+ - - ~>
52
52
  - !ruby/object:Gem::Version
53
- version: 2.0.0.beta
53
+ version: 2.12.2
54
54
  type: :development
55
55
  prerelease: false
56
56
  version_requirements: !ruby/object:Gem::Requirement
57
57
  none: false
58
58
  requirements:
59
- - - ! '>='
59
+ - - ~>
60
60
  - !ruby/object:Gem::Version
61
- version: 2.0.0.beta
61
+ version: 2.12.2
62
62
  - !ruby/object:Gem::Dependency
63
63
  name: factory_girl_rails
64
64
  requirement: !ruby/object:Gem::Requirement
65
65
  none: false
66
66
  requirements:
67
- - - ! '>='
67
+ - - ~>
68
68
  - !ruby/object:Gem::Version
69
- version: '0'
69
+ version: 4.2.1
70
70
  type: :development
71
71
  prerelease: false
72
72
  version_requirements: !ruby/object:Gem::Requirement
73
73
  none: false
74
74
  requirements:
75
- - - ! '>='
75
+ - - ~>
76
76
  - !ruby/object:Gem::Version
77
- version: '0'
77
+ version: 4.2.1
78
78
  - !ruby/object:Gem::Dependency
79
79
  name: bundler
80
80
  requirement: !ruby/object:Gem::Requirement
81
81
  none: false
82
82
  requirements:
83
- - - ! '>='
83
+ - - ~>
84
84
  - !ruby/object:Gem::Version
85
- version: 1.0.0
85
+ version: 1.2.4
86
86
  type: :development
87
87
  prerelease: false
88
88
  version_requirements: !ruby/object:Gem::Requirement
89
89
  none: false
90
90
  requirements:
91
- - - ! '>='
91
+ - - ~>
92
92
  - !ruby/object:Gem::Version
93
- version: 1.0.0
93
+ version: 1.2.4
94
94
  - !ruby/object:Gem::Dependency
95
95
  name: jeweler
96
96
  requirement: !ruby/object:Gem::Requirement
97
97
  none: false
98
98
  requirements:
99
- - - ! '>='
99
+ - - ~>
100
100
  - !ruby/object:Gem::Version
101
- version: 1.5.2
101
+ version: 1.8.4
102
102
  type: :development
103
103
  prerelease: false
104
104
  version_requirements: !ruby/object:Gem::Requirement
105
105
  none: false
106
106
  requirements:
107
- - - ! '>='
107
+ - - ~>
108
108
  - !ruby/object:Gem::Version
109
- version: 1.5.2
109
+ version: 1.8.4
110
110
  description: It can be useful when you you are developing some app where you will
111
111
  work with meetings, events etc.
112
112
  email: robinbortlik@gmail.com
@@ -204,7 +204,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
204
204
  version: '0'
205
205
  segments:
206
206
  - 0
207
- hash: 1024957372964977180
207
+ hash: 3573107370652400302
208
208
  required_rubygems_version: !ruby/object:Gem::Requirement
209
209
  none: false
210
210
  requirements: