activerecord-time 0.18.0 → 0.19.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 80b52c52ad34414185dbadd7b54be0d7dbfc2b9be326581d7102fe1ce713eff2
4
- data.tar.gz: '04965d38dce4fa1a2510725f4626f7796d2e23e0a7a9597535f6b212b8058b46'
3
+ metadata.gz: 38e31e5791113c1c15833344fc7a243a87bacc1f35cc6fdbeb15cbe7edf7daf4
4
+ data.tar.gz: 58990d314938ba0786cf4733c1616c50757d5e21cb6e37153b207fff4d5d5b42
5
5
  SHA512:
6
- metadata.gz: cf3f7975838214c58b8c7970c3951b1be99f14b1dea449f30c1ab63370ab196cc352fff4dde07c99d848f04e49e3f9d9ca1c148545e457a9293100fab97cd7bb
7
- data.tar.gz: a64a1dd1ffccccf70699318117503f67841f59b4c54e8c36f8d7fadd01169130a921a027e8800f6173b3387487b54d08c6ca0a91749b0c679d39274b0f6fd921
6
+ metadata.gz: 0bfd12648f4877017b8296a35dfebca5ae1ac9157bc6d63f35354450b3953a950d6a99fa38d477ffe01bf363b459b3010fe6d0f17589ee744e0b8b4b542c1210
7
+ data.tar.gz: fa6e24e7993c666265de8e82dee024f66e18878141d31c5862c0602ba4096854601f81af6253875cf7f81505ceac2de1e932d36dde97423db825ba6943517a29
@@ -0,0 +1,69 @@
1
+ name: Test
2
+ on:
3
+ workflow_dispatch:
4
+ inputs:
5
+ logLevel:
6
+ description: 'Log level'
7
+ required: true
8
+ default: 'warning'
9
+ tags:
10
+ description: 'Test scenario tags'
11
+ required: false
12
+ push:
13
+ branches: [ master ]
14
+ pull_request:
15
+ branches: [ master ]
16
+
17
+ env:
18
+ LANGUAGE: nb
19
+ PGUSER: postgres
20
+ PGPASSWORD: password
21
+ RAILS_ENV: test
22
+
23
+ jobs:
24
+ Rubocop:
25
+ runs-on: ubuntu-20.04
26
+ steps:
27
+ - uses: actions/checkout@v2
28
+ - uses: ruby/setup-ruby@v1
29
+ with:
30
+ ruby-version: '3.0'
31
+ bundler-cache: true # runs 'bundle install' and caches installed gems automatically
32
+ - name: Rubocop
33
+ run: bundle exec rubocop --auto-correct-all
34
+ Test:
35
+ runs-on: ubuntu-20.04
36
+ services:
37
+ postgres:
38
+ image: postgres
39
+ env:
40
+ POSTGRES_PASSWORD: password
41
+ ports:
42
+ - 5432:5432
43
+ # needed because the postgres container does not provide a healthcheck
44
+ options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5
45
+ strategy:
46
+ fail-fast: false
47
+ matrix:
48
+ # Due to https://github.com/actions/runner/issues/849, we have to use quotes for '3.0'
49
+ ruby: [ 2.6, 2.7, '3.0', jruby, truffleruby ]
50
+ gemfile: [ ar61, ar60, ar52, ar51 ]
51
+ adapter: [ postgresql, sqlite3 ]
52
+ exclude:
53
+ - ruby: '3.0'
54
+ gemfile: ar52
55
+ - ruby: '3.0'
56
+ gemfile: ar51
57
+ - ruby: jruby
58
+ adapter: sqlite3
59
+ env:
60
+ ADAPTER: ${{ matrix.adapter }}
61
+ BUNDLE_GEMFILE: ${{ github.workspace }}/gemfiles/${{ matrix.gemfile }}.gemfile
62
+ steps:
63
+ - uses: actions/checkout@v2
64
+ - uses: ruby/setup-ruby@v1
65
+ with:
66
+ ruby-version: ${{ matrix.ruby }}
67
+ bundler-cache: true # runs 'bundle install' and caches installed gems automatically
68
+ - name: Rake test
69
+ run: bundle exec rake test
data/.rubocop_todo.yml CHANGED
@@ -1,6 +1,6 @@
1
1
  # This configuration was generated by
2
2
  # `rubocop --auto-gen-config`
3
- # on 2021-11-25 10:12:00 UTC using RuboCop version 1.23.0.
3
+ # on 2021-11-25 11:12:32 UTC using RuboCop version 1.23.0.
4
4
  # The point is for the user to remove these configuration records
5
5
  # one by one as the offenses are removed from the code base.
6
6
  # Note that changes in the inspected code, or installation of new
@@ -31,7 +31,7 @@ Metrics/BlockLength:
31
31
  # Offense count: 2
