smarter_dates 0.2.9 → 0.2.13

Sign up to get free protection for your applications and to get access to all the features.
Files changed (45) hide show
  1. data/.rspec +2 -0
  2. data/Gemfile +12 -1
  3. data/config/locales/en.yml +32 -0
  4. data/lib/generators/smarter_dates/install_generator.rb +2 -0
  5. data/lib/smarter_dates.rb +6 -1
  6. data/lib/smarter_dates/chronic_parsable_validator.rb +2 -6
  7. data/lib/smarter_dates/chronic_strings.rb +63 -0
  8. data/lib/smarter_dates/engine.rb +5 -0
  9. data/lib/smarter_dates/parser.rb +93 -34
  10. data/lib/smarter_dates/version.rb +1 -1
  11. data/smarter_dates.gemspec +38 -16
  12. data/spec/dummy/.gitignore +2 -0
  13. data/spec/dummy/.rspec +1 -0
  14. data/spec/dummy/README.rdoc +261 -0
  15. data/spec/dummy/Rakefile +7 -0
  16. data/spec/dummy/app/assets/javascripts/application.js +15 -0
  17. data/spec/dummy/app/assets/stylesheets/application.css +13 -0
  18. data/spec/dummy/app/controllers/application_controller.rb +3 -0
  19. data/spec/dummy/app/models/.gitkeep +0 -0
  20. data/spec/dummy/config.ru +4 -0
  21. data/spec/dummy/config/application.rb +64 -0
  22. data/spec/dummy/config/boot.rb +10 -0
  23. data/spec/dummy/config/database.yml +20 -0
  24. data/spec/dummy/config/environment.rb +5 -0
  25. data/spec/dummy/config/environments/development.rb +37 -0
  26. data/spec/dummy/config/environments/test.rb +37 -0
  27. data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -0
  28. data/spec/dummy/config/initializers/inflections.rb +15 -0
  29. data/spec/dummy/config/initializers/mime_types.rb +5 -0
  30. data/spec/dummy/config/initializers/secret_token.rb +7 -0
  31. data/spec/dummy/config/initializers/session_store.rb +8 -0
  32. data/spec/dummy/config/initializers/wrap_parameters.rb +14 -0
  33. data/spec/dummy/config/locales/en.yml +5 -0
  34. data/spec/dummy/config/routes.rb +3 -0
  35. data/spec/dummy/db/migrate/1_create_activities.rb +10 -0
  36. data/spec/dummy/db/schema.rb +23 -0
  37. data/spec/dummy/log/.gitkeep +0 -0
  38. data/spec/dummy/script/rails +6 -0
  39. data/spec/dummy/spec/support/.gitkeep +0 -0
  40. data/spec/models/smarter_dates/activity_spec.rb +71 -0
  41. data/spec/spec.opts +5 -0
  42. data/spec/spec_helper.rb +17 -0
  43. data/test/chronic_parsable_validator_test.rb +5 -7
  44. data/test/smarter_dates_test.rb +2 -2
  45. metadata +215 -23
@@ -0,0 +1,17 @@
1
+ # This file is copied to spec/ when you run 'rails generate rspec:install'
2
+ ENV['RAILS_ENV'] ||= 'test'
3
+ require File.expand_path('../dummy/config/environment', __FILE__)
4
+ require 'rspec/rails'
5
+ require 'rspec/autorun'
6
+
7
+ # Requires supporting ruby files with custom matchers and macros, etc,
8
+ # in spec/support/ and its subdirectories.
9
+ Dir[Rails.root.join('spec/support/**/*.rb')].each { |f| require f }
10
+
11
+ RSpec.configure do |config|
12
+ # Run specs in random order to surface order dependencies. If you find an
13
+ # order dependency and want to debug it, you can fix the order by providing
14
+ # the seed, which is printed after each run.
15
+ # --seed 1234
16
+ config.order = 'random'
17
+ end
@@ -8,19 +8,19 @@ else
8
8
  raise RuntimeError, "Try ruby -Ilib test/#{File.basename(__FILE__)}"
9
9
  end
10
10
 
11
- ActiveRecord::Base.establish_connection(:adapter => "sqlite3", :database => ":memory:")
11
+ ActiveRecord::Base.establish_connection(adapter: 'sqlite3', database: ':memory:')
12
12
 
13
- ActiveRecord::Schema.define(:version => 1) do
13
+ ActiveRecord::Schema.define(version: 1) do
14
14
  create_table :models do |t|
15
15
  t.string :name
16
- t.datetime :created_on
16
+ t.date :created_on
17
17
  end
18
18
  end
19
19
 
20
20
  class Model < ActiveRecord::Base
21
21
  include SmarterDates
22
22
  attr_accessible :name, :created_on
