validates_overlap 1.0.0 → 1.2.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.
Files changed (99) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +53 -0
  3. data/CONTRIBUTORS.md +26 -0
  4. data/MIT-LICENSE +2 -1
  5. data/README.md +81 -8
  6. data/lib/validates_overlap/overlap_validator.rb +82 -44
  7. data/lib/validates_overlap/version.rb +5 -0
  8. data/lib/validates_overlap.rb +2 -1
  9. metadata +55 -135
  10. data/.gitignore +0 -11
  11. data/.rspec +0 -2
  12. data/.rubocop.yml +0 -5
  13. data/.travis.yml +0 -6
  14. data/Gemfile +0 -3
  15. data/Gemfile.rails60 +0 -5
  16. data/Rakefile +0 -39
  17. data/VERSION +0 -1
  18. data/spec/dummy/Rakefile +0 -7
  19. data/spec/dummy/app/controllers/application_controller.rb +0 -3
  20. data/spec/dummy/app/helpers/application_helper.rb +0 -2
  21. data/spec/dummy/app/models/active_meeting.rb +0 -4
  22. data/spec/dummy/app/models/document_with_enum.rb +0 -26
  23. data/spec/dummy/app/models/end_overlap_meeting.rb +0 -3
  24. data/spec/dummy/app/models/meeting.rb +0 -3
  25. data/spec/dummy/app/models/position.rb +0 -9
  26. data/spec/dummy/app/models/secure_meeting.rb +0 -3
  27. data/spec/dummy/app/models/shift.rb +0 -3
  28. data/spec/dummy/app/models/start_end_overlap_meeting.rb +0 -3
  29. data/spec/dummy/app/models/start_overlap_meeting.rb +0 -3
  30. data/spec/dummy/app/models/time_slot.rb +0 -8
  31. data/spec/dummy/app/models/user.rb +0 -2
  32. data/spec/dummy/app/models/user_meeting.rb +0 -3
  33. data/spec/dummy/app/views/layouts/application.html.erb +0 -14
  34. data/spec/dummy/config/application.rb +0 -45
  35. data/spec/dummy/config/boot.rb +0 -10
  36. data/spec/dummy/config/database.yml +0 -22
  37. data/spec/dummy/config/environment.rb +0 -5
  38. data/spec/dummy/config/environments/development.rb +0 -25
  39. data/spec/dummy/config/environments/production.rb +0 -49
  40. data/spec/dummy/config/environments/test.rb +0 -35
  41. data/spec/dummy/config/initializers/backtrace_silencers.rb +0 -7
  42. data/spec/dummy/config/initializers/inflections.rb +0 -10
  43. data/spec/dummy/config/initializers/mime_types.rb +0 -5
  44. data/spec/dummy/config/initializers/secret_token.rb +0 -7
  45. data/spec/dummy/config/initializers/session_store.rb +0 -8
  46. data/spec/dummy/config/locales/en.yml +0 -5
  47. data/spec/dummy/config/routes.rb +0 -58
  48. data/spec/dummy/config.ru +0 -4
  49. data/spec/dummy/db/migrate/20110406082020_create_meetings.rb +0 -13
  50. data/spec/dummy/db/migrate/20110406082053_create_users.rb +0 -13
  51. data/spec/dummy/db/migrate/20110407060725_create_user_meetings.rb +0 -15
  52. data/spec/dummy/db/migrate/20120509130956_create_end_overlap_meetings.rb +0 -13
  53. data/spec/dummy/db/migrate/20120509131012_create_start_overlap_meetings.rb +0 -13
  54. data/spec/dummy/db/migrate/20120509131032_create_start_end_overlap_meetings.rb +0 -13
  55. data/spec/dummy/db/migrate/20121207162212_create_time_slot.rb +0 -20
  56. data/spec/dummy/db/migrate/20130826155107_create_active_meetings.rb +0 -14
  57. data/spec/dummy/db/migrate/20150707155107_create_secure_meetings.rb +0 -14
  58. data/spec/dummy/db/migrate/20151203153132_create_shifts.rb +0 -13
  59. data/spec/dummy/db/migrate/20170102162952_add_documents_with_enum.rb +0 -14
  60. data/spec/dummy/db/schema.rb +0 -101
  61. data/spec/dummy/public/404.html +0 -26
  62. data/spec/dummy/public/422.html +0 -26
  63. data/spec/dummy/public/500.html +0 -26
  64. data/spec/dummy/public/favicon.ico +0 -0
  65. data/spec/dummy/public/javascripts/application.js +0 -2
  66. data/spec/dummy/public/javascripts/controls.js +0 -965
  67. data/spec/dummy/public/javascripts/dragdrop.js +0 -974
  68. data/spec/dummy/public/javascripts/effects.js +0 -1123
  69. data/spec/dummy/public/javascripts/prototype.js +0 -6001
  70. data/spec/dummy/public/javascripts/rails.js +0 -191
  71. data/spec/dummy/public/stylesheets/.gitkeep +0 -0
  72. data/spec/dummy/script/rails +0 -6
  73. data/spec/dummy/spec/factories/active_meeting.rb +0 -7
  74. data/spec/dummy/spec/factories/document_with_enum.rb +0 -7
  75. data/spec/dummy/spec/factories/end_overlap_meeting.rb +0 -6
  76. data/spec/dummy/spec/factories/meeting.rb +0 -6
  77. data/spec/dummy/spec/factories/position.rb +0 -6
  78. data/spec/dummy/spec/factories/secure_meeting.rb +0 -6
  79. data/spec/dummy/spec/factories/shift.rb +0 -6
  80. data/spec/dummy/spec/factories/start_end_overlap_meeting.rb +0 -6
  81. data/spec/dummy/spec/factories/start_overlap_meeting.rb +0 -6
  82. data/spec/dummy/spec/factories/time_slot.rb +0 -6
  83. data/spec/dummy/spec/factories/user.rb +0 -5
  84. data/spec/dummy/spec/factories/user_meeting.rb +0 -13
  85. data/spec/dummy/spec/models/active_meetings_spec.rb +0 -11
  86. data/spec/dummy/spec/models/document_with_enum_spec.rb +0 -53
  87. data/spec/dummy/spec/models/end_overlap_meeting_spec.rb +0 -48
  88. data/spec/dummy/spec/models/meeting_spec.rb +0 -68
  89. data/spec/dummy/spec/models/position_spec.rb +0 -31
  90. data/spec/dummy/spec/models/secure_meeting_spec.rb +0 -14
  91. data/spec/dummy/spec/models/shift_spec.rb +0 -41
  92. data/spec/dummy/spec/models/start_end_overlap_meeting_spec.rb +0 -48
  93. data/spec/dummy/spec/models/start_overlap_meeting_spec.rb +0 -48
  94. data/spec/dummy/spec/models/time_slot_spec.rb +0 -38
  95. data/spec/dummy/spec/models/user_meeting_spec.rb +0 -34
  96. data/spec/dummy/spec/models/user_spec.rb +0 -9
  97. data/spec/dummy/spec/overlap_validator_spec.rb +0 -32
  98. data/spec/spec_helper.rb +0 -58
  99. data/validates_overlap.gemspec +0 -30
