infer_model 0.1.2 → 0.1.4

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
  SHA256:
3
- metadata.gz: 89e0007e60d9ffa17f7ceb8f12e157be7c8d3570e3edaf5acd7ae9c3d397478e
4
- data.tar.gz: c622cb756b83391f44328e0a85ca2b3cd46df5e7f171757deb2aca36f3f7cd3e
3
+ metadata.gz: 04ed2000c2f891a8afbecbeb147ea60b99f2d75c3e98894037c9858311d38f2c
4
+ data.tar.gz: fe283d10e13d59f2579b87639c7707a5e45470bf825b2b71410ff55e1e78bfd4
5
5
  SHA512:
6
- metadata.gz: f1a0328a1fa5fb4b3eaf22c7e7fe19e206041f847859e8b7291ebd1b4f1ec520b1e54fd6644f62733e619f6e7990b6571f189951f45266561dd9a365e1af4e43
7
- data.tar.gz: 508256b0bb1a0e40f0b5ae7881c141dcea149fa3b74817d37542a77df8496f8cd485938afb9ea2ac085f68ee273b82b038350be0e4384fb8ed0e4edc1d64c234
6
+ metadata.gz: b88b7f67b42df71dafa09e5b3748a4dca6d3ea7be1c1d36c7a3b9eb834ac906648df33969bbfd8ac426f2ce830206684dd918e72114337f29ef9c1a2f6367b1d
7
+ data.tar.gz: c75104eecb2ff301cc46c760dad9c2d4985e93e11546ad0caad799f999bd67788507febadaa72367ee44fd25d4f9eab2b1e07ec8c89418f104cc8885a21f0eaa
data/.rubocop.yml CHANGED
@@ -10,6 +10,8 @@ AllCops:
10
10
  - doc/**/*
11
11
  - node_modules/**/*
12
12
  NewCops: enable
13
+ TargetRubyVersion: 3.1
14
+
13
15
 
14
16
  ###
15
17
 
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- 3.1.2
1
+ 3.2.1
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- infer_model (0.1.2)
4
+ infer_model (0.1.4)
5
5
  activesupport (~> 7.0)
6
6
  dry-initializer (~> 3.0)
7
7
  zeitwerk (~> 2.6)
@@ -9,68 +9,69 @@ PATH
9
9
  GEM
10
10
  remote: https://rubygems.org/
11
11
  specs:
12
- activesupport (7.0.4)
12
+ activesupport (7.0.4.2)
13
13
  concurrent-ruby (~> 1.0, >= 1.0.2)
14
14
  i18n (>= 1.6, < 2)
15
15
  minitest (>= 5.1)
16
16
  tzinfo (~> 2.0)
17
17
  ast (2.4.2)
18
18
  coderay (1.1.3)
19
- concurrent-ruby (1.1.10)
19
+ concurrent-ruby (1.2.0)
20
20
  diff-lcs (1.5.0)
21
21
  dotenv (2.8.1)
22
22
  dry-initializer (3.1.1)
23
23
  i18n (1.12.0)
24
24
  concurrent-ruby (~> 1.0)
25
- json (2.6.2)
25
+ json (2.6.3)
26
26
  method_source (1.0.0)
27
- minitest (5.16.3)
27
+ minitest (5.17.0)
28
28
  parallel (1.22.1)
29
- parser (3.1.2.1)
29
+ parser (3.2.1.0)
30
30
  ast (~> 2.4.1)
31
- pry (0.14.1)
31
+ pry (0.14.2)
32
32
  coderay (~> 1.1)
33
33
  method_source (~> 1.0)
34
34
  rainbow (3.1.1)
35
35
  rake (13.0.6)
36
- regexp_parser (2.5.0)
36
+ regexp_parser (2.7.0)
37
37
  rexml (3.2.5)