23
- validates :created_on, :chronic_parsable => true
23
+ validates :created_on, chronic_parsable: true
24
24
  end
25
25
 
26
26
  class ChronicParsableValidatorTest < Test::Unit::TestCase
@@ -34,10 +34,8 @@ class ChronicParsableValidatorTest < Test::Unit::TestCase
34
34
  valid_dates.each do |date|
35
35
  @model.created_on = date
36
36
  assert @model.valid?
37
- @model.save
38
- assert @model.persisted?
39
37
  end
40
- invalid_dates = ['safdsafds', '55 April 1976', '$%$@#$@', '', nil]
38
+ invalid_dates = ['safdsafds', '55 April 1976', '$%$@#$@', "", nil]
41
39
  invalid_dates.each do |date|
42
40
  @model.created_on = date
43
41
  assert !@model.valid?
@@ -61,8 +61,8 @@ class SmarterDatesTest < Test::Unit::TestCase
61
61
 
62
62
  # TODO: fix this in chronic
63
63
  if false
64
- @model.birth_d = '30 Feb 1976'
65
- assert_equal nil, @model.birth_d
64
+ @model.birth_d = '30 Feb 1976'
65
+ assert_equal nil, @model.birth_d
66
66
  end
67
67
  end
68
68
  end
metadata CHANGED
@@ -1,71 +1,192 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: smarter_dates
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.9
5
4
  prerelease:
5
+ version: 0.2.13
6
6
  platform: ruby
7
7
  authors:
8
8
  - Paul Belt
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-03-18 00:00:00.000000000Z
12
+ date: 2013-06-06 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: chronic
16
- requirement: &2277388640 !ruby/object:Gem::Requirement
16
+ version_requirements: !ruby/object:Gem::Requirement
17
+ requirements:
18
+ - - ! '>='
19
+ - !ruby/object:Gem::Version
20
+ version: '0'
17
21
  none: false
22
+ requirement: !ruby/object:Gem::Requirement
18
23
  requirements:
19
24
  - - ! '>='
20
25
  - !ruby/object:Gem::Version
21
26
  version: '0'
22
- type: :runtime
27
+ none: false
23
28
  prerelease: false
24
- version_requirements: *2277388640
29
+ type: :runtime
25
30
  - !ruby/object:Gem::Dependency
26
31
  name: bundler
27
- requirement: &2277388160 !ruby/object:Gem::Requirement
32
+ version_requirements: !ruby/object:Gem::Requirement
33
+ requirements:
34
+ - - ~>
35
+ - !ruby/object:Gem::Version
36
+ version: '1.3'
28
37
  none: false
38
+ requirement: !ruby/object:Gem::Requirement
29
39
  requirements:
30
40
  - - ~>
31
41
  - !ruby/object:Gem::Version
32
42
  version: '1.3'
33
- type: :development
43
+ none: false
34
44
  prerelease: false
35
- version_requirements: *2277388160
45
+ type: :development
36
46
  - !ruby/object:Gem::Dependency
37
47
  name: rake
38
- requirement: &2277387680 !ruby/object:Gem::Requirement
48
+ version_requirements: !ruby/object:Gem::Requirement
49
+ requirements:
50
+ - - ! '>='
51
+ - !ruby/object:Gem::Version
52
+ version: '0'
39
53
  none: false
54
+ requirement: !ruby/object:Gem::Requirement
40
55
  requirements:
41
56
  - - ! '>='
42
57
  - !ruby/object:Gem::Version
43
58
  version: '0'
59
+ none: false
60
+ prerelease: false
44
61
  type: :development
62
+ - !ruby/object:Gem::Dependency
63
+ name: sqlite3
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ! '>='
67
+ - !ruby/object:Gem::Version
68
+ version: 1.3.7
69
+ none: false
70
+ requirement: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - ! '>='
73
+ - !ruby/object:Gem::Version
74
+ version: 1.3.7
75
+ none: false
45
76
  prerelease: false
46
- version_requirements: *2277387680
77
+ type: :development
47
78
  - !ruby/object:Gem::Dependency
48
- name: rails
49
- requirement: &2277387200 !ruby/object:Gem::Requirement
79
+ name: debugger
80
+ version_requirements: !ruby/object:Gem::Requirement
81
+ requirements:
82
+ - - ! '>='
83
+ - !ruby/object:Gem::Version
84
+ version: 1.5.0
50
85
  none: false
86
+ requirement: !ruby/object:Gem::Requirement
51
87
  requirements:
52
88
  - - ! '>='
53
89
  - !ruby/object:Gem::Version
54
- version: '3.0'
90
+ version: 1.5.0
91
+ none: false
92
+ prerelease: false
55
93
  type: :development
94
+ - !ruby/object:Gem::Dependency
95
+ name: rspec
96
+ version_requirements: !ruby/object:Gem::Requirement
97
+ requirements:
98
+ - - ! '>='
99
+ - !ruby/object:Gem::Version
100
+ version: 2.13.0
101
+ none: false
102
+ requirement: !ruby/object:Gem::Requirement
103
+ requirements:
104
+ - - ! '>='
105
+ - !ruby/object:Gem::Version
106
+ version: 2.13.0
107
+ none: false
56
108
  prerelease: false
57
- version_requirements: *2277387200
109
+ type: :development
58
110
  - !ruby/object:Gem::Dependency
59
- name: sqlite3
60
- requirement: &2277386720 !ruby/object:Gem::Requirement
111
+ name: mocha
112
+ version_requirements: !ruby/object:Gem::Requirement
113
+ requirements:
114
+ - - ! '>='
115
+ - !ruby/object:Gem::Version
116
+ version: 0.13.0
61
117
  none: false
118
+ requirement: !ruby/object:Gem::Requirement
119
+ requirements:
120
+ - - ! '>='
121
+ - !ruby/object:Gem::Version
122
+ version: 0.13.0
123
+ none: false
124
+ prerelease: false
125
+ type: :development
126
+ - !ruby/object:Gem::Dependency
127
+ name: database_cleaner
128
+ version_requirements: !ruby/object:Gem::Requirement
129
+ requirements:
130
+ - - ! '>='
131
+ - !ruby/object:Gem::Version
132
+ version: 0.9.1
133
+ none: false
134
+ requirement: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - ! '>='
137
+ - !ruby/object:Gem::Version
138
+ version: 0.9.1
139
+ none: false
140
+ prerelease: false
141
+ type: :development
142
+ - !ruby/object:Gem::Dependency
143
+ name: machinist
144
+ version_requirements: !ruby/object:Gem::Requirement
145
+ requirements:
146
+ - - ! '>='
147
+ - !ruby/object:Gem::Version
148
+ version: 2.0.0
149
+ none: false
150
+ requirement: !ruby/object:Gem::Requirement
151
+ requirements:
152
+ - - ! '>='
153
+ - !ruby/object:Gem::Version
154
+ version: 2.0.0
155
+ none: false
156
+ prerelease: false
157
+ type: :development
158
+ - !ruby/object:Gem::Dependency
159
+ name: activerecord
160
+ version_requirements: !ruby/object:Gem::Requirement
161
+ requirements:
162
+ - - ~>
163
+ - !ruby/object:Gem::Version
164
+ version: 3.2.13
165
+ none: false
166
+ requirement: !ruby/object:Gem::Requirement
62
167
  requirements:
63
168
  - - ~>
64
169
  - !ruby/object:Gem::Version
65
- version: 1.3.5
170
+ version: 3.2.13
171
+ none: false
172
+ prerelease: false
66
173
  type: :development
174
+ - !ruby/object:Gem::Dependency
175
+ name: rspec-rails
176
+ version_requirements: !ruby/object:Gem::Requirement
177
+ requirements:
178
+ - - ! '>='
179
+ - !ruby/object:Gem::Version
180
+ version: 2.12.0
181
+ none: false
182
+ requirement: !ruby/object:Gem::Requirement
183
+ requirements:
184
+ - - ! '>='
185
+ - !ruby/object:Gem::Version
186
+ version: 2.12.0
187
+ none: false
67
188
  prerelease: false
68
- version_requirements: *2277386720
189
+ type: :development
69
190
  description: Humans want to think of date and datetime attributes in a natural manner.
70
191
  Standard ruby Date and DateTime objects do not support this well.
71
192
  email:
@@ -75,44 +196,115 @@ extensions: []
75
196
  extra_rdoc_files: []
76
197
  files:
77
198
  - .gitignore
199
+ - .rspec
78
200
  - Gemfile
79
201
  - LICENSE
80
202
  - README.rdoc
81
203
  - Rakefile
82
204
  - VERSION.yml
205
+ - config/locales/en.yml
83
206
  - lib/generators/smarter_dates/install_generator.rb
84
207
  - lib/generators/smarter_dates/templates/features/smarter_dates.rb
85
208
  - lib/smarter_dates.rb
86
209
  - lib/smarter_dates/chronic_parsable_validator.rb
210
+ - lib/smarter_dates/chronic_strings.rb
211
+ - lib/smarter_dates/engine.rb
87
212
  - lib/smarter_dates/parser.rb
88
213
  - lib/smarter_dates/version.rb
89
214
  - smarter_dates.gemspec
215
+ - spec/dummy/.gitignore
216
+ - spec/dummy/.rspec
217
+ - spec/dummy/README.rdoc
218
+ - spec/dummy/Rakefile
219
+ - spec/dummy/app/assets/javascripts/application.js
220
+ - spec/dummy/app/assets/stylesheets/application.css
221
+ - spec/dummy/app/controllers/application_controller.rb
222
+ - spec/dummy/app/models/.gitkeep
223
+ - spec/dummy/config.ru
224
+ - spec/dummy/config/application.rb
225
+ - spec/dummy/config/boot.rb
226
+ - spec/dummy/config/database.yml
227
+ - spec/dummy/config/environment.rb
228
+ - spec/dummy/config/environments/development.rb
229
+ - spec/dummy/config/environments/test.rb
230
+ - spec/dummy/config/initializers/backtrace_silencers.rb
231
+ - spec/dummy/config/initializers/inflections.rb
232
+ - spec/dummy/config/initializers/mime_types.rb
233
+ - spec/dummy/config/initializers/secret_token.rb
234
+ - spec/dummy/config/initializers/session_store.rb
235
+ - spec/dummy/config/initializers/wrap_parameters.rb
236
+ - spec/dummy/config/locales/en.yml
237
+ - spec/dummy/config/routes.rb
238
+ - spec/dummy/db/development.sqlite3
239
+ - spec/dummy/db/migrate/1_create_activities.rb
240
+ - spec/dummy/db/schema.rb
241
+ - spec/dummy/db/test.sqlite3
242
+ - spec/dummy/log/.gitkeep
243
+ - spec/dummy/script/rails
244
+ - spec/dummy/spec/support/.gitkeep
245
+ - spec/models/smarter_dates/activity_spec.rb
246
+ - spec/spec.opts
247
+ - spec/spec_helper.rb
90
248
  - test/chronic_parsable_validator_test.rb
91
249
  - test/smarter_dates_test.rb
92
250
  homepage: http://github.com/belt/smarter_dates
93
- licenses: []
251
+ licenses:
252
+ - MIT
94
253
  post_install_message:
95
254
  rdoc_options: []
96
255
  require_paths:
97
256
  - lib
98
257
  required_ruby_version: !ruby/object:Gem::Requirement
99
- none: false
100
258
  requirements:
101
259
  - - ! '>='
102
260
  - !ruby/object:Gem::Version
103
- version: 1.8.7
104
- required_rubygems_version: !ruby/object:Gem::Requirement
261
+ version: 1.9.2
105
262
  none: false
263
+ required_rubygems_version: !ruby/object:Gem::Requirement
106
264
  requirements:
107
265
  - - ! '>='
108
266
  - !ruby/object:Gem::Version
109
267
  version: '0'
268
+ none: false
110
269
  requirements: []
111
270
  rubyforge_project: smarter_dates
112
- rubygems_version: 1.8.10
271
+ rubygems_version: 1.8.25
113
272
  signing_key:
114
273
  specification_version: 3
115
274
  summary: Natural language date processing
116
275
  test_files:
276
+ - spec/dummy/.gitignore
277
+ - spec/dummy/.rspec
278
+ - spec/dummy/README.rdoc
279
+ - spec/dummy/Rakefile
280
+ - spec/dummy/app/assets/javascripts/application.js
281
+ - spec/dummy/app/assets/stylesheets/application.css
282
+ - spec/dummy/app/controllers/application_controller.rb
283
+ - spec/dummy/app/models/.gitkeep
284
+ - spec/dummy/config.ru
285
+ - spec/dummy/config/application.rb
286
+ - spec/dummy/config/boot.rb
287
+ - spec/dummy/config/database.yml
288
+ - spec/dummy/config/environment.rb
289
+ - spec/dummy/config/environments/development.rb
290
+ - spec/dummy/config/environments/test.rb
291
+ - spec/dummy/config/initializers/backtrace_silencers.rb
292
+ - spec/dummy/config/initializers/inflections.rb
293
+ - spec/dummy/config/initializers/mime_types.rb
294
+ - spec/dummy/config/initializers/secret_token.rb
295
+ - spec/dummy/config/initializers/session_store.rb
296
+ - spec/dummy/config/initializers/wrap_parameters.rb
297
+ - spec/dummy/config/locales/en.yml
298
+ - spec/dummy/config/routes.rb
299
+ - spec/dummy/db/development.sqlite3
300
+ - spec/dummy/db/migrate/1_create_activities.rb
301
+ - spec/dummy/db/schema.rb
302
+ - spec/dummy/db/test.sqlite3
303
+ - spec/dummy/log/.gitkeep
304
+ - spec/dummy/script/rails
305
+ - spec/dummy/spec/support/.gitkeep
306
+ - spec/models/smarter_dates/activity_spec.rb
307
+ - spec/spec.opts
308
+ - spec/spec_helper.rb
117
309
  - test/chronic_parsable_validator_test.rb
118
310
  - test/smarter_dates_test.rb