32
32
  # Configuration parameters: CountComments, CountAsOne.
33
33
  Metrics/ClassLength:
34
- Max: 174
34
+ Max: 184
35
35
 
36
36
  # Offense count: 1
37
37
  # Configuration parameters: IgnoredMethods.
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Activerecord
4
4
  module Time
5
- VERSION = '0.18.0'
5
+ VERSION = '0.19.0'
6
6
  end
7
7
  end
@@ -8,6 +8,12 @@ class Time
8
8
  end
9
9
  end
10
10
 
11
+ class DateTime
12
+ def time_of_day
13
+ TimeOfDay.new(hour, min, sec)
14
+ end
15
+ end
16
+
11
17
  class ActiveSupport::TimeWithZone
12
18
  def time_of_day
13
19
  TimeOfDay.new(hour, min, sec)
data/lib/time_of_day.rb CHANGED
@@ -87,11 +87,12 @@ class TimeOfDay
87
87
  end
88
88
 
89
89
  def -(other)
90
- if other.is_a?(TimeOfDay)
90
+ case other
91
+ when TimeOfDay
91
92
  t1 = Time.local(0, 1, 1, hour, minute, second) # rubocop: disable Rails/TimeZone
92
93
  t2 = Time.local(0, 1, 1, other.hour, other.minute, other.second) # rubocop: disable Rails/TimeZone
93
94
  (t1 - t2).seconds
94
- elsif other.is_a?(Numeric)
95
+ when Numeric
95
96
  self.+(-other)
96
97
  else
97
98
  raise "Illegal argument: #{other.inspect}"
data/test/database.yml CHANGED
@@ -6,6 +6,6 @@ postgresql:
6
6
  :adapter: postgresql
7
7
  :host: localhost
8
8
  :username: postgres
9
- :password:
9
+ :password: password
10
10
  :database: activerecord-time_test
11
11
  :min_messages: ERROR
