tod 2.0.0 → 2.0.1

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 7ea9182b8d4d70181c761c96a87a97bc3ac8c316
4
- data.tar.gz: 846e0db24fb222b1e445e50eb5a6623b020ee82f
3
+ metadata.gz: 0e1df7c0f812d7e18d6d9b10c256f2e26e63268c
4
+ data.tar.gz: f01a512e048fa9087ab1b89376a2f6a49574357f
5
5
  SHA512:
6
- metadata.gz: 50d7a807b6cbee926593c019abba1ee47f2c9f13ca00f1cf85a7a1213a70951db5b490b02ceb10e93b40784d9243ba71ee68fa0f3ed6d51c327cc687abae066e
7
- data.tar.gz: abdea735146667ace0f136b4040b2f9fd762ec1e2179febd7e51e608ef68827c62bdd720a2222aba77a1e3d8a0249979fce3bc5c83e491d05d44448935938c10
6
+ metadata.gz: cf81e8e52153b7e894d0a970a88c6da2fe94dbabf984cd289be160b7ab1eb43ce78e6c991c0f833ac25ebc818a7950deae44d19610a1f66081ba1998dae3bbd3
7
+ data.tar.gz: d6665499e05b78076fab42c5dfe4b67c94750ad71fc722384f51b7c97aad9b6fc78fc3b2e9906d3af273f66c769bdd73bce956cb206f7a4b63209cd8237d43d0
data/CHANGELOG.md CHANGED
@@ -1,3 +1,7 @@
1
+ # 2.0.1 (May 8, 2015)
2
+
3
+ * Fix Tod::TimeOfDay() without core extensions
4
+
1
5
  # 2.0.0 (April 18, 2015)
2
6
 
3
7
  * Shift now supports exclusive ends like a Ruby range
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- tod (1.5.0)
4
+ tod (2.0.0)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
@@ -21,10 +21,17 @@ GEM
21
21
  tzinfo (~> 1.1)
22
22
  arel (6.0.0)
23
23
  builder (3.2.2)
24
+ coderay (1.1.0)
24
25
  i18n (0.7.0)
25
26
  json (1.8.2)
27
+ method_source (0.8.2)
26
28
  minitest (5.5.1)
29
+ pry (0.10.1)
30
+ coderay (~> 1.1.0)
31
+ method_source (~> 0.8.1)
32
+ slop (~> 3.4)
27
33
  rake (10.4.2)
34
+ slop (3.6.0)
28
35
  sqlite3 (1.3.10)
29
36
  thread_safe (0.3.4)
30
37
  tzinfo (1.2.2)
@@ -36,6 +43,7 @@ PLATFORMS
36
43
  DEPENDENCIES
37
44
  activerecord (>= 3.0.0)
38
45
  minitest
46
+ pry
39
47
  rake
40
48
  sqlite3
41
49
  tod!
@@ -4,6 +4,10 @@ module Tod
4
4
  obj_or_string
5
5
  elsif obj_or_string.respond_to?(:to_time_of_day)
6
6
  obj_or_string.to_time_of_day
7
+ elsif obj_or_string.respond_to?(:hour) && obj_or_string.respond_to?(:min) && obj_or_string.respond_to?(:sec)
8
+ TimeOfDay.new obj_or_string.hour, obj_or_string.min, obj_or_string.sec
9
+ elsif obj_or_string.is_a?(Date)
10
+ TimeOfDay.new 0
7
11
  else
8
12
  TimeOfDay.parse(obj_or_string)
9
13
  end
data/lib/tod/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Tod
2
- VERSION = "2.0.0"
2
+ VERSION = "2.0.1"
3
3
  end
data/test/test_helper.rb CHANGED
@@ -5,5 +5,6 @@ require 'active_support/time'
5
5
  require 'tod'
6
6
  require 'tod/core_extensions'
7
7
  require 'minitest/autorun'
8
+ require 'pry'
8
9
 
9
10
  Time.zone = "Central Time (US & Canada)"
@@ -29,6 +29,38 @@ describe "TimeOfDay()" do
29
29
  assert_equal(tod, Tod::TimeOfDay.new(12, 01, 02))
30
30
  end
31
31
 
32
+ describe "without core extensions" do
33
+ it "handles Time" do
34
+ t = Time.new(2014, 2, 27, 12, 01, 02)
35
+ class <<t
36
+ undef_method(:to_time_of_day)
37
+ end
38
+ tod = Tod::TimeOfDay(t)
39
+
40
+ assert_equal(tod, Tod::TimeOfDay.new(12, 01, 02))
41
+ end
42
+
43
+ it "handles Date" do
44
+ t = Date.new(2014, 2, 27)
45
+ class <<t
46
+ undef_method(:to_time_of_day)
47
+ end
48
+ tod = Tod::TimeOfDay(t)
49
+
50
+ assert_equal(tod, Tod::TimeOfDay.new(0, 0, 0))
51
+ end
52
+
53
+ it "handles DateTime" do
54
+ t = DateTime.new(2014, 2, 27, 12, 01, 02)
55
+ class <<t
56
+ undef_method(:to_time_of_day)
57
+ end
58
+ tod = Tod::TimeOfDay(t)
59
+
60
+ assert_equal(tod, Tod::TimeOfDay.new(12, 01, 02))
61
+ end
62
+ end
63
+
32
64
  it "parses string" do
33
65
  t = "12:01:02"
34
66
  tod = Tod::TimeOfDay(t)
data/tod.gemspec CHANGED
@@ -18,6 +18,7 @@ Gem::Specification.new do |s|
18
18
  s.add_development_dependency "rake"
19
19
  s.add_development_dependency "activerecord", ">= 3.0.0"
20
20
  s.add_development_dependency "sqlite3"
21
+ s.add_development_dependency "pry"
21
22
 
22
23
  s.files = `git ls-files`.split("\n")
23
24
  s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tod
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.0
4
+ version: 2.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jack Christensen
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-04-18 00:00:00.000000000 Z
11
+ date: 2015-05-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: minitest
@@ -80,6 +80,20 @@ dependencies:
80
80
  - - ">="
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: pry
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
83
97
  description: Supplies TimeOfDay and Shift class that includes parsing, strftime, comparison,
84
98
  and arithmetic.
85
99
  email:
@@ -143,4 +157,13 @@ rubygems_version: 2.4.5
143
157
  signing_key:
144
158
  specification_version: 4
145
159
  summary: Supplies TimeOfDay and Shift class
146
- test_files: []
160
+ test_files:
161
+ - test/support/active_record.rb
162
+ - test/test_helper.rb
163
+ - test/tod/conversion_test.rb
164
+ - test/tod/date_test.rb
165
+ - test/tod/shift_test.rb
166
+ - test/tod/time_of_day_serializable_attribute_test.rb
167
+ - test/tod/time_of_day_test.rb
168
+ - test/tod/time_of_day_time_zone_with_active_support_test.rb
169
+ - test/tod/time_test.rb