metadata CHANGED
@@ -1,17 +1,17 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: validates_overlap
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Robin Bortlik
8
- autorequire:
8
+ - Tilo Sloboda
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-10-18 00:00:00.000000000 Z
11
+ date: 1980-01-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: rails
14
+ name: activerecord
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
17
  - - ">="
@@ -25,7 +25,7 @@ dependencies:
25
25
  - !ruby/object:Gem::Version
26
26
  version: 6.0.0
27
27
  - !ruby/object:Gem::Dependency
28
- name: sqlite3
28
+ name: bundler
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - ">="
@@ -39,7 +39,7 @@ dependencies:
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
41
  - !ruby/object:Gem::Dependency
42
- name: rspec-rails
42
+ name: database_cleaner
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - ">="
@@ -53,7 +53,7 @@ dependencies:
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
55
  - !ruby/object:Gem::Dependency
56
- name: factory_girl_rails
56
+ name: factory_bot_rails
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - ">="
@@ -67,7 +67,7 @@ dependencies:
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
69
  - !ruby/object:Gem::Dependency
70
- name: bundler
70
+ name: pry
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
73
  - - ">="
@@ -81,7 +81,7 @@ dependencies:
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
83
  - !ruby/object:Gem::Dependency
84
- name: pry
84
+ name: rails
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
87
  - - ">="
