date-input-rails 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -15,10 +15,19 @@ module ActionView
15
15
  module Helpers
16
16
  module FormHelper
17
17
  def date_field(object_name, method, options = {})
18
- InstanceTag.new(object_name, method, self, options.delete(:object)).to_input_field_tag("date", options)
18
+ InstanceTag.new(object_name, method, self, options.delete(:object)).to_date_field_tag(options)
19
19
  end unless instance_methods.include?(:date_field)
20
20
  end
21
21
 
22
+ class InstanceTag
23
+ def to_date_field_tag(options = {})
24
+ options = options.stringify_keys
25
+ options["value"] = options.fetch("value") { value(object).try(:to_date) }
26
+ options["size"] = nil
27
+ to_input_field_tag("date", options)
28
+ end
29
+ end if defined?(InstanceTag)
30
+
22
31
  # http://blog.lrdesign.com/2011/04/extending-form_for-in-rails-3-with-your-own-methods/
23
32
  class FormBuilder
24
33
  def date_field(method, options = {})
@@ -0,0 +1,37 @@
1
+ require "spec_helper"
2
+
3
+ describe ActionView::Helpers::FormHelper do
4
+ describe "#date_field" do
5
+ it "returns HTML for a date input" do
6
+ assign(:post, double(:written_on => Date.new(2004, 6, 15)))
7
+ expected = %{<input id="post_written_on" name="post[written_on]" type="date" value="2004-06-15" />}
8
+ assert_dom_equal(expected, helper.date_field("post", "written_on"))
9
+ end
10
+
11
+ it "converts the value to a date using #to_date" do
12
+ assign(:post, double(:written_on => double(:to_date => Date.new(2004, 6, 15))))
13
+ expected = %{<input id="post_written_on" name="post[written_on]" type="date" value="2004-06-15" />}
14
+ assert_dom_equal(expected, helper.date_field("post", "written_on"))
15
+ end
16
+
17
+ it "omits a value when it is nil" do
18
+ assign(:post, double(:written_on => nil))
19
+ expected = %{<input id="post_written_on" name="post[written_on]" type="date" />}
20
+ assert_dom_equal(expected, helper.date_field("post", "written_on"))
21
+ end
22
+ end
23
+ end
24
+
25
+ describe ActionView::Helpers::FormTagHelper do
26
+ describe "#date_field_tag" do
27
+ it "returns HTML for a date input" do
28
+ expected = %{<input id="written_on" name="written_on" type="date" value="2004-06-15" />}
29
+ assert_dom_equal(expected, helper.date_field_tag("written_on", Date.new(2004, 6, 15)))
30
+ end
31
+
32
+ it "omits a value when it is nil" do
33
+ expected = %{<input id="written_on" name="written_on" type="date" />}
34
+ assert_dom_equal(expected, helper.date_field_tag("written_on"))
35
+ end
36
+ end
37
+ end
@@ -1396,3 +1396,147 @@ Processing by TestModelsController#create as HTML
1396
1396
  Parameters: {"utf8"=>"✓", "authenticity_token"=>"0NbIMp9TOwD8SavjO/m67+J5DttTgK4dm8iAARRt79c=", "date"=>"2012-10-28", "commit"=>"Submit"}
1397
1397
  Rendered test_models/test.html.erb (1.1ms)
1398
1398
  Completed 200 OK in 2ms (Views: 1.6ms)
1399
+ Started GET "/test" for 127.0.0.1 at 2013-01-10 13:28:32 -0800
1400
+ Processing by TestModelsController#test as HTML
1401
+ Rendered test_models/test.html.erb (6.0ms)
1402
+ Completed 200 OK in 28ms (Views: 27.6ms)
1403
+ Started GET "/assets/application.css" for 127.0.0.1 at 2013-01-10 13:28:32 -0800
1404
+ Served asset /application.css - 200 OK (49ms)
1405
+ Started GET "/assets/application.js" for 127.0.0.1 at 2013-01-10 13:28:32 -0800
1406
+ Served asset /application.js - 200 OK (178ms)
1407
+ Started GET "/test?date=2012-10-28&commit=Submit" for 127.0.0.1 at 2013-01-10 13:28:33 -0800
1408
+ Processing by TestModelsController#test as HTML
1409
+ Parameters: {"date"=>"2012-10-28", "commit"=>"Submit"}
1410
+ Rendered test_models/test.html.erb (0.8ms)
1411
+ Completed 200 OK in 1ms (Views: 1.3ms)
1412
+ Started GET "/test" for 127.0.0.1 at 2013-01-10 13:28:39 -0800
1413
+ Processing by TestModelsController#test as HTML
1414
+ Rendered test_models/test.html.erb (14.2ms)
1415
+ Completed 200 OK in 16ms (Views: 15.5ms)
1416
+ Started GET "/assets/application.css" for 127.0.0.1 at 2013-01-10 13:28:40 -0800
1417
+ Served asset /application.css - 200 OK (0ms)
1418
+ Started GET "/assets/application.js" for 127.0.0.1 at 2013-01-10 13:28:40 -0800
1419
+ Served asset /application.js - 200 OK (0ms)
1420
+ Started GET "/assets/jquery-ui/ui-bg_flat_75_ffffff_40x100.png" for 127.0.0.1 at 2013-01-10 13:28:41 -0800
1421
+ Served asset /jquery-ui/ui-bg_flat_75_ffffff_40x100.png - 200 OK (3ms)
1422
+ Started GET "/assets/jquery-ui/ui-bg_highlight-soft_75_cccccc_1x100.png" for 127.0.0.1 at 2013-01-10 13:28:41 -0800
1423
+ Served asset /jquery-ui/ui-bg_highlight-soft_75_cccccc_1x100.png - 200 OK (2ms)
1424
+ Started GET "/assets/jquery-ui/ui-icons_222222_256x240.png" for 127.0.0.1 at 2013-01-10 13:28:41 -0800
1425
+ Served asset /jquery-ui/ui-icons_222222_256x240.png - 200 OK (2ms)
1426
+ Started GET "/assets/jquery-ui/ui-bg_glass_75_e6e6e6_1x400.png" for 127.0.0.1 at 2013-01-10 13:28:41 -0800
1427
+ Served asset /jquery-ui/ui-bg_glass_75_e6e6e6_1x400.png - 200 OK (48ms)
1428
+ Started GET "/assets/jquery-ui/ui-bg_glass_55_fbf9ee_1x400.png" for 127.0.0.1 at 2013-01-10 13:28:41 -0800
1429
+ Served asset /jquery-ui/ui-bg_glass_55_fbf9ee_1x400.png - 200 OK (2ms)
1430
+ Started GET "/assets/jquery-ui/ui-bg_glass_65_ffffff_1x400.png" for 127.0.0.1 at 2013-01-10 13:28:41 -0800
1431
+ Served asset /jquery-ui/ui-bg_glass_65_ffffff_1x400.png - 200 OK (2ms)
1432
+ Started GET "/test?date=2012-10-28&commit=Submit" for 127.0.0.1 at 2013-01-10 13:28:41 -0800
1433
+ Processing by TestModelsController#test as HTML
1434
+ Parameters: {"date"=>"2012-10-28", "commit"=>"Submit"}
1435
+ Rendered test_models/test.html.erb (0.7ms)
1436
+ Completed 200 OK in 1ms (Views: 1.2ms)
1437
+ Started GET "/test_models/new" for 127.0.0.1 at 2013-01-10 13:28:41 -0800
1438
+ Processing by TestModelsController#new as HTML
1439
+ Rendered test_models/builder_test.html.erb (3.4ms)
1440
+ Completed 200 OK in 5ms (Views: 5.0ms)
1441
+ Started GET "/assets/application.css" for 127.0.0.1 at 2013-01-10 13:28:41 -0800
1442
+ Served asset /application.css - 304 Not Modified (0ms)
1443
+ Started GET "/assets/application.js" for 127.0.0.1 at 2013-01-10 13:28:41 -0800
1444
+ Served asset /application.js - 304 Not Modified (0ms)
1445
+ Started POST "/test_models" for 127.0.0.1 at 2013-01-10 13:28:42 -0800
1446
+ Processing by TestModelsController#create as HTML
1447
+ Parameters: {"utf8"=>"✓", "authenticity_token"=>"+Q6av6G6ZME9RpSzzlnWJzhXNK43ijzJwbnRjrLQ8g4=", "date"=>"2012-10-28", "commit"=>"Submit"}
1448
+ Rendered test_models/test.html.erb (0.7ms)
1449
+ Completed 200 OK in 1ms (Views: 1.2ms)
1450
+ Started GET "/assets/application.css" for 127.0.0.1 at 2013-01-10 13:28:42 -0800
1451
+ Served asset /application.css - 304 Not Modified (0ms)
1452
+ Started GET "/assets/application.js" for 127.0.0.1 at 2013-01-10 13:28:42 -0800
1453
+ Served asset /application.js - 304 Not Modified (0ms)
1454
+ Started GET "/test_models/new" for 127.0.0.1 at 2013-01-10 13:28:42 -0800
1455
+ Processing by TestModelsController#new as HTML
1456
+ Rendered test_models/builder_test.html.erb (2.3ms)
1457
+ Completed 200 OK in 3ms (Views: 3.0ms)
1458
+ Started POST "/test_models" for 127.0.0.1 at 2013-01-10 13:28:43 -0800
1459
+ Processing by TestModelsController#create as HTML
1460
+ Parameters: {"utf8"=>"✓", "authenticity_token"=>"vL/aL1mHUqUQ5j6mNPZlhngOfFYEabdJVaDN+9y0LtI=", "date"=>"2012-10-28", "commit"=>"Submit"}
1461
+ Rendered test_models/test.html.erb (0.8ms)
1462
+ Completed 200 OK in 1ms (Views: 1.3ms)
1463
+ Started GET "/test" for 127.0.0.1 at 2013-01-10 13:30:33 -0800
1464
+ Processing by TestModelsController#test as HTML
1465
+ Rendered test_models/test.html.erb (4.2ms)
1466
+ Completed 200 OK in 16ms (Views: 15.5ms)
1467
+ Started GET "/assets/application.css" for 127.0.0.1 at 2013-01-10 13:30:33 -0800
1468
+ Compiled jquery.ui.core.css (1ms) (pid 30292)
1469
+ Compiled jquery.ui.theme.css (7ms) (pid 30292)
1470
+ Compiled jquery.ui.datepicker.css (47ms) (pid 30292)
1471
+ Compiled application.css (55ms) (pid 30292)
1472
+ Served asset /application.css - 200 OK (67ms)
1473
+ Started GET "/assets/application.js" for 127.0.0.1 at 2013-01-10 13:30:33 -0800
1474
+ Compiled jquery.ui.core.js (1ms) (pid 30292)
1475
+ Compiled jquery.ui.datepicker.js (8ms) (pid 30292)
1476
+ Compiled date-input-polyfill.js (15ms) (pid 30292)
1477
+ Compiled application.js (22ms) (pid 30292)
1478
+ Served asset /application.js - 200 OK (69ms)
1479
+ Started GET "/test?date=2012-10-28&commit=Submit" for 127.0.0.1 at 2013-01-10 13:30:33 -0800
1480
+ Processing by TestModelsController#test as HTML
1481
+ Parameters: {"date"=>"2012-10-28", "commit"=>"Submit"}
1482
+ Rendered test_models/test.html.erb (0.8ms)
1483
+ Completed 200 OK in 1ms (Views: 1.2ms)
1484
+ Started GET "/test" for 127.0.0.1 at 2013-01-10 13:30:37 -0800
1485
+ Processing by TestModelsController#test as HTML
1486
+ Rendered test_models/test.html.erb (1.7ms)
1487
+ Completed 200 OK in 3ms (Views: 2.7ms)
1488
+ Started GET "/assets/application.css" for 127.0.0.1 at 2013-01-10 13:30:37 -0800
1489
+ Served asset /application.css - 200 OK (0ms)
1490
+ Started GET "/assets/application.js" for 127.0.0.1 at 2013-01-10 13:30:37 -0800
1491
+ Served asset /application.js - 200 OK (0ms)
1492
+ Started GET "/assets/jquery-ui/ui-bg_highlight-soft_75_cccccc_1x100.png" for 127.0.0.1 at 2013-01-10 13:30:38 -0800
1493
+ Served asset /jquery-ui/ui-bg_highlight-soft_75_cccccc_1x100.png - 200 OK (23ms)
1494
+ Started GET "/assets/jquery-ui/ui-bg_flat_75_ffffff_40x100.png" for 127.0.0.1 at 2013-01-10 13:30:38 -0800
1495
+ Served asset /jquery-ui/ui-bg_flat_75_ffffff_40x100.png - 200 OK (7ms)
1496
+ Started GET "/assets/jquery-ui/ui-icons_222222_256x240.png" for 127.0.0.1 at 2013-01-10 13:30:38 -0800
1497
+ Served asset /jquery-ui/ui-icons_222222_256x240.png - 200 OK (6ms)
1498
+ Started GET "/assets/jquery-ui/ui-bg_glass_75_e6e6e6_1x400.png" for 127.0.0.1 at 2013-01-10 13:30:38 -0800
1499
+ Served asset /jquery-ui/ui-bg_glass_75_e6e6e6_1x400.png - 200 OK (47ms)
1500
+ Started GET "/assets/jquery-ui/ui-bg_glass_55_fbf9ee_1x400.png" for 127.0.0.1 at 2013-01-10 13:30:38 -0800
1501
+ Served asset /jquery-ui/ui-bg_glass_55_fbf9ee_1x400.png - 200 OK (7ms)
1502
+ Started GET "/assets/jquery-ui/ui-bg_glass_65_ffffff_1x400.png" for 127.0.0.1 at 2013-01-10 13:30:38 -0800
1503
+ Served asset /jquery-ui/ui-bg_glass_65_ffffff_1x400.png - 200 OK (6ms)
1504
+ Started GET "/test?date=2012-10-28&commit=Submit" for 127.0.0.1 at 2013-01-10 13:30:38 -0800
1505
+ Processing by TestModelsController#test as HTML
1506
+ Parameters: {"date"=>"2012-10-28", "commit"=>"Submit"}
1507
+ Rendered test_models/test.html.erb (0.8ms)
1508
+ Completed 200 OK in 1ms (Views: 1.3ms)
1509
+ Started GET "/test_models/new" for 127.0.0.1 at 2013-01-10 13:30:39 -0800
1510
+ Processing by TestModelsController#new as HTML
1511
+ Rendered test_models/builder_test.html.erb (3.0ms)
1512
+ Completed 200 OK in 5ms (Views: 5.0ms)
1513
+ Started GET "/assets/application.js" for 127.0.0.1 at 2013-01-10 13:30:39 -0800
1514
+ Served asset /application.js - 304 Not Modified (0ms)
1515
+ Started GET "/assets/application.css" for 127.0.0.1 at 2013-01-10 13:30:39 -0800
1516
+ Served asset /application.css - 304 Not Modified (0ms)
1517
+ Started POST "/test_models" for 127.0.0.1 at 2013-01-10 13:30:40 -0800
1518
+ Processing by TestModelsController#create as HTML
1519
+ Parameters: {"utf8"=>"✓", "date"=>"2012-10-28", "commit"=>"Submit"}
1520
+ Rendered test_models/test.html.erb (0.8ms)
1521
+ Completed 200 OK in 1ms (Views: 1.2ms)
1522
+ Started GET "/assets/application.js" for 127.0.0.1 at 2013-01-10 13:30:40 -0800
1523
+ Served asset /application.js - 304 Not Modified (0ms)
1524
+ Started GET "/assets/application.css" for 127.0.0.1 at 2013-01-10 13:30:40 -0800
1525
+ Served asset /application.css - 304 Not Modified (0ms)
1526
+ Started GET "/test_models/new" for 127.0.0.1 at 2013-01-10 13:30:40 -0800
1527
+ Processing by TestModelsController#new as HTML
1528
+ Rendered test_models/builder_test.html.erb (1.4ms)
1529
+ Completed 200 OK in 2ms (Views: 1.9ms)
1530
+ Started GET "/assets/application.css" for 127.0.0.1 at 2013-01-10 13:30:40 -0800
1531
+ Served asset /application.css - 304 Not Modified (0ms)
1532
+ Started GET "/assets/application.js" for 127.0.0.1 at 2013-01-10 13:30:40 -0800
1533
+ Served asset /application.js - 304 Not Modified (0ms)
1534
+ Started POST "/test_models" for 127.0.0.1 at 2013-01-10 13:30:41 -0800
1535
+ Processing by TestModelsController#create as HTML
1536
+ Parameters: {"utf8"=>"✓", "date"=>"2012-10-28", "commit"=>"Submit"}
1537
+ Rendered test_models/test.html.erb (1.1ms)
1538
+ Completed 200 OK in 2ms (Views: 1.7ms)
1539
+ Started GET "/assets/application.css" for 127.0.0.1 at 2013-01-10 13:30:41 -0800
1540
+ Served asset /application.css - 304 Not Modified (0ms)
1541
+ Started GET "/assets/application.js" for 127.0.0.1 at 2013-01-10 13:30:41 -0800
1542
+ Served asset /application.js - 304 Not Modified (0ms)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: date-input-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
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-10 00:00:00.000000000 Z
12
+ date: 2013-01-10 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rails
@@ -184,6 +184,7 @@ files:
184
184
  - Rakefile
