validates_overlap 0.0.4 → 0.0.5

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.
data/.travis.yml ADDED
@@ -0,0 +1,5 @@
1
+ rvm:
2
+ - 1.9.2
3
+ - 1.9.3
4
+
5
+
data/README.rdoc CHANGED
@@ -1,3 +1,5 @@
1
+ {<img src="https://secure.travis-ci.org/robinbortlik/validates_overlap.png?branch=master" alt="Build Status" />}[http://travis-ci.org/robinbortlik/validates_overlap]
2
+
1
3
  = ValidatesOverlap
2
4
 
3
5
  This project rocks and uses MIT-LICENSE.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.4
1
+ 0.0.5
@@ -0,0 +1,4 @@
1
+ en:
2
+ errors:
3
+ messages:
4
+ overlap: overlaps with another record
@@ -1,3 +1,6 @@
1
+ require 'active_support/i18n'
2
+ I18n.load_path << File.dirname(__FILE__) + '/locale/en.yml'
3
+
1
4
  class OverlapValidator < ActiveModel::EachValidator
2
5
 
3
6
  attr_accessor :sql_conditions
@@ -9,7 +12,7 @@ class OverlapValidator < ActiveModel::EachValidator
9
12
  end
10
13
 
11
14
  def validate(record)
12
- record.errors[attributes.first] << (options[:message] || "is overlapped") if self.find_crossed(record)
15
+ record.errors.add(attributes.first, :overlap) if self.find_crossed(record)
13
16
  end
14
17
 
15
18
 
@@ -1,3 +1,4 @@
1
+ # encoding: UTF-8
1
2
  # This file is auto-generated from the current state of the database. Instead
2
3
  # of editing this file, please use the migrations feature of Active Record to
3
4
  # incrementally modify your database, and then regenerate this schema definition.
@@ -15,22 +16,22 @@ ActiveRecord::Schema.define(:version => 20110407060725) do
15
16
  create_table "meetings", :force => true do |t|
16
17
  t.date "starts_at"
17
18
  t.date "ends_at"
18
- t.datetime "created_at"
19
- t.datetime "updated_at"
19
+ t.datetime "created_at", :null => false
20
+ t.datetime "updated_at", :null => false
20
21
  end
21
22
 
22
23
  create_table "user_meetings", :force => true do |t|
23
24
  t.integer "user_id"
24
25
  t.date "starts_at"
25
26
  t.date "ends_at"
26
- t.datetime "created_at"
27
- t.datetime "updated_at"
27
+ t.datetime "created_at", :null => false
28
+ t.datetime "updated_at", :null => false
28
29
  end
29
30
 
30
31
  create_table "users", :force => true do |t|
31
32
  t.string "name"
32
- t.datetime "created_at"
33
- t.datetime "updated_at"
33
+ t.datetime "created_at", :null => false
34
+ t.datetime "updated_at", :null => false
34
35
  end
35
36
 
36
37
  end
@@ -13,21 +13,8 @@ describe Meeting do
13
13
  }.should change(Meeting, :count).by(1)
14
14
  end
15
15
 
16
-
17
- OVERLAP_TIME_RANGES = {
18
- "has same starts_at and ends_at" => ['2011-01-05'.to_date, '2011-01-08'.to_date],
19
- "starts before starts_at and ends after ends_at" => ['2011-01-04'.to_date, '2011-01-09'.to_date],
20
- "starts before starts_at and ends inside" => ['2011-01-04'.to_date, '2011-01-06'.to_date],
21
- "starts inside and ends after ends_at" => ['2011-01-06'.to_date, '2011-01-09'.to_date],
22
- "starts inside and ends inside" => ['2011-01-06'.to_date, '2011-01-07'.to_date],
23
- "starts at same time and ends inside" => ['2011-01-05'.to_date, '2011-01-07'.to_date],
24
- "starts inside and ends at same time" => ['2011-01-06'.to_date, '2011-01-08'.to_date],
25
- "starts before and ends at time of start" => ['2011-01-03'.to_date, '2011-01-05'.to_date],
26
- "starts at time of end and ends after" => ['2011-01-08'.to_date, '2011-01-19'.to_date]
27
- }
28
-
29
16
  context "Validation" do
30
-
17
+
31
18
  OVERLAP_TIME_RANGES.each do |description, time_range|
32
19
  it "is not valid if exists meeting which #{description}" do
33
20
  meeting = Factory.build(:meeting, :starts_at => time_range.first, :ends_at => time_range.last)
data/spec/spec_helper.rb CHANGED
@@ -31,3 +31,15 @@ RSpec.configure do |config|
31
31
  # == Mock Framework
32
32
  config.mock_with :rspec
33
33
  end