@@ -109,7 +109,7 @@ dependencies:
109
109
  - !ruby/object:Gem::Version
110
110
  version: '0'
111
111
  - !ruby/object:Gem::Dependency
112
- name: database_cleaner
112
+ name: rspec-rails
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
115
  - - ">="
@@ -136,117 +136,64 @@ dependencies:
136
136
  - - ">="
137
137
  - !ruby/object:Gem::Version
138
138
  version: '0'
139
- description: It can be useful when you you are developing some app where you will
140
- work with meetings, events etc.
141
- email: robinbortlik@gmail.com
139
+ - !ruby/object:Gem::Dependency
140
+ name: simplecov
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - ">="
144
+ - !ruby/object:Gem::Version
145
+ version: '0'
146
+ type: :development
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - ">="
151
+ - !ruby/object:Gem::Version
152
+ version: '0'
153
+ - !ruby/object:Gem::Dependency
154
+ name: sqlite3
155
+ requirement: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - ">="
158
+ - !ruby/object:Gem::Version
159
+ version: '0'
160
+ type: :development
161
+ prerelease: false
162
+ version_requirements: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - ">="
165
+ - !ruby/object:Gem::Version
166
+ version: '0'
167
+ description: Adds ActiveRecord validations that prevent overlapping date/time ranges
168
+ — bookings, reservations, meetings, shifts. One SQL query; supports scoping and
169
+ open-ended ranges
170
+ email:
171
+ - robinbortlik@gmail.com
172
+ - tilo.sloboda@gmail.com
142
173
  executables: []
143
174
  extensions: []
144
175
  extra_rdoc_files:
145
176
  - README.md
146
177
  files:
147
- - ".gitignore"
148
- - ".rspec"
149
- - ".rubocop.yml"
150
- - ".travis.yml"
151
- - Gemfile
152
- - Gemfile.rails60
178
+ - CHANGELOG.md
179
+ - CONTRIBUTORS.md
153
180
  - MIT-LICENSE
154
181
  - README.md
155
- - Rakefile
156
- - VERSION
157
182
  - lib/validates_overlap.rb
158
183
  - lib/validates_overlap/locale/en.yml
159
184
  - lib/validates_overlap/locale/es.yml
160
185
  - lib/validates_overlap/locale/pt-BR.yml
161
186
  - lib/validates_overlap/locale/ru.yml
162
187
  - lib/validates_overlap/overlap_validator.rb
163
- - spec/dummy/Rakefile
164
- - spec/dummy/app/controllers/application_controller.rb
165
- - spec/dummy/app/helpers/application_helper.rb
166
- - spec/dummy/app/models/active_meeting.rb
167
- - spec/dummy/app/models/document_with_enum.rb
168
- - spec/dummy/app/models/end_overlap_meeting.rb
169
- - spec/dummy/app/models/meeting.rb
170
- - spec/dummy/app/models/position.rb
171
- - spec/dummy/app/models/secure_meeting.rb
172
- - spec/dummy/app/models/shift.rb
173
- - spec/dummy/app/models/start_end_overlap_meeting.rb
174
- - spec/dummy/app/models/start_overlap_meeting.rb
175
- - spec/dummy/app/models/time_slot.rb
176
- - spec/dummy/app/models/user.rb
177
- - spec/dummy/app/models/user_meeting.rb
178
- - spec/dummy/app/views/layouts/application.html.erb
179
- - spec/dummy/config.ru
180
- - spec/dummy/config/application.rb
181
- - spec/dummy/config/boot.rb
182
- - spec/dummy/config/database.yml
183
- - spec/dummy/config/environment.rb
184
- - spec/dummy/config/environments/development.rb
185
- - spec/dummy/config/environments/production.rb
186
- - spec/dummy/config/environments/test.rb
187
- - spec/dummy/config/initializers/backtrace_silencers.rb
188
- - spec/dummy/config/initializers/inflections.rb
189
- - spec/dummy/config/initializers/mime_types.rb
190
- - spec/dummy/config/initializers/secret_token.rb
191
- - spec/dummy/config/initializers/session_store.rb
192
- - spec/dummy/config/locales/en.yml
193
- - spec/dummy/config/routes.rb
194
- - spec/dummy/db/migrate/20110406082020_create_meetings.rb
195
- - spec/dummy/db/migrate/20110406082053_create_users.rb
196
- - spec/dummy/db/migrate/20110407060725_create_user_meetings.rb
197
- - spec/dummy/db/migrate/20120509130956_create_end_overlap_meetings.rb
198
- - spec/dummy/db/migrate/20120509131012_create_start_overlap_meetings.rb
199
- - spec/dummy/db/migrate/20120509131032_create_start_end_overlap_meetings.rb
200
- - spec/dummy/db/migrate/20121207162212_create_time_slot.rb
201
- - spec/dummy/db/migrate/20130826155107_create_active_meetings.rb
202
- - spec/dummy/db/migrate/20150707155107_create_secure_meetings.rb
203
- - spec/dummy/db/migrate/20151203153132_create_shifts.rb
204
- - spec/dummy/db/migrate/20170102162952_add_documents_with_enum.rb
205
- - spec/dummy/db/schema.rb
206
- - spec/dummy/public/404.html
207
- - spec/dummy/public/422.html
208
- - spec/dummy/public/500.html
209
- - spec/dummy/public/favicon.ico
210
- - spec/dummy/public/javascripts/application.js
211
- - spec/dummy/public/javascripts/controls.js
212
- - spec/dummy/public/javascripts/dragdrop.js
213
- - spec/dummy/public/javascripts/effects.js
214
- - spec/dummy/public/javascripts/prototype.js
215
- - spec/dummy/public/javascripts/rails.js
216
- - spec/dummy/public/stylesheets/.gitkeep
217
- - spec/dummy/script/rails
218
- - spec/dummy/spec/factories/active_meeting.rb
219
- - spec/dummy/spec/factories/document_with_enum.rb
220
- - spec/dummy/spec/factories/end_overlap_meeting.rb
221
- - spec/dummy/spec/factories/meeting.rb
222
- - spec/dummy/spec/factories/position.rb
223
- - spec/dummy/spec/factories/secure_meeting.rb
224
- - spec/dummy/spec/factories/shift.rb
225
- - spec/dummy/spec/factories/start_end_overlap_meeting.rb
226
- - spec/dummy/spec/factories/start_overlap_meeting.rb
227
- - spec/dummy/spec/factories/time_slot.rb
228
- - spec/dummy/spec/factories/user.rb
229
- - spec/dummy/spec/factories/user_meeting.rb
230
- - spec/dummy/spec/models/active_meetings_spec.rb
231
- - spec/dummy/spec/models/document_with_enum_spec.rb
232
- - spec/dummy/spec/models/end_overlap_meeting_spec.rb
233
- - spec/dummy/spec/models/meeting_spec.rb
234
- - spec/dummy/spec/models/position_spec.rb
235
- - spec/dummy/spec/models/secure_meeting_spec.rb
236
- - spec/dummy/spec/models/shift_spec.rb
237
- - spec/dummy/spec/models/start_end_overlap_meeting_spec.rb
238
- - spec/dummy/spec/models/start_overlap_meeting_spec.rb
239
- - spec/dummy/spec/models/time_slot_spec.rb
240
- - spec/dummy/spec/models/user_meeting_spec.rb
241
- - spec/dummy/spec/models/user_spec.rb
242
- - spec/dummy/spec/overlap_validator_spec.rb
243
- - spec/spec_helper.rb
244
- - validates_overlap.gemspec
245
- homepage: http://github.com/robinbortlik/validates_overlap
188
+ - lib/validates_overlap/version.rb
189
+ homepage: https://github.com/tilo/validates_overlap
246
190
  licenses:
247
191
  - MIT
248
- metadata: {}
249
- post_install_message:
192
+ metadata:
193
+ source_code_uri: https://github.com/tilo/validates_overlap/tree/v1.2.0
194
+ bug_tracker_uri: https://github.com/tilo/validates_overlap/issues
195
+ changelog_uri: https://github.com/tilo/validates_overlap/blob/main/CHANGELOG.md
196
+ rubygems_mfa_required: 'true'
250
197
  rdoc_options: []
251
198
  require_paths:
252
199
  - lib
@@ -261,34 +208,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
261
208
  - !ruby/object:Gem::Version
262
209
  version: '0'
263
210
  requirements: []
264
- rubyforge_project:
265
- rubygems_version: 2.7.3
266
- signing_key:
211
+ rubygems_version: 4.0.17
267
212
  specification_version: 4
268
213
  summary: This gem helps validate records with time overlap.
269
- test_files:
270
- - spec/dummy/spec/factories/active_meeting.rb
271
- - spec/dummy/spec/factories/document_with_enum.rb
272
- - spec/dummy/spec/factories/end_overlap_meeting.rb
273
- - spec/dummy/spec/factories/meeting.rb
274
- - spec/dummy/spec/factories/position.rb
275
- - spec/dummy/spec/factories/secure_meeting.rb
276
- - spec/dummy/spec/factories/shift.rb
277
- - spec/dummy/spec/factories/start_end_overlap_meeting.rb
278
- - spec/dummy/spec/factories/start_overlap_meeting.rb
279
- - spec/dummy/spec/factories/time_slot.rb
280
- - spec/dummy/spec/factories/user.rb
281
- - spec/dummy/spec/factories/user_meeting.rb
282
- - spec/dummy/spec/models/active_meetings_spec.rb
283
- - spec/dummy/spec/models/document_with_enum_spec.rb
284
- - spec/dummy/spec/models/end_overlap_meeting_spec.rb
285
- - spec/dummy/spec/models/meeting_spec.rb
286
- - spec/dummy/spec/models/position_spec.rb
287
- - spec/dummy/spec/models/secure_meeting_spec.rb
288
- - spec/dummy/spec/models/shift_spec.rb
289
- - spec/dummy/spec/models/start_end_overlap_meeting_spec.rb
290
- - spec/dummy/spec/models/start_overlap_meeting_spec.rb
291
- - spec/dummy/spec/models/time_slot_spec.rb
292
- - spec/dummy/spec/models/user_meeting_spec.rb
293
- - spec/dummy/spec/models/user_spec.rb
294
- - spec/dummy/spec/overlap_validator_spec.rb
214
+ test_files: []
data/.gitignore DELETED
@@ -1,11 +0,0 @@
1
- .bundle/
2
- .idea/
3
- log/*.log
4
- pkg/
5
- spec/dummy/db/*.sqlite3
6
- spec/dummy/log/*.log
7
- spec/dummy/tmp/
8
- database.yml
9
- Gemfile*.lock
10
- .DS_Store
11
- .ruby-version
data/.rspec DELETED
@@ -1,2 +0,0 @@
1
- --color
2
- --format progress
data/.rubocop.yml DELETED
@@ -1,5 +0,0 @@
1
- Style/Encoding:
2
- Enabled: false
3
-
4
- Metrics/LineLength:
5
- Max: 120
data/.travis.yml DELETED
@@ -1,6 +0,0 @@
1
- language: ruby
2
- rvm:
3
- - 2.5.0
4
- gemfile:
5
- - Gemfile.rails60
6
- script: bundle exec rspec
data/Gemfile DELETED
@@ -1,3 +0,0 @@
1
- source 'https://rubygems.org'
2
-
3
- gemspec
data/Gemfile.rails60 DELETED
@@ -1,5 +0,0 @@
1
- source "https://rubygems.org"
2
-
3
- gemspec
4
-
5
- gem 'rails', '~> 6.0'
data/Rakefile DELETED
@@ -1,39 +0,0 @@
1
- require 'rubygems'
2
- require 'bundler'
3
- require 'rake'
4
- require 'rspec/core'
5
- require 'rspec/core/rake_task'
6
- require 'rdoc/task'
7
-
8
-
9
- # Temporary fix of rake issue
10
- # http://stackoverflow.com/questions/35893584/nomethoderror-undefined-method-last-comment-after-upgrading-to-rake-11/35893941
11
- module TempFixForRakeLastComment
12
- def last_comment
13
- last_description
14
- end
15
- end
16
- Rake::Application.send :include, TempFixForRakeLastComment
17
-
18
-
19
- begin
20
- Bundler::GemHelper.install_tasks
21
- Bundler.setup(:default, :development)
22
- rescue Bundler::BundlerError => e
23
- $stderr.puts e.message
24
- $stderr.puts 'Run `bundle install` to install missing gems'
25
- exit e.status_code
26
- end
27
-
28
-
29
- RSpec::Core::RakeTask.new(:spec)
30
-
31
- task default: :spec
32
-
33
- Rake::RDocTask.new do |rdoc|
34
- version = File.exist?('VERSION') ? File.read('VERSION') : ''
35
- rdoc.rdoc_dir = 'rdoc'
36
- rdoc.title = "validates_overlap #{version}"
37
- rdoc.rdoc_files.include('README*')
38
- rdoc.rdoc_files.include('lib/**/*.rb')
39
- end
data/VERSION DELETED
@@ -1 +0,0 @@
1
- 1.0.0
data/spec/dummy/Rakefile DELETED
@@ -1,7 +0,0 @@
1
- # Add your own tasks in files placed in lib/tasks ending in .rake,
2
- # for example lib/tasks/capistrano.rake, and they will automatically be available to Rake.
3
-
4
- require File.expand_path('../config/application', __FILE__)
5
- require 'rake'
6
-
7
- Dummy::Application.load_tasks
@@ -1,3 +0,0 @@
1
- class ApplicationController < ActionController::Base
2
- protect_from_forgery
3
- end
@@ -1,2 +0,0 @@
1
- module ApplicationHelper
2
- end
@@ -1,4 +0,0 @@
1
- class ActiveMeeting < ActiveRecord::Base
2
- validates :starts_at, :ends_at, overlap: { query_options: { active: nil } }
3
- scope :active, -> { where(is_active: true) }
4
- end
@@ -1,26 +0,0 @@
1
- class DocumentWithEnum < ActiveRecord::Base
2
- self.table_name = 'documents_with_enum'
3
- KINDS = [:contract, :fact, :draft]
4
-
5
-
6
- if (ActiveRecord::VERSION::MAJOR >= 5) || (ActiveRecord::VERSION::MAJOR > 4 && ActiveRecord::VERSION::MINOR > 1)
7
- enum kind: KINDS
8
- else
9
- # Simulate enum functionality implemented in rails 4.1 and 5
10
- # For rails version < 4.1 we always read read attribute by using read_attribute method
11
- def kind=(value)
12
- write_attribute(:kind, KINDS.index(value))
13
- end
14
-
15
- def kind
16
- return nil if read_attribute(:kind).nil?
17
- KINDS[read_attribute(:kind).to_i]
18
- end
19
-
20
- end
21
-
22
- validates :valid_from, :valid_until, overlap: {
23
- exclude_edges: ['valid_from', 'valid_until'],
24
- scope: ['kind']
25
- }
26
- end
@@ -1,3 +0,0 @@
1
- class EndOverlapMeeting < ActiveRecord::Base
2
- validates :starts_at, :ends_at, overlap: { exclude_edges: :ends_at }
3
- end
@@ -1,3 +0,0 @@
1
- class Meeting < ActiveRecord::Base
2
- validates :starts_at, :ends_at, overlap: { load_overlapped: true }
3
- end
@@ -1,9 +0,0 @@
1
- class Position < ActiveRecord::Base
2
- belongs_to :time_slot
3
- belongs_to :user
4
- validates :"time_slots.starts_at", :"time_slots.ends_at",
5
- overlap: {
6
- query_options: { joins: :time_slot },
7
- scope: { 'positions.user_id' => proc { |position| position.user_id } }
8
- }
9
- end
@@ -1,3 +0,0 @@
1
- class SecureMeeting < ActiveRecord::Base
2
- validates :starts_at, :ends_at, overlap: true
3
- end
@@ -1,3 +0,0 @@
1
- class Shift < ActiveRecord::Base
2
- validates :starts_at, :ends_at, overlap: { start_shift: -1.day, end_shift: 1.day }
3
- end
@@ -1,3 +0,0 @@
1
- class StartEndOverlapMeeting < ActiveRecord::Base
2
- validates :starts_at, :ends_at, overlap: { exclude_edges: [:starts_at, :ends_at] }
3
- end
@@ -1,3 +0,0 @@
1
- class StartOverlapMeeting < ActiveRecord::Base
2
- validates :starts_at, :ends_at, overlap: { exclude_edges: :starts_at }
3
- end
@@ -1,8 +0,0 @@
1
- class TimeSlot < ActiveRecord::Base
2
- has_many :positions
3
- validates :"time_slots.starts_at", :"time_slots.ends_at",
4
- overlap: {
5
- query_options: { joins: :positions },
6
- scope: { 'positions.user_id' => proc { |time_slot| time_slot.positions.map(&:user_id) } }
7
- }
8
- end
@@ -1,2 +0,0 @@
1
- class User < ActiveRecord::Base
2
- end
@@ -1,3 +0,0 @@
1
- class UserMeeting < ActiveRecord::Base
2
- validates :starts_at, :ends_at, overlap: { scope: 'user_id' }
3
- end
@@ -1,14 +0,0 @@
1
- <!DOCTYPE html>
2
- <html>
3
- <head>
4
- <title>Dummy</title>
5
- <%= stylesheet_link_tag :all %>
6
- <%= javascript_include_tag :defaults %>
7
- <%= csrf_meta_tag %>
8
- </head>
9
- <body>
10
-
11
- <%= yield %>
12
-
13
- </body>
14
- </html>
@@ -1,45 +0,0 @@
1
- require File.expand_path('../boot', __FILE__)
2
-
3
- require 'active_model/railtie'
4
- require 'active_record/railtie'
5
- require 'action_controller/railtie'
6
- require 'action_view/railtie'
7
- require 'action_mailer/railtie'
8
-
9
- Bundler.require
10
- require 'validates_overlap'
11
-
12
- module Dummy
13
- class Application < Rails::Application
14
- # Settings in config/environments/* take precedence over those specified here.
15
- # Application configuration should go into files in config/initializers
16
- # -- all .rb files in that directory are automatically loaded.
17
-
18
- # Custom directories with classes and modules you want to be autoloadable.
19
- # config.autoload_paths += %W(#{config.root}/extras)
20
-
21
- # Only load the plugins named here, in the order given (default is alphabetical).
22
- # :all can be used as a placeholder for all plugins not explicitly named.
23
- # config.plugins = [ :exception_notification, :ssl_requirement, :all ]
24
-
25
- # Activate observers that should always be running.
26
- # config.active_record.observers = :cacher, :garbage_collector, :forum_observer
27
-
28
- # Set Time.zone default to the specified zone and make Active Record auto-convert to this zone.
29
- # Run "rake -D time" for a list of tasks for finding time zone names. Default is UTC.
30
- # config.time_zone = 'Central Time (US & Canada)'
31
-
32
- # The default locale is :en and all translations from config/locales/*.rb,yml are auto loaded.
33
- # config.i18n.load_path += Dir[Rails.root.join('my', 'locales', '*.{rb,yml}').to_s]
34
- # config.i18n.default_locale = :de
35
-
36
- # JavaScript files you want as :defaults (application.js is always included).
37
- # config.action_view.javascript_expansions[:defaults] = %w(jquery rails)
38
-
39
- # Configure the default encoding used in templates for Ruby 1.9.
40
- config.encoding = 'utf-8'
41
-
42
- # Configure sensitive parameters which will be filtered from the log file.
43
- config.filter_parameters += [:password]
44
- end
45
- end
@@ -1,10 +0,0 @@
1
- require 'rubygems'
2
- gemfile = File.expand_path('../../../../Gemfile', __FILE__)
3
-
4
- if File.exist?(gemfile)
5
- ENV['BUNDLE_GEMFILE'] = gemfile
6
- require 'bundler'
7
- Bundler.setup
8
- end
9
-
10
- $LOAD_PATH.unshift File.expand_path('../../../../lib', __FILE__)
@@ -1,22 +0,0 @@
1
- # SQLite version 3.x
2
- # gem install sqlite3-ruby (not necessary on OS X Leopard)
3
- development:
4
- adapter: sqlite3
5
- database: db/development.sqlite3
6
- pool: 5
7
- timeout: 5000
8
-
9
- # Warning: The database defined as "test" will be erased and
10
- # re-generated from your development database when you run "rake".
11
- # Do not set this db to the same as development or production.
12
- test:
13
- adapter: sqlite3
14
- database: db/test.sqlite3
15
- pool: 5
16
- timeout: 5000
17
-
18
- production:
19
- adapter: sqlite3
20
- database: db/production.sqlite3
21
- pool: 5
22
- timeout: 5000
@@ -1,5 +0,0 @@
1
- # Load the rails application
2
- require File.expand_path('../application', __FILE__)
3
-
4
- # Initialize the rails application
5
- Dummy::Application.initialize!
@@ -1,25 +0,0 @@
1
- Dummy::Application.configure do
2
- # Settings specified here will take precedence over those in config/application.rb
3
-
4
- # In the development environment your application's code is reloaded on
5
- # every request. This slows down response time but is perfect for development
6
- # since you don't have to restart the webserver when you make code changes.
7
- config.cache_classes = false
8
-
9
- # Log error messages when you accidentally call methods on nil.
10
- config.whiny_nils = true
11
-
12
- # Show full error reports and disable caching
13
- config.consider_all_requests_local = true
14
- # config.action_view.debug_rjs = true
15
- config.action_controller.perform_caching = false
16
-
17
- # Don't care if the mailer can't send
18
- config.action_mailer.raise_delivery_errors = false
19
-
20
- # Print deprecation notices to the Rails logger
21
- config.active_support.deprecation = :log
22
-
23
- # Only use best-standards-support built into browsers
24
- config.action_dispatch.best_standards_support = :builtin
25
- end
@@ -1,49 +0,0 @@
1
- Dummy::Application.configure do
2
- # Settings specified here will take precedence over those in config/application.rb
3
-
4
- # The production environment is meant for finished, "live" apps.
5
- # Code is not reloaded between requests
6
- config.cache_classes = true
7
-
8
- # Full error reports are disabled and caching is turned on
9
- config.consider_all_requests_local = false
10
- config.action_controller.perform_caching = true
11
-
12
- # Specifies the header that your server uses for sending files
13
- config.action_dispatch.x_sendfile_header = 'X-Sendfile'
14
-
15
- # For nginx:
16
- # config.action_dispatch.x_sendfile_header = 'X-Accel-Redirect'
17
-
18
- # If you have no front-end server that supports something like X-Sendfile,
19
- # just comment this out and Rails will serve the files
20
-
21
- # See everything in the log (default is :info)
22
- # config.log_level = :debug
23
-
24
- # Use a different logger for distributed setups
25
- # config.logger = SyslogLogger.new
26
-
27
- # Use a different cache store in production
28
- # config.cache_store = :mem_cache_store
29
-
30
- # Disable Rails's static asset server
31
- # In production, Apache or nginx will already do this
32
- config.serve_static_assets = false
33
-
34
- # Enable serving of images, stylesheets, and javascripts from an asset server
35
- # config.action_controller.asset_host = "http://assets.example.com"
36
-
37
- # Disable delivery errors, bad email addresses will be ignored
38
- # config.action_mailer.raise_delivery_errors = false
39
-
40
- # Enable threaded mode
41
- # config.threadsafe!
42
-
43
- # Enable locale fallbacks for I18n (makes lookups for any locale fall back to
44
- # the I18n.default_locale when a translation can not be found)
45
- config.i18n.fallbacks = true
46
-
47
- # Send deprecation notices to registered listeners
48
- config.active_support.deprecation = :notify
49
- end