38
- rspec (3.11.0)
39
- rspec-core (~> 3.11.0)
40
- rspec-expectations (~> 3.11.0)
41
- rspec-mocks (~> 3.11.0)
42
- rspec-core (3.11.0)
43
- rspec-support (~> 3.11.0)
44
- rspec-expectations (3.11.1)
38
+ rspec (3.12.0)
39
+ rspec-core (~> 3.12.0)
40
+ rspec-expectations (~> 3.12.0)
41
+ rspec-mocks (~> 3.12.0)
42
+ rspec-core (3.12.1)
43
+ rspec-support (~> 3.12.0)
44
+ rspec-expectations (3.12.2)
45
45
  diff-lcs (>= 1.2.0, < 2.0)
46
- rspec-support (~> 3.11.0)
47
- rspec-mocks (3.11.1)
46
+ rspec-support (~> 3.12.0)
47
+ rspec-mocks (3.12.3)
48
48
  diff-lcs (>= 1.2.0, < 2.0)
49
- rspec-support (~> 3.11.0)
50
- rspec-support (3.11.1)
51
- rubocop (1.36.0)
49
+ rspec-support (~> 3.12.0)
50
+ rspec-support (3.12.0)
51
+ rubocop (1.45.1)
52
52
  json (~> 2.3)
53
53
  parallel (~> 1.10)
54
- parser (>= 3.1.2.1)
54
+ parser (>= 3.2.0.0)
55
55
  rainbow (>= 2.2.2, < 4.0)
56
56
  regexp_parser (>= 1.8, < 3.0)
57
57
  rexml (>= 3.2.5, < 4.0)
58
- rubocop-ast (>= 1.20.1, < 2.0)
58
+ rubocop-ast (>= 1.24.1, < 2.0)
59
59
  ruby-progressbar (~> 1.7)
60
- unicode-display_width (>= 1.4.0, < 3.0)
61
- rubocop-ast (1.21.0)
62
- parser (>= 3.1.1.0)
63
- rubocop-performance (1.15.0)
60
+ unicode-display_width (>= 2.4.0, < 3.0)
61
+ rubocop-ast (1.26.0)
62
+ parser (>= 3.2.1.0)
63
+ rubocop-performance (1.16.0)
64
64
  rubocop (>= 1.7.0, < 2.0)
65
65
  rubocop-ast (>= 0.4.0)
66
66
  ruby-progressbar (1.11.0)
67
- tzinfo (2.0.5)
67
+ tzinfo (2.0.6)
68
68
  concurrent-ruby (~> 1.0)
69
- unicode-display_width (2.2.0)
70
- zeitwerk (2.6.0)
69
+ unicode-display_width (2.4.2)
70
+ zeitwerk (2.6.7)
71
71
 
72
72
  PLATFORMS
73
73
  arm64-darwin-21
74
+ arm64-darwin-22
74
75
  x86_64-linux
75
76
 
76
77
  DEPENDENCIES
@@ -22,11 +22,20 @@ module InferModel
22
22
 
23
23
  param :value
24
24
  option :allow_blank, default: -> { true }
25
+ option :time_zone_offset, default: -> { "+00:00" }
25
26
 
26
27
  def call
27
28
  raise Parsers::Error, "value was blank which is not allowed" if value.nil? && !allow_blank
28
29
  return if value.nil? || value.empty?
29
30
 
31
+ datetime_without_zone = parsed_datetime.iso8601[..-7]
32
+ datetime_with_custom_zone = datetime_without_zone + time_zone_offset
33
+ DateTime.parse(datetime_with_custom_zone)
34
+ end
35
+
36
+ private
37
+
38
+ def parsed_datetime
30
39
  ACCEPTABLE_DATETIME_FORMATS.each do |format|
31
40
  return DateTime.strptime(value, format)
32
41
  rescue Date::Error
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module InferModel
4
- VERSION = "0.1.2"
4
+ VERSION = "0.1.4"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: infer_model
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jay Schneider
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-09-15 00:00:00.000000000 Z
11
+ date: 2023-02-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -201,7 +201,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
201
201
  - !ruby/object:Gem::Version
202
202
  version: '0'
203
203
  requirements: []
204
- rubygems_version: 3.3.7
204
+ rubygems_version: 3.4.6
205
205
  signing_key:
206
206
  specification_version: 4
207
207
  summary: Infer data types from external sources to create a rails model for example