34
+
35
+ OVERLAP_TIME_RANGES = {
36
+ "has same starts_at and ends_at" => ['2011-01-05'.to_date, '2011-01-08'.to_date],
37
+ "starts before starts_at and ends after ends_at" => ['2011-01-04'.to_date, '2011-01-09'.to_date],
38
+ "starts before starts_at and ends inside" => ['2011-01-04'.to_date, '2011-01-06'.to_date],
39
+ "starts inside and ends after ends_at" => ['2011-01-06'.to_date, '2011-01-09'.to_date],
40
+ "starts inside and ends inside" => ['2011-01-06'.to_date, '2011-01-07'.to_date],
41
+ "starts at same time and ends inside" => ['2011-01-05'.to_date, '2011-01-07'.to_date],
42
+ "starts inside and ends at same time" => ['2011-01-06'.to_date, '2011-01-08'.to_date],
43
+ "starts before and ends at time of start" => ['2011-01-03'.to_date, '2011-01-05'.to_date],
44
+ "starts at time of end and ends after" => ['2011-01-08'.to_date, '2011-01-19'.to_date]
45
+ }
@@ -5,23 +5,25 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "validates_overlap"
8
- s.version = "0.0.4"
8
+ s.version = "0.0.5"
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-04-25"
12
+ s.date = "2012-05-07"
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 = [
16
16
  "README.rdoc"
17
17
  ]
18
18
  s.files = [
19
+ ".travis.yml",
19
20
  "Gemfile",
20
21
  "MIT-LICENSE",
21
22
  "README.rdoc",
22
23
  "Rakefile",
23
24
  "VERSION",
24
25
  "lib/validates_overlap.rb",
26
+ "lib/validates_overlap/locale/en.yml",
25
27
  "lib/validates_overlap/overlap_validator.rb",
26
28
  "spec/dummy/Rakefile",
27
29
  "spec/dummy/app/controllers/application_controller.rb",
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.0.4
4
+ version: 0.0.5
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-04-25 00:00:00.000000000 Z
12
+ date: 2012-05-07 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rails
16
- requirement: &70279637001300 !ruby/object:Gem::Requirement
16
+ requirement: &70299388963720 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: 3.0.0
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70279637001300
24
+ version_requirements: *70299388963720
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: sqlite3
27
- requirement: &70279637000300 !ruby/object:Gem::Requirement
27
+ requirement: &70299388985240 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: '0'
33
33
  type: :development
34
34
  prerelease: false
35
- version_requirements: *70279637000300
35
+ version_requirements: *70299388985240
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: rspec-rails
38
- requirement: &70279636999560 !ruby/object:Gem::Requirement
38
+ requirement: &70299388984160 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: 2.0.0.beta
44
44
  type: :development
45
45
  prerelease: false
46
- version_requirements: *70279636999560
46
+ version_requirements: *70299388984160
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: factory_girl_rails
49
- requirement: &70279636999080 !ruby/object:Gem::Requirement
49
+ requirement: &70299388983400 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ! '>='
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: '0'
55
55
  type: :development
56
56
  prerelease: false
57
- version_requirements: *70279636999080
57
+ version_requirements: *70299388983400
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: bundler
60
- requirement: &70279636998600 !ruby/object:Gem::Requirement
60
+ requirement: &70299388982260 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ! '>='
@@ -65,10 +65,10 @@ dependencies:
65
65
  version: 1.0.0
66
66
  type: :development
67
67
  prerelease: false
68
- version_requirements: *70279636998600
68
+ version_requirements: *70299388982260
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: jeweler
71
- requirement: &70279636998020 !ruby/object:Gem::Requirement
71
+ requirement: &70299388981120 !ruby/object:Gem::Requirement
72
72
  none: false
73
73
  requirements:
74
74
  - - ! '>='
@@ -76,7 +76,7 @@ dependencies:
76
76
  version: 1.5.2
77
77
  type: :development
78
78
  prerelease: false
79
- version_requirements: *70279636998020
79
+ version_requirements: *70299388981120
80
80
  description: It can be useful when you you are developing some app where you will
81
81
  work with meetings, events etc.
82
82
  email: robinbortlik@gmail.com
@@ -85,12 +85,14 @@ extensions: []
85
85
  extra_rdoc_files:
86
86
  - README.rdoc
87
87
  files:
88
+ - .travis.yml
88
89
  - Gemfile
89
90
  - MIT-LICENSE
90
91
  - README.rdoc
91
92
  - Rakefile
92
93
  - VERSION
93
94
  - lib/validates_overlap.rb
95
+ - lib/validates_overlap/locale/en.yml
94
96
  - lib/validates_overlap/overlap_validator.rb
95
97
  - spec/dummy/Rakefile
96
98
  - spec/dummy/app/controllers/application_controller.rb
@@ -153,7 +155,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
153
155
  version: '0'
154
156
  segments:
155
157
  - 0
156
- hash: 3739914896069167697
158
+ hash: 4277930355415785959
157
159
  required_rubygems_version: !ruby/object:Gem::Requirement
158
160
  none: false
159
161
  requirements: