split_datetime 0.0.0 → 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
data/README.md CHANGED
@@ -36,7 +36,7 @@ Add your js datepicker and you're good to go. (Of course, this also works with s
36
36
 
37
37
  ```ruby
38
38
  accepts_split_datetime_for :starts_at, default: lambda { Time.now.change(min: 0) + 2.weeks }
39
- accepts_split_datetime_for :starts_at, default: lambda { nil }
39
+ accepts_split_datetime_for :starts_at, default: lambda { Time.now }
40
40
  ```
41
41
 
42
42
  You can also specify the date format for the view:
@@ -16,15 +16,18 @@ module SplitDatetime
16
16
  end
17
17
 
18
18
  define_method("#{attr}_date=") do |date|
19
+ return unless date.present?
19
20
  date = Date.parse(date.to_s)
20
21
  self.send("#{attr}=", self.send(attr).change(year: date.year, month: date.month, day: date.day))
21
22
  end
22
23
 
23
24
  define_method("#{attr}_hour=") do |hour|
25
+ return unless hour.present?
24
26
  self.send("#{attr}=", self.send(attr).change(hour: hour, min: self.send(attr).min))
25
27
  end
26
28
 
27
29
  define_method("#{attr}_min=") do |min|
30
+ return unless min.present?
28
31
  self.send("#{attr}=", self.send(attr).change(min: min))
29
32
  end
30
33
 
@@ -1,3 +1,3 @@
1
1
  module SplitDatetime
2
- VERSION = "0.0.0"
2
+ VERSION = "0.0.1"
3
3
  end
@@ -32,6 +32,7 @@ describe SplitDatetime::Accessors do
32
32
 
33
33
  describe "split datetime methods" do
34
34
  before { model.starts_at = Time.new(2222, 12, 22, 13, 44, 0) }
35
+
35
36
  describe "#starts_at_date" do
36
37
  it "returns the model's starts_at date as string" do
37
38
  model.starts_at_date.should == "2222-12-22"
@@ -52,6 +53,11 @@ describe SplitDatetime::Accessors do
52
53
  model.starts_at_date = "1111-01-01"
53
54
  model.starts_at.should == Time.new(1111, 1, 1, 13, 44, 0)
54
55
  end
56
+
57
+ it "uses the default if the string is empty" do
58
+ model.starts_at_date = ""
59
+ model.starts_at.should == Time.new(2222, 12, 22, 13, 44, 0)
60
+ end
55
61
  end
56
62
 
57
63
  describe "#starts_at_hour" do
@@ -63,6 +69,11 @@ describe SplitDatetime::Accessors do
63
69
  model.starts_at_hour = 11
64
70
  model.starts_at.should == Time.new(2222, 12, 22, 11, 44, 0)
65
71
  end
72
+
73
+ it "uses the default if the string is empty" do
74
+ model.starts_at_hour = ""
75
+ model.starts_at.should == Time.new(2222, 12, 22, 13, 44, 0)
76
+ end
66
77
  end
67
78
 
68
79
  describe "#starts_at_min" do
@@ -74,6 +85,11 @@ describe SplitDatetime::Accessors do
74
85
  model.starts_at_min = 55
75
86
  model.starts_at.should == Time.new(2222, 12, 22, 13, 55, 0)
76
87
  end
88
+
89
+ it "uses the default if the string is empty" do
90
+ model.starts_at_min = ""
91
+ model.starts_at.should == Time.new(2222, 12, 22, 13, 44, 0)
92
+ end
77
93
  end
78
94
  end
79
95
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: split_datetime
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.0
4
+ version: 0.0.1
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-09-08 00:00:00.000000000 Z
12
+ date: 2013-04-09 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rspec
16
- requirement: &70243475244500 !ruby/object:Gem::Requirement
16
+ requirement: !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ~>
@@ -21,7 +21,12 @@ dependencies:
21
21
  version: '2.11'
22
22
  type: :development
23
23
  prerelease: false
24
- version_requirements: *70243475244500
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ~>
28
+ - !ruby/object:Gem::Version
29
+ version: '2.11'
25
30
  description: ! ' Adds accessors to a class so that the date can be set as a string
26
31
  while minutes and hours can be set as integers. This allows you to have an input
27
32
  textfield (with a javascript datepicker) for the date and dropdowns for the time.
@@ -60,7 +65,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
60
65
  version: '0'
61
66
  requirements: []
62
67
  rubyforge_project:
63
- rubygems_version: 1.8.11
68
+ rubygems_version: 1.8.23
64
69
  signing_key:
65
70
  specification_version: 3
66
71
  summary: Split datetime inputs into text and dropdowns in rails views