data/test/test_helper.rb CHANGED
@@ -19,7 +19,7 @@ if defined?(Rake) && (RUBY_ENGINE != 'jruby' || org.jruby.RubyInstanceConfig.FUL
19
19
  end
20
20
 
21
21
  FileUtils.rm_rf File.expand_path(':memory:', File.dirname(__FILE__))
22
- config = YAML.load(IO.read(File.dirname(__FILE__) + '/database.yml'))
22
+ config = YAML.load(File.read(File.dirname(__FILE__) + '/database.yml'))
23
23
  ActiveRecord::Base.logger = Logger.new(File.dirname(__FILE__) + '/test.log')
24
24
  adapter = ENV['ADAPTER'] || 'sqlite3'
25
25
  if adapter != 'sqlite3'
@@ -142,14 +142,16 @@ class TimeOfDayTest < Minitest::Test
142
142
  assert_equal 59, tod.second
143
143
  end
144
144
 
145
- def test_minus_tod
146
- tod1 = TimeOfDay.new(12, 0, 29)
147
- tod2 = TimeOfDay.new(13, 30, 59)
148
- duration = tod2 - tod1
149
-
150
- assert_equal 1, duration.in_hours.to_i
151
- assert_equal 30, duration.in_minutes.to_i % 60
152
- assert_equal 30, duration.in_seconds % 60
145
+ if ActiveRecord.gem_version >= Gem::Version.new('6.1')
146
+ def test_minus_tod
147
+ tod1 = TimeOfDay.new(12, 0, 29)
148
+ tod2 = TimeOfDay.new(13, 30, 59)
149
+ duration = tod2 - tod1
150
+
151
+ assert_equal 1, duration.in_hours.to_i
152
+ assert_equal 30, duration.in_minutes.to_i % 60
153
+ assert_equal 30, duration.in_seconds % 60
154
+ end
153
155
  end
154
156
 
155
157
  def test_equality
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.18.0
4
+ version: 0.19.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: 2021-11-25 00:00:00.000000000 Z
11
+ date: 2021-12-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord
@@ -150,6 +150,7 @@ executables: []
150
150
  extensions: []
151
151
  extra_rdoc_files: []
152
152
  files:
153
+ - ".github/workflows/test.yml"
153
154
  - ".gitignore"
154
155
  - ".rubocop.yml"
155
156
  - ".rubocop_todo.yml"
@@ -161,11 +162,8 @@ files:
161
162
  - Rakefile
162
163
  - activerecord-time.gemspec
163
164
  - gemfiles/ar51.gemfile
164
- - gemfiles/ar51.gemfile.lock
165
165
  - gemfiles/ar52.gemfile
166
- - gemfiles/ar52.gemfile.lock
167
166
  - gemfiles/ar60.gemfile
168
- - gemfiles/ar60.gemfile.lock
169
167
  - gemfiles/ar61.gemfile
170
168
  - gemfiles/common.gemfile
171
169
  - lib/activerecord-time.rb
@@ -197,7 +195,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
197
195
  - !ruby/object:Gem::Version
198
196
  version: '0'
199
197
  requirements: []
200
- rubygems_version: 3.2.22
198
+ rubygems_version: 3.2.32
201
199
  signing_key:
202
200
  specification_version: 4
203
201
  summary: A handler for storing TimeOfDay objects in ActiveRecord objects as sql time
@@ -1,75 +0,0 @@
1
- GEM
2
- remote: https://rubygems.org/
3
- specs:
4
- activemodel (5.1.7)
5
- activesupport (= 5.1.7)
6
- activerecord (5.1.7)
7
- activemodel (= 5.1.7)
8
- activesupport (= 5.1.7)
9
- arel (~> 8.0)
10
- activerecord-jdbc-adapter (51.4-java)
11
- activerecord (~> 5.1.0)
12
- activerecord-jdbcderby-adapter (0.8.2)
13
- activerecord-jdbc-adapter (>= 0.8.2)
14
- jdbc-derby (>= 10.3.2.1)
15
- activerecord-jdbcpostgresql-adapter (51.4-java)
16
- activerecord-jdbc-adapter (= 51.4)
17
- jdbc-postgres (>= 9.4, < 43)
18
- activerecord-jdbcsqlite3-adapter (51.4-java)
19
- activerecord-jdbc-adapter (= 51.4)
20
- jdbc-sqlite3 (~> 3.8, < 3.30)
21
- activesupport (5.1.7)
22
- concurrent-ruby (~> 1.0, >= 1.0.2)
23
- i18n (>= 0.7, < 2)
24
- minitest (~> 5.1)
25
- tzinfo (~> 1.1)
26
- ansi (1.5.0)
27
- arel (8.0.0)
28
- builder (3.2.3)
29
- concurrent-ruby (1.1.5)
30
- docile (1.3.2)
31
- i18n (1.7.0)
32
- concurrent-ruby (~> 1.0)
33
- jdbc-derby (10.12.1.1)
34
- jdbc-postgres (42.2.6)
35
- jdbc-sqlite3 (3.28.0)
36
- json (2.2.0)
37
- json (2.2.0-java)
38
- minitest (5.12.2)
39
- minitest-reporters (1.4.1)
40
- ansi
41
- builder
42
- minitest (>= 5.0)
43
- ruby-progressbar
44
- pg (0.21.0)
45
- rake (13.0.0)
46
- ruby-progressbar (1.10.1)
47
- simplecov (0.17.1)
48
- docile (~> 1.1)
49
- json (>= 1.8, < 3)
50
- simplecov-html (~> 0.10.0)
51
- simplecov-html (0.10.2)
52
- sqlite3 (1.4.1)
53
- thread_safe (0.3.6)
54
- thread_safe (0.3.6-java)
55
- tzinfo (1.2.5)
56
- thread_safe (~> 0.1)
57
-
58
- PLATFORMS
59
- java
60
- ruby
61
-
62
- DEPENDENCIES
63
- activerecord (~> 5.1.1)
64
- activerecord-jdbc-adapter
65
- activerecord-jdbcderby-adapter
66
- activerecord-jdbcpostgresql-adapter
67
- activerecord-jdbcsqlite3-adapter
68
- minitest-reporters
69
- pg (< 1)
70
- rake
71
- simplecov
72
- sqlite3
73
-
74
- BUNDLED WITH
75
- 1.17.2
@@ -1,75 +0,0 @@
1
- GEM
2
- remote: https://rubygems.org/
3
- specs:
4
- activemodel (5.2.3)
5
- activesupport (= 5.2.3)
6
- activerecord (5.2.3)
7
- activemodel (= 5.2.3)
8
- activesupport (= 5.2.3)
9
- arel (>= 9.0)
10
- activerecord-jdbc-adapter (52.3-java)
11
- activerecord (~> 5.2.0)
12
- activerecord-jdbcderby-adapter (0.8.2)
13
- activerecord-jdbc-adapter (>= 0.8.2)
14
- jdbc-derby (>= 10.3.2.1)
15
- activerecord-jdbcpostgresql-adapter (52.3-java)
16
- activerecord-jdbc-adapter (= 52.3)
17
- jdbc-postgres (>= 9.4, < 43)
18
- activerecord-jdbcsqlite3-adapter (52.3-java)
19
- activerecord-jdbc-adapter (= 52.3)
20
- jdbc-sqlite3 (~> 3.8, < 3.30)
21
- activesupport (5.2.3)
22
- concurrent-ruby (~> 1.0, >= 1.0.2)
23
- i18n (>= 0.7, < 2)
24
- minitest (~> 5.1)
25
- tzinfo (~> 1.1)
26
- ansi (1.5.0)
27
- arel (9.0.0)
28
- builder (3.2.3)
29
- concurrent-ruby (1.1.5)
30
- docile (1.3.2)
31
- i18n (1.7.0)
32
- concurrent-ruby (~> 1.0)
33
- jdbc-derby (10.12.1.1)
34
- jdbc-postgres (42.2.6)
35
- jdbc-sqlite3 (3.28.0)
36
- json (2.2.0)
37
- json (2.2.0-java)
38
- minitest (5.12.2)
39
- minitest-reporters (1.4.1)
40
- ansi
41
- builder
42
- minitest (>= 5.0)
43
- ruby-progressbar
44
- pg (0.21.0)
45
- rake (13.0.0)
46
- ruby-progressbar (1.10.1)
47
- simplecov (0.17.1)
48
- docile (~> 1.1)
49
- json (>= 1.8, < 3)
50
- simplecov-html (~> 0.10.0)
51
- simplecov-html (0.10.2)
52
- sqlite3 (1.4.1)
53
- thread_safe (0.3.6)
54
- thread_safe (0.3.6-java)
55
- tzinfo (1.2.5)
56
- thread_safe (~> 0.1)
57
-
58
- PLATFORMS
59
- java
60
- ruby
61
-
62
- DEPENDENCIES
63
- activerecord (~> 5.2.0)
64
- activerecord-jdbc-adapter
65
- activerecord-jdbcderby-adapter
66
- activerecord-jdbcpostgresql-adapter
67
- activerecord-jdbcsqlite3-adapter
68
- minitest-reporters
69
- pg (< 1)
70
- rake
71
- simplecov
72
- sqlite3
73
-
74
- BUNDLED WITH
75
- 1.17.2
@@ -1,75 +0,0 @@
1
- GEM
2
- remote: https://rubygems.org/
3
- specs:
4
- activemodel (6.0.2.1)
5
- activesupport (= 6.0.2.1)
6
- activerecord (6.0.2.1)
7
- activemodel (= 6.0.2.1)
8
- activesupport (= 6.0.2.1)
9
- activerecord-jdbc-adapter (60.1-java)
10
- activerecord (~> 6.0.0)
11
- activerecord-jdbcderby-adapter (0.8.2)
12
- activerecord-jdbc-adapter (>= 0.8.2)
13
- jdbc-derby (>= 10.3.2.1)
14
- activerecord-jdbcpostgresql-adapter (60.1-java)
15
- activerecord-jdbc-adapter (= 60.1)
16
- jdbc-postgres (>= 9.4, < 43)
17
- activerecord-jdbcsqlite3-adapter (60.1-java)
18
- activerecord-jdbc-adapter (= 60.1)
19
- jdbc-sqlite3 (~> 3.8, < 3.30)
20
- activesupport (6.0.2.1)
21
- concurrent-ruby (~> 1.0, >= 1.0.2)
22
- i18n (>= 0.7, < 2)
23
- minitest (~> 5.1)
24
- tzinfo (~> 1.1)
25
- zeitwerk (~> 2.2)
26
- ansi (1.5.0)
27
- builder (3.2.4)
28
- concurrent-ruby (1.1.5)
29
- docile (1.3.2)
30
- i18n (1.7.0)
31
- concurrent-ruby (~> 1.0)
32
- jdbc-derby (10.12.1.1)
33
- jdbc-postgres (42.2.6)
34
- jdbc-sqlite3 (3.28.0)
35
- json (2.3.0)
36
- json (2.3.0-java)
37
- minitest (5.13.0)
38
- minitest-reporters (1.4.2)
39
- ansi
40
- builder
41
- minitest (>= 5.0)
42
- ruby-progressbar
43
- pg (0.21.0)
44
- rake (13.0.1)
45
- ruby-progressbar (1.10.1)
46
- simplecov (0.17.1)
47
- docile (~> 1.1)
48
- json (>= 1.8, < 3)
49
- simplecov-html (~> 0.10.0)
50
- simplecov-html (0.10.2)
51
- sqlite3 (1.4.2)
52
- thread_safe (0.3.6)
53
- thread_safe (0.3.6-java)
54
- tzinfo (1.2.6)
55
- thread_safe (~> 0.1)
56
- zeitwerk (2.2.2)
57
-
58
- PLATFORMS
59
- java
60
- ruby
61
-
62
- DEPENDENCIES
63
- activerecord (~> 6.0.0)
64
- activerecord-jdbc-adapter
65
- activerecord-jdbcderby-adapter
66
- activerecord-jdbcpostgresql-adapter
67
- activerecord-jdbcsqlite3-adapter
68
- minitest-reporters
69
- pg (< 1)
70
- rake
71
- simplecov
72
- sqlite3
73
-
74
- BUNDLED WITH
75
- 1.17.2