185
185
  - README.md
186
186
  - spec/features/date_input_spec.rb
187
+ - spec/helpers/date_field_helper_spec.rb
187
188
  - spec/internal/app/assets/javascripts/application.js
188
189
  - spec/internal/app/assets/stylesheets/application.css
189
190
  - spec/internal/app/controllers/test_models_controller.rb
@@ -208,7 +209,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
208
209
  version: '0'
209
210
  segments:
210
211
  - 0
211
- hash: 4285296935248675896
212
+ hash: 376516012887663096
212
213
  required_rubygems_version: !ruby/object:Gem::Requirement
213
214
  none: false
214
215
  requirements:
@@ -217,7 +218,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
217
218
  version: '0'
218
219
  segments:
219
220
  - 0
220
- hash: 4285296935248675896
221
+ hash: 376516012887663096
221
222
  requirements: []
222
223
  rubyforge_project:
223
224
  rubygems_version: 1.8.24
@@ -226,6 +227,7 @@ specification_version: 3
226
227
  summary: Rails support for <input type='date'> with a jQuery UI datepicker polyfill
227
228
  test_files:
228
229
  - spec/features/date_input_spec.rb
230
+ - spec/helpers/date_field_helper_spec.rb
229
231
  - spec/internal/app/assets/javascripts/application.js
230
232
  - spec/internal/app/assets/stylesheets/application.css
231
233
  - spec/internal/app/controllers/test_models_controller.rb