activerecord-time 0.6.1 → 0.7.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.
- checksums.yaml +4 -4
- data/.rubocop.yml +36 -0
- data/.rubocop_todo.yml +36 -0
- data/.travis.yml +17 -12
- data/Gemfile +1 -3
- data/activerecord-time.gemspec +2 -1
- data/gemfiles/ar32.gemfile.lock +26 -25
- data/gemfiles/ar40.gemfile.lock +19 -19
- data/gemfiles/ar41.gemfile.lock +22 -22
- data/gemfiles/ar42.gemfile.lock +22 -22
- data/gemfiles/ar50.gemfile +4 -0
- data/gemfiles/ar50.gemfile.lock +78 -0
- data/gemfiles/common.gemfile +11 -3
- data/lib/activerecord-time.rb +6 -3
- data/lib/activerecord-time/extension_4_2.rb +8 -4
- data/lib/activerecord-time/extension_5_0.rb +33 -0
- data/lib/activerecord-time/extension_until_4_1.rb +37 -21
- data/lib/activerecord-time/version.rb +1 -1
- data/lib/time_of_day.rb +16 -19
- data/matrix_test.rb +23 -13
- data/test/test_helper.rb +6 -6
- data/test/time_of_day_test.rb +14 -14
- metadata +23 -4
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: f3377582c4b69bbaffdfb4b2147c4c9fedd6bd87
|
|
4
|
+
data.tar.gz: e871b6b116bd17436c0b1f27e1ead868ccafb692
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 672aa67786ca42da38a78fd79f036c0954c43aedc186c767321e42ad9d56dddc931d557d709f8879a39d5311c66594937117da99a4bdfad27460f12bee0ce367
|
|
7
|
+
data.tar.gz: ec625e4fd2eb0ef826a0304a71de12177a39fac32ec71fc6f948e20fa110cd3820dc93a32812c0f0f37e4215ac050a8c05d54cf861e65cdc5e505899c3137509
|
data/.rubocop.yml
ADDED
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
inherit_from: .rubocop_todo.yml
|
|
2
|
+
|
|
3
|
+
AllCops:
|
|
4
|
+
TargetRubyVersion: 2.1
|
|
5
|
+
DisplayCopNames: true
|
|
6
|
+
DisplayStyleGuide: true
|
|
7
|
+
Include:
|
|
8
|
+
- '**/Gemfile'
|
|
9
|
+
- '**/Rakefile'
|
|
10
|
+
Exclude:
|
|
11
|
+
- 'gemfiles/vendor/**/*'
|
|
12
|
+
|
|
13
|
+
Rails:
|
|
14
|
+
Enabled: true
|
|
15
|
+
|
|
16
|
+
Style/Documentation:
|
|
17
|
+
Enabled: false
|
|
18
|
+
|
|
19
|
+
Style/Encoding:
|
|
20
|
+
Enabled: true
|
|
21
|
+
|
|
22
|
+
Style/FileName:
|
|
23
|
+
Exclude:
|
|
24
|
+
- 'lib/activerecord-time.rb'
|
|
25
|
+
|
|
26
|
+
Style/FormatString:
|
|
27
|
+
EnforcedStyle: percent
|
|
28
|
+
|
|
29
|
+
Style/NumericPredicate:
|
|
30
|
+
Enabled: false
|
|
31
|
+
|
|
32
|
+
Style/ParallelAssignment:
|
|
33
|
+
Enabled: false
|
|
34
|
+
|
|
35
|
+
Style/SafeNavigation:
|
|
36
|
+
ConvertCodeThatCanStartToReturnNil: true
|
data/.rubocop_todo.yml
ADDED
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# This configuration was generated by
|
|
2
|
+
# `rubocop --auto-gen-config`
|
|
3
|
+
# on 2016-12-23 10:29:47 +0100 using RuboCop version 0.46.0.
|
|
4
|
+
# The point is for the user to remove these configuration records
|
|
5
|
+
# one by one as the offenses are removed from the code base.
|
|
6
|
+
# Note that changes in the inspected code, or installation of new
|
|
7
|
+
# versions of RuboCop, may require this file to be generated again.
|
|
8
|
+
|
|
9
|
+
# Offense count: 4
|
|
10
|
+
Metrics/AbcSize:
|
|
11
|
+
Max: 34
|
|
12
|
+
|
|
13
|
+
# Offense count: 2
|
|
14
|
+
# Configuration parameters: CountComments.
|
|
15
|
+
Metrics/BlockLength:
|
|
16
|
+
Max: 39
|
|
17
|
+
|
|
18
|
+
# Offense count: 1
|
|
19
|
+
# Configuration parameters: CountComments.
|
|
20
|
+
Metrics/ClassLength:
|
|
21
|
+
Max: 169
|
|
22
|
+
|
|
23
|
+
# Offense count: 1
|
|
24
|
+
Metrics/CyclomaticComplexity:
|
|
25
|
+
Max: 7
|
|
26
|
+
|
|
27
|
+
# Offense count: 11
|
|
28
|
+
# Configuration parameters: AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, IgnoredPatterns.
|
|
29
|
+
# URISchemes: http, https
|
|
30
|
+
Metrics/LineLength:
|
|
31
|
+
Max: 114
|
|
32
|
+
|
|
33
|
+
# Offense count: 1
|
|
34
|
+
# Configuration parameters: CountComments.
|
|
35
|
+
Metrics/MethodLength:
|
|
36
|
+
Max: 16
|
data/.travis.yml
CHANGED
|
@@ -1,27 +1,32 @@
|
|
|
1
1
|
language: ruby
|
|
2
2
|
sudo: false
|
|
3
|
+
jdk:
|
|
4
|
+
- oraclejdk8
|
|
5
|
+
before_install: gem query -i -n ^bundler$ >/dev/null || gem install bundler
|
|
3
6
|
rvm:
|
|
4
|
-
-
|
|
5
|
-
- jruby-9.1.
|
|
6
|
-
-
|
|
7
|
-
-
|
|
8
|
-
- "2.1"
|
|
9
|
-
- "2.0.0"
|
|
10
|
-
- jruby-1.7.25
|
|
7
|
+
- ruby-2.3.3
|
|
8
|
+
- jruby-9.1.6.0
|
|
9
|
+
- ruby-2.2.6
|
|
10
|
+
- ruby-2.1.9
|
|
11
11
|
- ruby-head
|
|
12
12
|
- jruby-head
|
|
13
13
|
gemfile:
|
|
14
|
+
- gemfiles/ar50.gemfile
|
|
14
15
|
- gemfiles/ar42.gemfile
|
|
15
16
|
- gemfiles/ar41.gemfile
|
|
16
17
|
- gemfiles/ar40.gemfile
|
|
17
18
|
- gemfiles/ar32.gemfile
|
|
18
19
|
env:
|
|
19
|
-
- ADAPTER="postgresql"
|
|
20
|
-
- ADAPTER="derby"
|
|
21
|
-
- ADAPTER="sqlite3"
|
|
20
|
+
- JRUBY_OPTS="--dev --debug" ADAPTER="postgresql"
|
|
21
|
+
- JRUBY_OPTS="--dev --debug" ADAPTER="derby"
|
|
22
|
+
- JRUBY_OPTS="--dev --debug" ADAPTER="sqlite3"
|
|
22
23
|
matrix:
|
|
23
|
-
|
|
24
|
+
exclude:
|
|
24
25
|
- rvm: ruby-head
|
|
25
|
-
gemfile: gemfiles/
|
|
26
|
+
gemfile: gemfiles/ar42.gemfile
|
|
27
|
+
- rvm: ruby-head
|
|
28
|
+
gemfile: gemfiles/ar41.gemfile
|
|
26
29
|
- rvm: ruby-head
|
|
27
30
|
gemfile: gemfiles/ar32.gemfile
|
|
31
|
+
- rvm: ruby-2.1.9
|
|
32
|
+
gemfile: gemfiles/ar50.gemfile
|
data/Gemfile
CHANGED
data/activerecord-time.gemspec
CHANGED
|
@@ -19,7 +19,7 @@ Gem::Specification.new do |gem|
|
|
|
19
19
|
gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
|
|
20
20
|
gem.require_paths = %w(lib)
|
|
21
21
|
|
|
22
|
-
gem.add_runtime_dependency 'activerecord', '>=3.2.21', '<5.
|
|
22
|
+
gem.add_runtime_dependency 'activerecord', '>=3.2.21', '<5.1'
|
|
23
23
|
|
|
24
24
|
if defined? JRUBY_VERSION
|
|
25
25
|
gem.add_development_dependency 'activerecord-jdbcpostgresql-adapter'
|
|
@@ -30,5 +30,6 @@ Gem::Specification.new do |gem|
|
|
|
30
30
|
end
|
|
31
31
|
gem.add_development_dependency 'minitest-reporters'
|
|
32
32
|
gem.add_development_dependency 'rake'
|
|
33
|
+
gem.add_development_dependency 'rubocop'
|
|
33
34
|
gem.add_development_dependency 'simplecov'
|
|
34
35
|
end
|
data/gemfiles/ar32.gemfile.lock
CHANGED
|
@@ -1,23 +1,23 @@
|
|
|
1
1
|
GEM
|
|
2
2
|
remote: https://rubygems.org/
|
|
3
3
|
specs:
|
|
4
|
-
activemodel (3.2.22)
|
|
5
|
-
activesupport (= 3.2.22)
|
|
4
|
+
activemodel (3.2.22.5)
|
|
5
|
+
activesupport (= 3.2.22.5)
|
|
6
6
|
builder (~> 3.0.0)
|
|
7
|
-
activerecord (3.2.22)
|
|
8
|
-
activemodel (= 3.2.22)
|
|
9
|
-
activesupport (= 3.2.22)
|
|
7
|
+
activerecord (3.2.22.5)
|
|
8
|
+
activemodel (= 3.2.22.5)
|
|
9
|
+
activesupport (= 3.2.22.5)
|
|
10
10
|
arel (~> 3.0.2)
|
|
11
11
|
tzinfo (~> 0.3.29)
|
|
12
|
-
activerecord-jdbc-adapter (1.3.
|
|
12
|
+
activerecord-jdbc-adapter (1.3.21)
|
|
13
13
|
activerecord (>= 2.2)
|
|
14
|
-
activerecord-jdbcpostgresql-adapter (1.3.
|
|
15
|
-
activerecord-jdbc-adapter (~> 1.3.
|
|
14
|
+
activerecord-jdbcpostgresql-adapter (1.3.21)
|
|
15
|
+
activerecord-jdbc-adapter (~> 1.3.21)
|
|
16
16
|
jdbc-postgres (>= 9.1)
|
|
17
|
-
activerecord-jdbcsqlite3-adapter (1.3.
|
|
18
|
-
activerecord-jdbc-adapter (~> 1.3.
|
|
17
|
+
activerecord-jdbcsqlite3-adapter (1.3.21)
|
|
18
|
+
activerecord-jdbc-adapter (~> 1.3.21)
|
|
19
19
|
jdbc-sqlite3 (>= 3.7.2, < 3.9)
|
|
20
|
-
activesupport (3.2.22)
|
|
20
|
+
activesupport (3.2.22.5)
|
|
21
21
|
i18n (~> 0.6, >= 0.6.4)
|
|
22
22
|
multi_json (~> 1.0)
|
|
23
23
|
ansi (1.5.0)
|
|
@@ -25,26 +25,27 @@ GEM
|
|
|
25
25
|
builder (3.0.4)
|
|
26
26
|
docile (1.1.5)
|
|
27
27
|
i18n (0.7.0)
|
|
28
|
-
jdbc-postgres (9.4.
|
|
29
|
-
jdbc-sqlite3 (3.8.
|
|
30
|
-
json (
|
|
31
|
-
|
|
32
|
-
minitest
|
|
28
|
+
jdbc-postgres (9.4.1206)
|
|
29
|
+
jdbc-sqlite3 (3.8.11.2)
|
|
30
|
+
json (2.0.2)
|
|
31
|
+
json (2.0.2-java)
|
|
32
|
+
minitest (5.10.1)
|
|
33
|
+
minitest-reporters (1.1.13)
|
|
33
34
|
ansi
|
|
34
35
|
builder
|
|
35
36
|
minitest (>= 5.0)
|
|
36
37
|
ruby-progressbar
|
|
37
|
-
multi_json (1.
|
|
38
|
-
pg (0.
|
|
39
|
-
rake (
|
|
40
|
-
ruby-progressbar (1.
|
|
41
|
-
simplecov (0.
|
|
38
|
+
multi_json (1.12.1)
|
|
39
|
+
pg (0.19.0)
|
|
40
|
+
rake (12.0.0)
|
|
41
|
+
ruby-progressbar (1.8.1)
|
|
42
|
+
simplecov (0.12.0)
|
|
42
43
|
docile (~> 1.1.0)
|
|
43
|
-
json (
|
|
44
|
+
json (>= 1.8, < 3)
|
|
44
45
|
simplecov-html (~> 0.10.0)
|
|
45
46
|
simplecov-html (0.10.0)
|
|
46
|
-
sqlite3 (1.3.
|
|
47
|
-
tzinfo (0.3.
|
|
47
|
+
sqlite3 (1.3.12)
|
|
48
|
+
tzinfo (0.3.52)
|
|
48
49
|
|
|
49
50
|
PLATFORMS
|
|
50
51
|
java
|
|
@@ -62,4 +63,4 @@ DEPENDENCIES
|
|
|
62
63
|
sqlite3
|
|
63
64
|
|
|
64
65
|
BUNDLED WITH
|
|
65
|
-
1.
|
|
66
|
+
1.13.6
|
data/gemfiles/ar40.gemfile.lock
CHANGED
|
@@ -10,13 +10,13 @@ GEM
|
|
|
10
10
|
activesupport (= 4.0.13)
|
|
11
11
|
arel (~> 4.0.0)
|
|
12
12
|
activerecord-deprecated_finders (1.0.4)
|
|
13
|
-
activerecord-jdbc-adapter (1.3.
|
|
13
|
+
activerecord-jdbc-adapter (1.3.21)
|
|
14
14
|
activerecord (>= 2.2)
|
|
15
|
-
activerecord-jdbcpostgresql-adapter (1.3.
|
|
16
|
-
activerecord-jdbc-adapter (~> 1.3.
|
|
15
|
+
activerecord-jdbcpostgresql-adapter (1.3.21)
|
|
16
|
+
activerecord-jdbc-adapter (~> 1.3.21)
|
|
17
17
|
jdbc-postgres (>= 9.1)
|
|
18
|
-
activerecord-jdbcsqlite3-adapter (1.3.
|
|
19
|
-
activerecord-jdbc-adapter (~> 1.3.
|
|
18
|
+
activerecord-jdbcsqlite3-adapter (1.3.21)
|
|
19
|
+
activerecord-jdbc-adapter (~> 1.3.21)
|
|
20
20
|
jdbc-sqlite3 (>= 3.7.2, < 3.9)
|
|
21
21
|
activesupport (4.0.13)
|
|
22
22
|
i18n (~> 0.6, >= 0.6.9)
|
|
@@ -28,32 +28,32 @@ GEM
|
|
|
28
28
|
arel (4.0.2)
|
|
29
29
|
builder (3.1.4)
|
|
30
30
|
docile (1.1.5)
|
|
31
|
-
hashie (3.4.
|
|
31
|
+
hashie (3.4.6)
|
|
32
32
|
i18n (0.7.0)
|
|
33
|
-
jdbc-postgres (9.4.
|
|
34
|
-
jdbc-sqlite3 (3.8.
|
|
35
|
-
json (
|
|
33
|
+
jdbc-postgres (9.4.1206)
|
|
34
|
+
jdbc-sqlite3 (3.8.11.2)
|
|
35
|
+
json (2.0.2)
|
|
36
|
+
json (2.0.2-java)
|
|
36
37
|
minitest (4.7.5)
|
|
37
38
|
minitest-reporters (0.14.24)
|
|
38
39
|
ansi
|
|
39
40
|
builder
|
|
40
41
|
minitest (>= 2.12, < 5.0)
|
|
41
42
|
powerbar
|
|
42
|
-
multi_json (1.
|
|
43
|
-
pg (0.
|
|
44
|
-
powerbar (1.0.
|
|
45
|
-
ansi (~> 1.5.0)
|
|
43
|
+
multi_json (1.12.1)
|
|
44
|
+
pg (0.19.0)
|
|
45
|
+
powerbar (1.0.17)
|
|
46
46
|
hashie (>= 1.1.0)
|
|
47
|
-
rake (
|
|
48
|
-
simplecov (0.
|
|
47
|
+
rake (12.0.0)
|
|
48
|
+
simplecov (0.12.0)
|
|
49
49
|
docile (~> 1.1.0)
|
|
50
|
-
json (
|
|
50
|
+
json (>= 1.8, < 3)
|
|
51
51
|
simplecov-html (~> 0.10.0)
|
|
52
52
|
simplecov-html (0.10.0)
|
|
53
|
-
sqlite3 (1.3.
|
|
53
|
+
sqlite3 (1.3.12)
|
|
54
54
|
thread_safe (0.3.5)
|
|
55
55
|
thread_safe (0.3.5-java)
|
|
56
|
-
tzinfo (0.3.
|
|
56
|
+
tzinfo (0.3.52)
|
|
57
57
|
|
|
58
58
|
PLATFORMS
|
|
59
59
|
java
|
|
@@ -71,4 +71,4 @@ DEPENDENCIES
|
|
|
71
71
|
sqlite3
|
|
72
72
|
|
|
73
73
|
BUNDLED WITH
|
|
74
|
-
1.
|
|
74
|
+
1.13.6
|
data/gemfiles/ar41.gemfile.lock
CHANGED
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
GEM
|
|
2
2
|
remote: https://rubygems.org/
|
|
3
3
|
specs:
|
|
4
|
-
activemodel (4.1.
|
|
5
|
-
activesupport (= 4.1.
|
|
4
|
+
activemodel (4.1.16)
|
|
5
|
+
activesupport (= 4.1.16)
|
|
6
6
|
builder (~> 3.1)
|
|
7
|
-
activerecord (4.1.
|
|
8
|
-
activemodel (= 4.1.
|
|
9
|
-
activesupport (= 4.1.
|
|
7
|
+
activerecord (4.1.16)
|
|
8
|
+
activemodel (= 4.1.16)
|
|
9
|
+
activesupport (= 4.1.16)
|
|
10
10
|
arel (~> 5.0.0)
|
|
11
|
-
activerecord-jdbc-adapter (1.3.
|
|
11
|
+
activerecord-jdbc-adapter (1.3.21)
|
|
12
12
|
activerecord (>= 2.2)
|
|
13
|
-
activerecord-jdbcpostgresql-adapter (1.3.
|
|
14
|
-
activerecord-jdbc-adapter (~> 1.3.
|
|
13
|
+
activerecord-jdbcpostgresql-adapter (1.3.21)
|
|
14
|
+
activerecord-jdbc-adapter (~> 1.3.21)
|
|
15
15
|
jdbc-postgres (>= 9.1)
|
|
16
|
-
activerecord-jdbcsqlite3-adapter (1.3.
|
|
17
|
-
activerecord-jdbc-adapter (~> 1.3.
|
|
16
|
+
activerecord-jdbcsqlite3-adapter (1.3.21)
|
|
17
|
+
activerecord-jdbc-adapter (~> 1.3.21)
|
|
18
18
|
jdbc-sqlite3 (>= 3.7.2, < 3.9)
|
|
19
|
-
activesupport (4.1.
|
|
19
|
+
activesupport (4.1.16)
|
|
20
20
|
i18n (~> 0.6, >= 0.6.9)
|
|
21
21
|
json (~> 1.7, >= 1.7.7)
|
|
22
22
|
minitest (~> 5.1)
|
|
@@ -27,25 +27,25 @@ GEM
|
|
|
27
27
|
builder (3.2.2)
|
|
28
28
|
docile (1.1.5)
|
|
29
29
|
i18n (0.7.0)
|
|
30
|
-
jdbc-postgres (9.4.
|
|
31
|
-
jdbc-sqlite3 (3.8.
|
|
30
|
+
jdbc-postgres (9.4.1206)
|
|
31
|
+
jdbc-sqlite3 (3.8.11.2)
|
|
32
32
|
json (1.8.3)
|
|
33
33
|
json (1.8.3-java)
|
|
34
|
-
minitest (5.
|
|
35
|
-
minitest-reporters (1.
|
|
34
|
+
minitest (5.10.1)
|
|
35
|
+
minitest-reporters (1.1.13)
|
|
36
36
|
ansi
|
|
37
37
|
builder
|
|
38
38
|
minitest (>= 5.0)
|
|
39
39
|
ruby-progressbar
|
|
40
|
-
pg (0.
|
|
41
|
-
rake (
|
|
42
|
-
ruby-progressbar (1.
|
|
43
|
-
simplecov (0.
|
|
40
|
+
pg (0.19.0)
|
|
41
|
+
rake (12.0.0)
|
|
42
|
+
ruby-progressbar (1.8.1)
|
|
43
|
+
simplecov (0.12.0)
|
|
44
44
|
docile (~> 1.1.0)
|
|
45
|
-
json (
|
|
45
|
+
json (>= 1.8, < 3)
|
|
46
46
|
simplecov-html (~> 0.10.0)
|
|
47
47
|
simplecov-html (0.10.0)
|
|
48
|
-
sqlite3 (1.3.
|
|
48
|
+
sqlite3 (1.3.12)
|
|
49
49
|
thread_safe (0.3.5)
|
|
50
50
|
thread_safe (0.3.5-java)
|
|
51
51
|
tzinfo (1.2.2)
|
|
@@ -67,4 +67,4 @@ DEPENDENCIES
|
|
|
67
67
|
sqlite3
|
|
68
68
|
|
|
69
69
|
BUNDLED WITH
|
|
70
|
-
1.
|
|
70
|
+
1.13.6
|
data/gemfiles/ar42.gemfile.lock
CHANGED
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
GEM
|
|
2
2
|
remote: https://rubygems.org/
|
|
3
3
|
specs:
|
|
4
|
-
activemodel (4.2.
|
|
5
|
-
activesupport (= 4.2.
|
|
4
|
+
activemodel (4.2.7.1)
|
|
5
|
+
activesupport (= 4.2.7.1)
|
|
6
6
|
builder (~> 3.1)
|
|
7
|
-
activerecord (4.2.
|
|
8
|
-
activemodel (= 4.2.
|
|
9
|
-
activesupport (= 4.2.
|
|
7
|
+
activerecord (4.2.7.1)
|
|
8
|
+
activemodel (= 4.2.7.1)
|
|
9
|
+
activesupport (= 4.2.7.1)
|
|
10
10
|
arel (~> 6.0)
|
|
11
|
-
activerecord-jdbc-adapter (1.3.
|
|
11
|
+
activerecord-jdbc-adapter (1.3.21)
|
|
12
12
|
activerecord (>= 2.2)
|
|
13
|
-
activerecord-jdbcpostgresql-adapter (1.3.
|
|
14
|
-
activerecord-jdbc-adapter (~> 1.3.
|
|
13
|
+
activerecord-jdbcpostgresql-adapter (1.3.21)
|
|
14
|
+
activerecord-jdbc-adapter (~> 1.3.21)
|
|
15
15
|
jdbc-postgres (>= 9.1)
|
|
16
|
-
activerecord-jdbcsqlite3-adapter (1.3.
|
|
17
|
-
activerecord-jdbc-adapter (~> 1.3.
|
|
16
|
+
activerecord-jdbcsqlite3-adapter (1.3.21)
|
|
17
|
+
activerecord-jdbc-adapter (~> 1.3.21)
|
|
18
18
|
jdbc-sqlite3 (>= 3.7.2, < 3.9)
|
|
19
|
-
activesupport (4.2.
|
|
19
|
+
activesupport (4.2.7.1)
|
|
20
20
|
i18n (~> 0.7)
|
|
21
21
|
json (~> 1.7, >= 1.7.7)
|
|
22
22
|
minitest (~> 5.1)
|
|
@@ -27,25 +27,25 @@ GEM
|
|
|
27
27
|
builder (3.2.2)
|
|
28
28
|
docile (1.1.5)
|
|
29
29
|
i18n (0.7.0)
|
|
30
|
-
jdbc-postgres (9.4.
|
|
31
|
-
jdbc-sqlite3 (3.8.
|
|
30
|
+
jdbc-postgres (9.4.1206)
|
|
31
|
+
jdbc-sqlite3 (3.8.11.2)
|
|
32
32
|
json (1.8.3)
|
|
33
33
|
json (1.8.3-java)
|
|
34
|
-
minitest (5.
|
|
35
|
-
minitest-reporters (1.
|
|
34
|
+
minitest (5.10.1)
|
|
35
|
+
minitest-reporters (1.1.13)
|
|
36
36
|
ansi
|
|
37
37
|
builder
|
|
38
38
|
minitest (>= 5.0)
|
|
39
39
|
ruby-progressbar
|
|
40
|
-
pg (0.
|
|
41
|
-
rake (
|
|
42
|
-
ruby-progressbar (1.
|
|
43
|
-
simplecov (0.
|
|
40
|
+
pg (0.19.0)
|
|
41
|
+
rake (12.0.0)
|
|
42
|
+
ruby-progressbar (1.8.1)
|
|
43
|
+
simplecov (0.12.0)
|
|
44
44
|
docile (~> 1.1.0)
|
|
45
|
-
json (
|
|
45
|
+
json (>= 1.8, < 3)
|
|
46
46
|
simplecov-html (~> 0.10.0)
|
|
47
47
|
simplecov-html (0.10.0)
|
|
48
|
-
sqlite3 (1.3.
|
|
48
|
+
sqlite3 (1.3.12)
|
|
49
49
|
thread_safe (0.3.5)
|
|
50
50
|
thread_safe (0.3.5-java)
|
|
51
51
|
tzinfo (1.2.2)
|
|
@@ -67,4 +67,4 @@ DEPENDENCIES
|
|
|
67
67
|
sqlite3
|
|
68
68
|
|
|
69
69
|
BUNDLED WITH
|
|
70
|
-
1.
|
|
70
|
+
1.13.6
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
GIT
|
|
2
|
+
remote: git://github.com/jruby/activerecord-jdbc-adapter.git
|
|
3
|
+
revision: ee68c1881a9b0ce59f5095cd1999c109bddf6167
|
|
4
|
+
branch: rails-5
|
|
5
|
+
specs:
|
|
6
|
+
activerecord-jdbc-adapter (5.0)
|
|
7
|
+
activerecord (>= 2.2)
|
|
8
|
+
activerecord-jdbcpostgresql-adapter (5.0)
|
|
9
|
+
activerecord-jdbc-adapter (~> 5.0)
|
|
10
|
+
jdbc-postgres (>= 9.1)
|
|
11
|
+
activerecord-jdbcsqlite3-adapter (5.0)
|
|
12
|
+
activerecord-jdbc-adapter (~> 5.0)
|
|
13
|
+
jdbc-sqlite3 (>= 3.7.2, < 3.9)
|
|
14
|
+
jdbc-postgres (9.3.1102)
|
|
15
|
+
jdbc-sqlite3 (3.7.2.1)
|
|
16
|
+
|
|
17
|
+
GEM
|
|
18
|
+
remote: https://rubygems.org/
|
|
19
|
+
specs:
|
|
20
|
+
activemodel (5.0.1)
|
|
21
|
+
activesupport (= 5.0.1)
|
|
22
|
+
activerecord (5.0.1)
|
|
23
|
+
activemodel (= 5.0.1)
|
|
24
|
+
activesupport (= 5.0.1)
|
|
25
|
+
arel (~> 7.0)
|
|
26
|
+
activesupport (5.0.1)
|
|
27
|
+
concurrent-ruby (~> 1.0, >= 1.0.2)
|
|
28
|
+
i18n (~> 0.7)
|
|
29
|
+
minitest (~> 5.1)
|
|
30
|
+
tzinfo (~> 1.1)
|
|
31
|
+
ansi (1.5.0)
|
|
32
|
+
arel (7.1.4)
|
|
33
|
+
builder (3.2.2)
|
|
34
|
+
concurrent-ruby (1.0.3)
|
|
35
|
+
concurrent-ruby (1.0.3-java)
|
|
36
|
+
docile (1.1.5)
|
|
37
|
+
i18n (0.7.0)
|
|
38
|
+
json (2.0.2)
|
|
39
|
+
json (2.0.2-java)
|
|
40
|
+
minitest (5.10.1)
|
|
41
|
+
minitest-reporters (1.1.13)
|
|
42
|
+
ansi
|
|
43
|
+
builder
|
|
44
|
+
minitest (>= 5.0)
|
|
45
|
+
ruby-progressbar
|
|
46
|
+
pg (0.19.0)
|
|
47
|
+
rake (12.0.0)
|
|
48
|
+
ruby-progressbar (1.8.1)
|
|
49
|
+
simplecov (0.12.0)
|
|
50
|
+
docile (~> 1.1.0)
|
|
51
|
+
json (>= 1.8, < 3)
|
|
52
|
+
simplecov-html (~> 0.10.0)
|
|
53
|
+
simplecov-html (0.10.0)
|
|
54
|
+
sqlite3 (1.3.12)
|
|
55
|
+
thread_safe (0.3.5)
|
|
56
|
+
thread_safe (0.3.5-java)
|
|
57
|
+
tzinfo (1.2.2)
|
|
58
|
+
thread_safe (~> 0.1)
|
|
59
|
+
|
|
60
|
+
PLATFORMS
|
|
61
|
+
java
|
|
62
|
+
ruby
|
|
63
|
+
|
|
64
|
+
DEPENDENCIES
|
|
65
|
+
activerecord (~> 5.0.1)
|
|
66
|
+
activerecord-jdbc-adapter!
|
|
67
|
+
activerecord-jdbcpostgresql-adapter!
|
|
68
|
+
activerecord-jdbcsqlite3-adapter!
|
|
69
|
+
jdbc-postgres!
|
|
70
|
+
jdbc-sqlite3!
|
|
71
|
+
minitest-reporters
|
|
72
|
+
pg
|
|
73
|
+
rake
|
|
74
|
+
simplecov
|
|
75
|
+
sqlite3
|
|
76
|
+
|
|
77
|
+
BUNDLED WITH
|
|
78
|
+
1.13.6
|
data/gemfiles/common.gemfile
CHANGED
|
@@ -1,9 +1,17 @@
|
|
|
1
1
|
source 'https://rubygems.org'
|
|
2
2
|
|
|
3
3
|
platform :jruby do
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
if defined?(RAILS_5)
|
|
5
|
+
gem 'activerecord-jdbc-adapter', github: 'jruby/activerecord-jdbc-adapter', branch: 'rails-5'
|
|
6
|
+
gem 'activerecord-jdbcpostgresql-adapter', github: 'jruby/activerecord-jdbc-adapter', branch: 'rails-5'
|
|
7
|
+
gem 'activerecord-jdbcsqlite3-adapter', github: 'jruby/activerecord-jdbc-adapter', branch: 'rails-5'
|
|
8
|
+
gem 'jdbc-postgres', github: 'jruby/activerecord-jdbc-adapter', branch: 'rails-5'
|
|
9
|
+
gem 'jdbc-sqlite3', github: 'jruby/activerecord-jdbc-adapter', branch: 'rails-5'
|
|
10
|
+
else
|
|
11
|
+
gem 'activerecord-jdbc-adapter'
|
|
12
|
+
gem 'activerecord-jdbcpostgresql-adapter'
|
|
13
|
+
gem 'activerecord-jdbcsqlite3-adapter'
|
|
14
|
+
end
|
|
7
15
|
end
|
|
8
16
|
|
|
9
17
|
platform :ruby do
|
data/lib/activerecord-time.rb
CHANGED
|
@@ -3,12 +3,15 @@ require 'active_record/version'
|
|
|
3
3
|
require 'time_of_day'
|
|
4
4
|
# TODO(uwe): Simplify when we stop supporting ActiveRecord 3.2
|
|
5
5
|
if ActiveRecord::VERSION::MAJOR < 3 ||
|
|
6
|
-
|
|
6
|
+
(ActiveRecord::VERSION::MAJOR == 3 && ActiveRecord::VERSION::MINOR < 2)
|
|
7
7
|
raise 'activerecord-time only supports ActiveRecord 3.2.21 or later'
|
|
8
8
|
# TODO(uwe): Simplify when we stop supporting ActiveRecord 4.0 and 4.1
|
|
9
9
|
elsif ActiveRecord::VERSION::MAJOR == 3 ||
|
|
10
|
-
|
|
10
|
+
(ActiveRecord::VERSION::MAJOR == 4 && ActiveRecord::VERSION::MINOR <= 1)
|
|
11
11
|
require 'activerecord-time/extension_until_4_1'
|
|
12
|
-
|
|
12
|
+
# TODO(uwe): Simplify when we stop supporting ActiveRecord 4.2
|
|
13
|
+
elsif ActiveRecord::VERSION::MAJOR == 4 && ActiveRecord::VERSION::MINOR >= 2
|
|
13
14
|
require 'activerecord-time/extension_4_2'
|
|
15
|
+
elsif ActiveRecord.gem_version >= Gem::Version.new('5.0.0')
|
|
16
|
+
require 'activerecord-time/extension_5_0'
|
|
14
17
|
end
|
|
@@ -2,20 +2,23 @@ module ActiveRecord
|
|
|
2
2
|
module ConnectionAdapters
|
|
3
3
|
module Quoting
|
|
4
4
|
def _quote_with_time_of_day(value)
|
|
5
|
-
return "'#{value}'" if TimeOfDay
|
|
5
|
+
return "'#{value}'" if value.is_a?(TimeOfDay)
|
|
6
6
|
_quote_without_time_of_day(value)
|
|
7
7
|
end
|
|
8
8
|
alias_method_chain :_quote, :time_of_day
|
|
9
9
|
def _type_cast_with_time_of_day(value)
|
|
10
|
-
return value.to_s if TimeOfDay
|
|
10
|
+
return value.to_s if value.is_a?(TimeOfDay)
|
|
11
11
|
_type_cast_without_time_of_day(value)
|
|
12
12
|
end
|
|
13
13
|
alias_method_chain :_type_cast, :time_of_day
|
|
14
14
|
end
|
|
15
15
|
end
|
|
16
|
-
|
|
17
|
-
|
|
16
|
+
end
|
|
17
|
+
module Activerecord
|
|
18
|
+
module Time
|
|
19
|
+
module TypeCast
|
|
18
20
|
private
|
|
21
|
+
|
|
19
22
|
def cast_value(value)
|
|
20
23
|
return value.time_of_day if value.is_a?(::DateTime) || value.is_a?(::Time)
|
|
21
24
|
return value unless value.is_a?(::String)
|
|
@@ -25,3 +28,4 @@ module ActiveRecord
|
|
|
25
28
|
end
|
|
26
29
|
end
|
|
27
30
|
end
|
|
31
|
+
ActiveRecord::Type::Time.prepend Activerecord::Time::TypeCast
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
require 'active_record/connection_adapters/abstract/quoting'
|
|
2
|
+
|
|
3
|
+
module Activerecord
|
|
4
|
+
module Time
|
|
5
|
+
module Quoting
|
|
6
|
+
def _quote(value)
|
|
7
|
+
return "'#{value}'" if value.is_a?(TimeOfDay)
|
|
8
|
+
super(value)
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
def _type_cast(value)
|
|
12
|
+
return value.to_s if value.is_a?(TimeOfDay)
|
|
13
|
+
super(value)
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
# ActiveRecord::ConnectionAdapters::Quoting.prepend Activerecord::Time::Quoting
|
|
20
|
+
ActiveRecord::ConnectionAdapters::AbstractAdapter.prepend Activerecord::Time::Quoting
|
|
21
|
+
|
|
22
|
+
module ActiveRecord
|
|
23
|
+
module Type
|
|
24
|
+
class Time < ActiveModel::Type::Time # :nodoc:
|
|
25
|
+
private def cast_value(value)
|
|
26
|
+
return value.time_of_day if value.is_a?(::DateTime) || value.is_a?(::Time)
|
|
27
|
+
return value unless value.is_a?(::String)
|
|
28
|
+
return if value.empty?
|
|
29
|
+
TimeOfDay.parse value
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
|
@@ -2,48 +2,64 @@ require 'active_record/connection_adapters/abstract/quoting'
|
|
|
2
2
|
|
|
3
3
|
module ActiveRecord
|
|
4
4
|
module ConnectionAdapters
|
|
5
|
-
class Column
|
|
6
|
-
def klass_with_time_of_day
|
|
7
|
-
return TimeOfDay if :time === type
|
|
8
|
-
klass_without_time_of_day
|
|
9
|
-
end
|
|
10
|
-
|
|
11
|
-
alias_method_chain :klass, :time_of_day
|
|
12
|
-
|
|
13
|
-
def self.string_to_dummy_time(string)
|
|
14
|
-
return string if string.is_a? TimeOfDay
|
|
15
|
-
return string.time_of_day if string.is_a? ::Time
|
|
16
|
-
return nil if string.empty?
|
|
17
|
-
TimeOfDay.parse(string)
|
|
18
|
-
end
|
|
19
|
-
end
|
|
20
5
|
module Quoting
|
|
21
6
|
def quote_with_time_of_day(value, column = nil)
|
|
22
|
-
if column && column.type == :time && Integer
|
|
7
|
+
if column && column.type == :time && value.is_a?(Integer)
|
|
23
8
|
value = TimeOfDay.new(value / 3600, (value % 3600) / 60, value % 60)
|
|
24
9
|
end
|
|
25
|
-
return "'#{value.to_s(:db)}'" if TimeOfDay
|
|
10
|
+
return "'#{value.to_s(:db)}'" if value.is_a?(TimeOfDay)
|
|
26
11
|
quote_without_time_of_day(value, column)
|
|
27
12
|
end
|
|
13
|
+
|
|
28
14
|
alias_method_chain :quote, :time_of_day
|
|
15
|
+
|
|
29
16
|
def type_cast_with_time_of_day(value, column)
|
|
30
|
-
return value.to_s if TimeOfDay
|
|
17
|
+
return value.to_s if value.is_a?(TimeOfDay)
|
|
31
18
|
type_cast_without_time_of_day(value, column)
|
|
32
19
|
end
|
|
20
|
+
|
|
33
21
|
alias_method_chain :type_cast, :time_of_day
|
|
34
22
|
end
|
|
35
23
|
end
|
|
36
24
|
end
|
|
37
25
|
|
|
26
|
+
module Activerecord
|
|
27
|
+
module Time
|
|
28
|
+
module DummyTime
|
|
29
|
+
def klass
|
|
30
|
+
return TimeOfDay if :time == type
|
|
31
|
+
super
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
module ClassMethods
|
|
35
|
+
def string_to_dummy_time(value)
|
|
36
|
+
return value if value.is_a? TimeOfDay
|
|
37
|
+
return value.time_of_day if value.is_a? ::Time
|
|
38
|
+
return nil if value.empty?
|
|
39
|
+
TimeOfDay.parse(value)
|
|
40
|
+
end
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
def self.prepended(base)
|
|
44
|
+
class << base
|
|
45
|
+
prepend ClassMethods
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
end
|
|
49
|
+
end
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
ActiveRecord::ConnectionAdapters::Column.prepend Activerecord::Time::DummyTime
|
|
53
|
+
|
|
38
54
|
module Arel
|
|
39
55
|
module Visitors
|
|
40
|
-
class
|
|
56
|
+
class Visitor
|
|
41
57
|
if Gem::Version.new(Arel::VERSION) >= Gem::Version.new('5.0.0')
|
|
42
|
-
def visit_TimeOfDay
|
|
58
|
+
def visit_TimeOfDay(o, _a) # rubocop: disable Style/MethodName
|
|
43
59
|
"'#{o.to_s(:db)}'"
|
|
44
60
|
end
|
|
45
61
|
else
|
|
46
|
-
def visit_TimeOfDay
|
|
62
|
+
def visit_TimeOfDay(o) # rubocop: disable Style/MethodName
|
|
47
63
|
"'#{o.to_s(:db)}'"
|
|
48
64
|
end
|
|
49
65
|
end
|
data/lib/time_of_day.rb
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
require 'yaml'
|
|
2
2
|
|
|
3
|
+
# rubocop: disable Rails/TimeZone, Rails/Date
|
|
3
4
|
class TimeOfDay
|
|
4
5
|
attr_accessor :hour # 0 - 23
|
|
5
6
|
attr_accessor :minute # 0 - 59
|
|
@@ -17,35 +18,40 @@ class TimeOfDay
|
|
|
17
18
|
initialize(*parts)
|
|
18
19
|
end
|
|
19
20
|
|
|
21
|
+
def encode_with(coder)
|
|
22
|
+
coder.tag = 'tag:yaml.org,2002:time'
|
|
23
|
+
coder.scalar = to_s
|
|
24
|
+
end
|
|
25
|
+
|
|
20
26
|
def self.now
|
|
21
27
|
Time.now.time_of_day
|
|
22
28
|
end
|
|
23
29
|
|
|
24
30
|
def self.parse(string)
|
|
25
31
|
return nil if string.blank?
|
|
26
|
-
|
|
32
|
+
new(*parse_parts(string))
|
|
27
33
|
end
|
|
28
34
|
|
|
29
35
|
def self.parse_parts(string)
|
|
30
36
|
string = string.strip
|
|
31
37
|
raise "Illegal time format: '#{string}'" unless string =~ /^(\d{1,2}):?(\d{2})?(?::(\d{1,2}))?$/
|
|
32
|
-
[
|
|
38
|
+
[Regexp.last_match(1).to_i, Regexp.last_match(2).to_i, Regexp.last_match(3).to_i]
|
|
33
39
|
end
|
|
34
40
|
|
|
35
41
|
def on(date)
|
|
36
42
|
Time.local(date.year, date.month, date.day, hour, minute, second)
|
|
37
43
|
end
|
|
38
44
|
|
|
39
|
-
def +(
|
|
40
|
-
raise "Illegal argument: #{
|
|
45
|
+
def +(other)
|
|
46
|
+
raise "Illegal argument: #{other.inspect}" unless other.is_a? Numeric
|
|
41
47
|
t = Time.local(0, 1, 1, hour, minute, second)
|
|
42
|
-
t +=
|
|
48
|
+
t += other
|
|
43
49
|
self.class.new(t.hour, t.min, t.sec)
|
|
44
50
|
end
|
|
45
51
|
|
|
46
|
-
def -(
|
|
47
|
-
raise "Illegal argument: #{
|
|
48
|
-
self.+(-
|
|
52
|
+
def -(other)
|
|
53
|
+
raise "Illegal argument: #{other.inspect}" unless other.is_a? Numeric
|
|
54
|
+
self.+(-other)
|
|
49
55
|
end
|
|
50
56
|
|
|
51
57
|
def <=>(other)
|
|
@@ -89,23 +95,15 @@ class TimeOfDay
|
|
|
89
95
|
end
|
|
90
96
|
end
|
|
91
97
|
|
|
92
|
-
def to_yaml(opts = {})
|
|
93
|
-
YAML::quick_emit(nil, opts) do |out|
|
|
94
|
-
out.scalar('tag:yaml.org,2002:time', self.to_s, :plain)
|
|
95
|
-
end
|
|
96
|
-
end
|
|
97
|
-
|
|
98
98
|
def to_json(*)
|
|
99
|
-
%
|
|
99
|
+
%("#{self}")
|
|
100
100
|
end
|
|
101
|
-
|
|
102
101
|
end
|
|
103
102
|
|
|
104
103
|
class Time
|
|
105
104
|
def time_of_day
|
|
106
105
|
TimeOfDay.new(hour, min, sec)
|
|
107
106
|
end
|
|
108
|
-
|
|
109
107
|
end
|
|
110
108
|
|
|
111
109
|
class Date
|
|
@@ -113,11 +111,10 @@ class Date
|
|
|
113
111
|
time_of_day = TimeOfDay.parse(time_of_day) if time_of_day.is_a?(String)
|
|
114
112
|
Time.local(year, month, day, time_of_day.hour, time_of_day.minute, time_of_day.second)
|
|
115
113
|
end
|
|
116
|
-
|
|
117
114
|
end
|
|
118
115
|
|
|
119
116
|
module Kernel
|
|
120
|
-
def TimeOfDay(string_or_int, *ints)
|
|
117
|
+
def TimeOfDay(string_or_int, *ints) # rubocop: disable Style/MethodName
|
|
121
118
|
if string_or_int.is_a? String
|
|
122
119
|
raise(ArgumentError, 'TimeOfDay() takes a string or multiple integers as arguments') unless ints.empty?
|
|
123
120
|
TimeOfDay.parse(string_or_int)
|
data/matrix_test.rb
CHANGED
|
@@ -1,33 +1,43 @@
|
|
|
1
1
|
#!/usr/bin/env ruby -w
|
|
2
2
|
|
|
3
|
+
system('rubocop --auto-correct') || exit(1)
|
|
4
|
+
|
|
5
|
+
update_gemfiles = ARGV.delete('--update')
|
|
6
|
+
|
|
3
7
|
require 'yaml'
|
|
4
8
|
travis = YAML.load(File.read('.travis.yml'))
|
|
5
9
|
|
|
6
10
|
travis['rvm'].each do |ruby|
|
|
11
|
+
next if ruby =~ /head/
|
|
7
12
|
puts '#' * 80
|
|
8
13
|
puts "Testing #{ruby}"
|
|
9
14
|
puts
|
|
10
|
-
system "
|
|
11
|
-
|
|
12
|
-
system "
|
|
13
|
-
exit $? unless $? == 0
|
|
15
|
+
system "ruby-install --no-reinstall #{ruby}" || exit(1)
|
|
16
|
+
bundler_gem_check_cmd = "chruby-exec #{ruby} -- gem query -i -n bundler >/dev/null"
|
|
17
|
+
system "#{bundler_gem_check_cmd} || chruby-exec #{ruby} -- gem install bundler" || exit(1)
|
|
14
18
|
travis['gemfile'].each do |gemfile|
|
|
19
|
+
if travis['matrix']['exclude'].any? { |f| f['rvm'] == ruby && f['gemfile'] == gemfile }
|
|
20
|
+
puts 'Skipping known failure.'
|
|
21
|
+
next
|
|
22
|
+
end
|
|
15
23
|
puts '$' * 80
|
|
16
24
|
puts "Testing #{gemfile}"
|
|
17
25
|
puts
|
|
18
26
|
ENV['BUNDLE_GEMFILE'] = gemfile
|
|
19
|
-
|
|
20
|
-
|
|
27
|
+
if update_gemfiles
|
|
28
|
+
system "chruby-exec #{ruby} -- bundle update"
|
|
29
|
+
else
|
|
30
|
+
system "chruby-exec #{ruby} -- bundle check || chruby-exec #{ruby} -- bundle install"
|
|
31
|
+
end || exit(1)
|
|
21
32
|
travis['env'].each do |env|
|
|
22
|
-
env.scan(/\b(?<key>[A-Z_]+)="
|
|
33
|
+
env.scan(/\b(?<key>[A-Z_]+)="(?<value>.+?)"/) do |key, value|
|
|
23
34
|
ENV[key] = value
|
|
24
|
-
puts '*' * 80
|
|
25
|
-
puts "Testing #{ruby} #{gemfile} #{env}"
|
|
26
|
-
puts
|
|
27
|
-
system "rvm #{ruby} do bundle exec rake"
|
|
28
|
-
exit $? unless $? == 0
|
|
29
|
-
puts '*' * 80
|
|
30
35
|
end
|
|
36
|
+
puts '*' * 80
|
|
37
|
+
puts "Testing #{ruby} #{gemfile} #{env}"
|
|
38
|
+
puts
|
|
39
|
+
system "chruby-exec #{ruby} -- bundle exec rake" || exit(1)
|
|
40
|
+
puts '*' * 80
|
|
31
41
|
end
|
|
32
42
|
puts "Testing #{gemfile} OK"
|
|
33
43
|
puts '$' * 80
|
data/test/test_helper.rb
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
$LOAD_PATH.unshift(File.dirname(__FILE__) + '/../lib')
|
|
2
2
|
RAILS_ROOT = File.dirname(__FILE__)
|
|
3
3
|
|
|
4
4
|
require 'rubygems'
|
|
@@ -17,20 +17,20 @@ require 'simplecov'
|
|
|
17
17
|
SimpleCov.start
|
|
18
18
|
|
|
19
19
|
FileUtils.rm_rf File.expand_path(':memory:', File.dirname(__FILE__))
|
|
20
|
-
config = YAML
|
|
20
|
+
config = YAML.load(IO.read(File.dirname(__FILE__) + '/database.yml'))
|
|
21
21
|
ActiveRecord::Base.logger = Logger.new(File.dirname(__FILE__) + '/test.log')
|
|
22
22
|
db = ENV['DB'] || 'sqlite3'
|
|
23
23
|
if db != 'sqlite3'
|
|
24
24
|
ActiveRecord::Base.establish_connection config[db].merge(database: nil)
|
|
25
25
|
begin
|
|
26
26
|
ActiveRecord::Base.connection.drop_database config[db][:database]
|
|
27
|
-
rescue
|
|
28
|
-
puts
|
|
27
|
+
rescue => e
|
|
28
|
+
puts e
|
|
29
29
|
end
|
|
30
30
|
begin
|
|
31
31
|
ActiveRecord::Base.connection.create_database config[db][:database], charset: 'utf8'
|
|
32
|
-
rescue
|
|
33
|
-
puts
|
|
32
|
+
rescue => e
|
|
33
|
+
puts e
|
|
34
34
|
end
|
|
35
35
|
end
|
|
36
36
|
ActiveRecord::Base.establish_connection config[db]
|
data/test/time_of_day_test.rb
CHANGED
|
@@ -4,7 +4,7 @@ class Event < ActiveRecord::Base
|
|
|
4
4
|
end
|
|
5
5
|
|
|
6
6
|
# TODO(uwe): Remove when we stop testing ActiveRecord 4.0
|
|
7
|
-
|
|
7
|
+
Minitest::Test = Minitest::Unit unless defined? Minitest::Test
|
|
8
8
|
# ODOT
|
|
9
9
|
|
|
10
10
|
class TimeOfDayTest < Minitest::Test
|
|
@@ -80,11 +80,11 @@ class TimeOfDayTest < Minitest::Test
|
|
|
80
80
|
|
|
81
81
|
def test_yaml_load
|
|
82
82
|
hash = YAML.load('start_at: !!time 12:34:56')
|
|
83
|
-
assert_equal({'start_at' => TimeOfDay.parse('12:34:56')}, hash)
|
|
83
|
+
assert_equal({ 'start_at' => TimeOfDay.parse('12:34:56') }, hash)
|
|
84
84
|
end
|
|
85
85
|
|
|
86
86
|
def test_yaml_dump
|
|
87
|
-
string = YAML.dump(
|
|
87
|
+
string = YAML.dump('start_at' => TimeOfDay.parse('12:34:56'))
|
|
88
88
|
assert_match(/---\nstart_at: !!time '?12:34:56'?\n/, string)
|
|
89
89
|
end
|
|
90
90
|
|
|
@@ -93,10 +93,10 @@ class TimeOfDayTest < Minitest::Test
|
|
|
93
93
|
end
|
|
94
94
|
|
|
95
95
|
def test_activerecord
|
|
96
|
-
Event.create! :
|
|
97
|
-
t = Event.where(:
|
|
96
|
+
Event.create! name: 'Bored meeting', start_at: @twelve_o_clock
|
|
97
|
+
t = Event.where(start_at: '12:00:00').first
|
|
98
98
|
assert_equal TimeOfDay, t.start_at.class
|
|
99
|
-
assert_equal t, Event.where(:
|
|
99
|
+
assert_equal t, Event.where(start_at: @twelve_o_clock).first
|
|
100
100
|
assert_equal t, Event.where('start_at = ?', @twelve_o_clock).first
|
|
101
101
|
assert_equal t, Event.where('start_at >= ?', @twelve_o_clock).first
|
|
102
102
|
assert_equal t, Event.where('start_at <= ?', @twelve_o_clock).first
|
|
@@ -106,9 +106,9 @@ class TimeOfDayTest < Minitest::Test
|
|
|
106
106
|
|
|
107
107
|
# TODO(uwe): Simplify when we stop supporting ActiveRecord 3
|
|
108
108
|
if ActiveRecord::VERSION::MAJOR >= 4
|
|
109
|
-
t.update! :
|
|
109
|
+
t.update! start_at: TimeOfDay.new(13)
|
|
110
110
|
else
|
|
111
|
-
t.update_attributes! :
|
|
111
|
+
t.update_attributes! start_at: TimeOfDay.new(13)
|
|
112
112
|
end
|
|
113
113
|
# ODOT
|
|
114
114
|
|
|
@@ -117,15 +117,15 @@ class TimeOfDayTest < Minitest::Test
|
|
|
117
117
|
|
|
118
118
|
def test_activerecord_binary_column
|
|
119
119
|
text = 'Some binary content'
|
|
120
|
-
Event.create! :
|
|
121
|
-
e = Event.where(:
|
|
120
|
+
Event.create! content: text
|
|
121
|
+
e = Event.where(content: text).first
|
|
122
122
|
assert_equal text, e.content
|
|
123
123
|
|
|
124
124
|
# TODO(uwe): Simplify when we stop supporting ActiveRecord 3
|
|
125
125
|
if ActiveRecord::VERSION::MAJOR >= 4
|
|
126
|
-
e.update! :
|
|
126
|
+
e.update! content: 'Other binary content'
|
|
127
127
|
else
|
|
128
|
-
e.update_attributes! :
|
|
128
|
+
e.update_attributes! content: 'Other binary content'
|
|
129
129
|
end
|
|
130
130
|
# ODOT
|
|
131
131
|
end
|
|
@@ -166,7 +166,7 @@ class TimeOfDayTest < Minitest::Test
|
|
|
166
166
|
tod2 = TimeOfDay.new(13, 0)
|
|
167
167
|
assert_equal(-1, tod1 <=> tod2)
|
|
168
168
|
assert_equal 1, tod2 <=> tod1
|
|
169
|
-
assert_equal 0, tod1 <=> tod1
|
|
169
|
+
assert_equal 0, tod1 <=> tod1 # rubocop: disable Lint/UselessComparison
|
|
170
170
|
end
|
|
171
171
|
|
|
172
172
|
def test_strftime
|
|
@@ -211,6 +211,6 @@ class TimeOfDayTest < Minitest::Test
|
|
|
211
211
|
|
|
212
212
|
def test_to_json
|
|
213
213
|
tod = TimeOfDay.new(12, 13)
|
|
214
|
-
assert_equal "
|
|
214
|
+
assert_equal '"12:13:00"', tod.to_json('foo')
|
|
215
215
|
end
|
|
216
216
|
end
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: activerecord-time
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.7.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Uwe Kubosch
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2016-
|
|
11
|
+
date: 2016-12-23 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: activerecord
|
|
@@ -19,7 +19,7 @@ dependencies:
|
|
|
19
19
|
version: 3.2.21
|
|
20
20
|
- - "<"
|
|
21
21
|
- !ruby/object:Gem::Version
|
|
22
|
-
version: 5.
|
|
22
|
+
version: '5.1'
|
|
23
23
|
type: :runtime
|
|
24
24
|
prerelease: false
|
|
25
25
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -29,7 +29,7 @@ dependencies:
|
|
|
29
29
|
version: 3.2.21
|
|
30
30
|
- - "<"
|
|
31
31
|
- !ruby/object:Gem::Version
|
|
32
|
-
version: 5.
|
|
32
|
+
version: '5.1'
|
|
33
33
|
- !ruby/object:Gem::Dependency
|
|
34
34
|
name: pg
|
|
35
35
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -86,6 +86,20 @@ dependencies:
|
|
|
86
86
|
- - ">="
|
|
87
87
|
- !ruby/object:Gem::Version
|
|
88
88
|
version: '0'
|
|
89
|
+
- !ruby/object:Gem::Dependency
|
|
90
|
+
name: rubocop
|
|
91
|
+
requirement: !ruby/object:Gem::Requirement
|
|
92
|
+
requirements:
|
|
93
|
+
- - ">="
|
|
94
|
+
- !ruby/object:Gem::Version
|
|
95
|
+
version: '0'
|
|
96
|
+
type: :development
|
|
97
|
+
prerelease: false
|
|
98
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
99
|
+
requirements:
|
|
100
|
+
- - ">="
|
|
101
|
+
- !ruby/object:Gem::Version
|
|
102
|
+
version: '0'
|
|
89
103
|
- !ruby/object:Gem::Dependency
|
|
90
104
|
name: simplecov
|
|
91
105
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -109,6 +123,8 @@ extensions: []
|
|
|
109
123
|
extra_rdoc_files: []
|
|
110
124
|
files:
|
|
111
125
|
- ".gitignore"
|
|
126
|
+
- ".rubocop.yml"
|
|
127
|
+
- ".rubocop_todo.yml"
|
|
112
128
|
- ".travis.yml"
|
|
113
129
|
- Gemfile
|
|
114
130
|
- LICENSE
|
|
@@ -124,9 +140,12 @@ files:
|
|
|
124
140
|
- gemfiles/ar41.gemfile.lock
|
|
125
141
|
- gemfiles/ar42.gemfile
|
|
126
142
|
- gemfiles/ar42.gemfile.lock
|
|
143
|
+
- gemfiles/ar50.gemfile
|
|
144
|
+
- gemfiles/ar50.gemfile.lock
|
|
127
145
|
- gemfiles/common.gemfile
|
|
128
146
|
- lib/activerecord-time.rb
|
|
129
147
|
- lib/activerecord-time/extension_4_2.rb
|
|
148
|
+
- lib/activerecord-time/extension_5_0.rb
|
|
130
149
|
- lib/activerecord-time/extension_until_4_1.rb
|
|
131
150
|
- lib/activerecord-time/version.rb
|
|
132
151
|
- lib/time_of_day.rb
|