avromatic 2.4.0 → 3.0.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: a7401c0e72992925f02234f5d3d2ab8e762a36bc62aa25c631569d6f4d9918d2
4
- data.tar.gz: f2121b2a62bf60893ea0eb143ed83a142ea069d07839fb8121d0618483b469d5
3
+ metadata.gz: d90a142c407a453ef9007373f215d8acd137937e54b46aa2c29e8edcf8440aef
4
+ data.tar.gz: c8eecbb9860859346d9a67e3e2a78a2e38447bdff4d4fb9208f57bcf89940215
5
5
  SHA512:
6
- metadata.gz: 42be85747686fca4ec66d6e178f7e5aab6d9e9ab88cd4d107ed1c5de8a83017f083a510889ced33a2eb284f45865b3c32b3a9edad200011aed5b17c284f3a593
7
- data.tar.gz: be13122bca8693d33e20d1317ae5cd88d8c1c975c08d94ed522d0330d70f202bc43d79d7f2941032bc7540ad83b2d647d3c7d29bb5b72c03a560dfedb85e62f7
6
+ metadata.gz: 77b078294c887e298e4ede5f1f47cfccaccffd0b065ad1d4bad9820d2af8c77e522462282d1d44db35acefaf6fc301ccb7a59dfda844c5ebee297d51792ee912
7
+ data.tar.gz: 8f57c2afee1266f790c031920efb7e1690420e4c6de36d22af3e11361bc5bf7eaabb3eba4e2974a994a7f7509e3db01335c954895c981db4069a8c7828b483de
data/.circleci/config.yml CHANGED
@@ -69,17 +69,21 @@ workflows:
69
69
  matrix:
70
70
  parameters:
71
71
  gemfile:
72
- - "gemfiles/avro1_8_rails5_2.gemfile"
73
72
  - "gemfiles/avro1_9_rails5_2.gemfile"
74
73
  - "gemfiles/avro1_10_rails5_2.gemfile"
75
74
  - "gemfiles/avro1_9_rails6_0.gemfile"
76
75
  - "gemfiles/avro1_10_rails6_0.gemfile"
77
- - "gemfiles/avro_patches_rails5_2.gemfile"
78
- - "gemfiles/avro_patches_rails6_0.gemfile"
79
76
  - "gemfiles/avro1_10_rails6_1.gemfile"
80
77
  - "gemfiles/avro1_9_rails6_1.gemfile"
81
- - "gemfiles/avro_patches_rails6_1.gemfile"
82
78
  ruby-version:
83
79
  - "2.5.8"
84
80
  - "2.6.6"
85
- - "2.7.1"
81
+ - "2.7.2"
82
+ - test:
83
+ matrix:
84
+ parameters:
85
+ gemfile:
86
+ - "gemfiles/avro1_10_rails6_1.gemfile"
87
+ - "gemfiles/avro1_9_rails6_1.gemfile"
88
+ ruby-version:
89
+ - "3.0.0"
data/.gitignore CHANGED
@@ -9,3 +9,6 @@
9
9
  /tmp/
10
10
  /gemfiles/*.lock
11
11
  /log/*
12
+
13
+ *.iml
14
+ .idea
data/.rubocop.yml CHANGED
@@ -2,7 +2,7 @@ inherit_gem:
2
2
  salsify_rubocop: conf/rubocop.yml
3
3
 
4
4
  AllCops:
5
- TargetRubyVersion: 2.4
5
+ TargetRubyVersion: 2.5
6
6
  Exclude:
7
7
  - 'vendor/**/*'
8
8
  - 'gemfiles/vendor/**/*'
data/Appraisals CHANGED
@@ -1,11 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- appraise 'avro1_8-rails5_2' do
4
- gem 'avro', '1.8.2'
5
- gem 'activesupport', '~> 5.2.0'
6
- gem 'activemodel', '~> 5.2.0'
7
- end
8
-
9
3
  appraise 'avro1_9-rails5_2' do
10
4
  gem 'avro', '1.9.2'
11
5
  gem 'activesupport', '~> 5.2.0'
@@ -30,18 +24,6 @@ appraise 'avro1_10-rails6_0' do
30
24
  gem 'activemodel', '~> 6.0.0'
31
25
  end
32
26
 
33
- appraise 'avro-patches-rails5_2' do
34
- gem 'avro-patches', '>= 0.4.1', '< 1.0'
35
- gem 'activesupport', '~> 5.2.0'
36
- gem 'activemodel', '~> 5.2.0'
37
- end
38
-
39
- appraise 'avro-patches-rails6_0' do
40
- gem 'avro-patches', '>= 1.0.0'
41
- gem 'activesupport', '~> 6.0.0'
42
- gem 'activemodel', '~> 6.0.0'
43
- end
44
-
45
27
  appraise 'avro1_9-rails6_1' do
46
28
  gem 'avro', '1.9.2'
47
29
  gem 'activesupport', '~> 6.1.0'
@@ -53,9 +35,3 @@ appraise 'avro1_10-rails6_1' do
53
35
  gem 'activesupport', '~> 6.1.0'
54
36
  gem 'activemodel', '~> 6.1.0'
55
37
  end
56
-
57
- appraise 'avro-patches-rails6_1' do
58
- gem 'avro-patches', '>= 1.0.0'
59
- gem 'activesupport', '~> 6.1.0'
60
- gem 'activemodel', '~> 6.1.0'
61
- end
data/CHANGELOG.md CHANGED
@@ -1,5 +1,12 @@
1
1
  # avromatic changelog
2
2
 
3
+ ## 3.0.0
4
+ - Drop support for Ruby 2.4.
5
+ - Add support for Ruby 3.0.
6
+ - Drop support for Avro < 1.9.
7
+ - Drop support for Rails < 5.2.
8
+ - Fix decoding of unions containing false boolean values.
9
+
3
10
  ## v2.4.0
4
11
  - Ignore the `validate` argument and always validate during serialization. This
5
12
  argument will be removed in Avromatic 3.0.
data/README.md CHANGED
@@ -430,23 +430,6 @@ Validation of required fields is done automatically when serializing a model to
430
430
  explicitly by calling the `valid?` or `invalid?` methods from the
431
431
  [ActiveModel::Validations](https://edgeapi.rubyonrails.org/classes/ActiveModel/Validations.html) interface.
432
432
 
433
- ### Logical Types
434
-
435
- Currently the official Apache Avro Ruby library does not support logical types ([AVRO-1695](https://issues.apache.org/jira/browse/AVRO-1695)).
436
- That feature is in progress and will hopefully be merged soon.
437
-
438
- Avromatic supports logical types as implemented in the [pull request](https://github.com/apache/avro/pull/116) referenced in AVRO-1695.
439
-
440
- Until that change is included in the official library, you can
441
- use the [avro-patches gem](https://github.com/salsify/avro-patches) which includes
442
- the changes from the above pull request.
443
-
444
- To use this gem, reference it in your Gemfile instead of `avro`:
445
-
446
- ```ruby
447
- gem 'avro-patches'
448
- ````
449
-
450
433
  ### RSpec Support
451
434
 
452
435
  This gem also includes an `"avromatic/rspec"` file that can be required to support
data/avromatic.gemspec CHANGED
@@ -20,21 +20,21 @@ Gem::Specification.new do |spec|
20
20
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
21
21
  spec.require_paths = ['lib']
22
22
 
23
- spec.required_ruby_version = '>= 2.4'
23
+ spec.required_ruby_version = '>= 2.5'
24
24
 
25
- spec.add_runtime_dependency 'activemodel', '>= 5.0', '< 6.2'
26
- spec.add_runtime_dependency 'activesupport', '>= 5.0', '< 6.2'
27
- spec.add_runtime_dependency 'avro', '>= 1.7.7', '< 1.11'
28
- spec.add_runtime_dependency 'avro_schema_registry-client', '>= 0.3.0'
25
+ spec.add_runtime_dependency 'activemodel', '>= 5.2', '< 6.2'
26
+ spec.add_runtime_dependency 'activesupport', '>= 5.2', '< 6.2'
27
+ spec.add_runtime_dependency 'avro', '>= 1.9.0', '< 1.11'
28
+ spec.add_runtime_dependency 'avro_schema_registry-client', '>= 0.4.0'
29
29
  spec.add_runtime_dependency 'avro_turf'
30
30
  spec.add_runtime_dependency 'ice_nine'
31
31
 
32
32
  spec.add_development_dependency 'appraisal'
33
33
  spec.add_development_dependency 'avro-builder', '>= 0.12.0'
34
- spec.add_development_dependency 'bundler', '>= 1.11'
34
+ spec.add_development_dependency 'bundler', '~> 2.0'
35
35
  spec.add_development_dependency 'overcommit', '0.35.0'
36
- spec.add_development_dependency 'rake', '~> 10.0'
37
- spec.add_development_dependency 'rspec', '~> 3.0'
36
+ spec.add_development_dependency 'rake', '~> 13.0'
37
+ spec.add_development_dependency 'rspec', '~> 3.8'
38
38
  spec.add_development_dependency 'rspec_junit_formatter'
39
39
  spec.add_development_dependency 'salsify_rubocop', '~> 0.52.1.1'
40
40
  spec.add_development_dependency 'simplecov'
@@ -31,7 +31,7 @@ module Avromatic
31
31
  end
32
32
  end
33
33
 
34
- unless result
34
+ if result.nil?
35
35
  raise ArgumentError.new("Could not coerce '#{input.inspect}' to #{name}")
36
36
  end
37
37
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Avromatic
4
- VERSION = '2.4.0'
4
+ VERSION = '3.0.0'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: avromatic
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.4.0
4
+ version: 3.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Salsify Engineering
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-01-05 00:00:00.000000000 Z
11
+ date: 2021-04-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activemodel
@@ -16,7 +16,7 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: '5.0'
19
+ version: '5.2'
20
20
  - - "<"
21
21
  - !ruby/object:Gem::Version
22
22
  version: '6.2'
@@ -26,7 +26,7 @@ dependencies:
26
26
  requirements:
27
27
  - - ">="
28
28
  - !ruby/object:Gem::Version
29
- version: '5.0'
29
+ version: '5.2'
30
30
  - - "<"
31
31
  - !ruby/object:Gem::Version
32
32
  version: '6.2'
@@ -36,7 +36,7 @@ dependencies:
36
36
  requirements:
37
37
  - - ">="
38
38
  - !ruby/object:Gem::Version
39
- version: '5.0'
39
+ version: '5.2'
40
40
  - - "<"
41
41
  - !ruby/object:Gem::Version
42
42
  version: '6.2'
@@ -46,7 +46,7 @@ dependencies:
46
46
  requirements:
47
47
  - - ">="
48
48
  - !ruby/object:Gem::Version
49
- version: '5.0'
49
+ version: '5.2'
50
50
  - - "<"
51
51
  - !ruby/object:Gem::Version
52
52
  version: '6.2'
@@ -56,7 +56,7 @@ dependencies:
56
56
  requirements:
57
57
  - - ">="
58
58
  - !ruby/object:Gem::Version
59
- version: 1.7.7
59
+ version: 1.9.0
60
60
  - - "<"
61
61
  - !ruby/object:Gem::Version
62
62
  version: '1.11'
@@ -66,7 +66,7 @@ dependencies:
66
66
  requirements:
67
67
  - - ">="
68
68
  - !ruby/object:Gem::Version
69
- version: 1.7.7
69
+ version: 1.9.0
70
70
  - - "<"
71
71
  - !ruby/object:Gem::Version
72
72
  version: '1.11'
@@ -76,14 +76,14 @@ dependencies:
76
76
  requirements:
77
77
  - - ">="
78
78
  - !ruby/object:Gem::Version
79
- version: 0.3.0
79
+ version: 0.4.0
80
80
  type: :runtime
81
81
  prerelease: false
82
82
  version_requirements: !ruby/object:Gem::Requirement
83
83
  requirements:
84
84
  - - ">="
85
85
  - !ruby/object:Gem::Version
86
- version: 0.3.0
86
+ version: 0.4.0
87
87
  - !ruby/object:Gem::Dependency
88
88
  name: avro_turf
89
89
  requirement: !ruby/object:Gem::Requirement
@@ -144,16 +144,16 @@ dependencies:
144
144
  name: bundler
145
145
  requirement: !ruby/object:Gem::Requirement
146
146
  requirements:
147
- - - ">="
147
+ - - "~>"
148
148
  - !ruby/object:Gem::Version
149
- version: '1.11'
149
+ version: '2.0'
150
150
  type: :development
151
151
  prerelease: false
152
152
  version_requirements: !ruby/object:Gem::Requirement
153
153
  requirements:
154
- - - ">="
154
+ - - "~>"
155
155
  - !ruby/object:Gem::Version
156
- version: '1.11'
156
+ version: '2.0'
157
157
  - !ruby/object:Gem::Dependency
158
158
  name: overcommit
159
159
  requirement: !ruby/object:Gem::Requirement
@@ -174,28 +174,28 @@ dependencies:
174
174
  requirements:
175
175
  - - "~>"
176
176
  - !ruby/object:Gem::Version
177
- version: '10.0'
177
+ version: '13.0'
178
178
  type: :development
179
179
  prerelease: false
180
180
  version_requirements: !ruby/object:Gem::Requirement
181
181
  requirements:
182
182
  - - "~>"
183
183
  - !ruby/object:Gem::Version
184
- version: '10.0'
184
+ version: '13.0'
185
185
  - !ruby/object:Gem::Dependency
186
186
  name: rspec
187
187
  requirement: !ruby/object:Gem::Requirement
188
188
  requirements:
189
189
  - - "~>"
190
190
  - !ruby/object:Gem::Version
191
- version: '3.0'
191
+ version: '3.8'
192
192
  type: :development
193
193
  prerelease: false
194
194
  version_requirements: !ruby/object:Gem::Requirement
195
195
  requirements:
196
196
  - - "~>"
197
197
  - !ruby/object:Gem::Version
198
- version: '3.0'
198
+ version: '3.8'
199
199
  - !ruby/object:Gem::Dependency
200
200
  name: rspec_junit_formatter
201
201
  requirement: !ruby/object:Gem::Requirement
@@ -293,13 +293,9 @@ files:
293
293
  - gemfiles/avro1_10_rails5_2.gemfile
294
294
  - gemfiles/avro1_10_rails6_0.gemfile
295
295
  - gemfiles/avro1_10_rails6_1.gemfile
296
- - gemfiles/avro1_8_rails5_2.gemfile
297
296
  - gemfiles/avro1_9_rails5_2.gemfile
298
297
  - gemfiles/avro1_9_rails6_0.gemfile
299
298
  - gemfiles/avro1_9_rails6_1.gemfile
300
- - gemfiles/avro_patches_rails5_2.gemfile
301
- - gemfiles/avro_patches_rails6_0.gemfile
302
- - gemfiles/avro_patches_rails6_1.gemfile
303
299
  - lib/avromatic.rb
304
300
  - lib/avromatic/io.rb
305
301
  - lib/avromatic/io/datum_reader.rb
@@ -350,7 +346,7 @@ homepage: https://github.com/salsify/avromatic.git
350
346
  licenses:
351
347
  - MIT
352
348
  metadata: {}
353
- post_install_message:
349
+ post_install_message:
354
350
  rdoc_options: []
355
351
  require_paths:
356
352
  - lib
@@ -358,15 +354,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
358
354
  requirements:
359
355
  - - ">="
360
356
  - !ruby/object:Gem::Version
361
- version: '2.4'
357
+ version: '2.5'
362
358
  required_rubygems_version: !ruby/object:Gem::Requirement
363
359
  requirements:
364
360
  - - ">="
365
361
  - !ruby/object:Gem::Version
366
362
  version: '0'
367
363
  requirements: []
368
- rubygems_version: 3.0.8
369
- signing_key:
364
+ rubygems_version: 3.0.3.1
365
+ signing_key:
370
366
  specification_version: 4
371
367
  summary: Generate Ruby models from Avro schemas
372
368
  test_files: []
@@ -1,9 +0,0 @@
1
- # This file was generated by Appraisal
2
-
3
- source "https://rubygems.org"
4
-
5
- gem "avro", "1.8.2"
6
- gem "activesupport", "~> 5.2.0"
7
- gem "activemodel", "~> 5.2.0"
8
-
9
- gemspec path: "../"
@@ -1,9 +0,0 @@
1
- # This file was generated by Appraisal
2
-
3
- source "https://rubygems.org"
4
-
5
- gem "avro-patches", ">= 0.4.1", "< 1.0"
6
- gem "activesupport", "~> 5.2.0"
7
- gem "activemodel", "~> 5.2.0"
8
-
9
- gemspec path: "../"
@@ -1,9 +0,0 @@
1
- # This file was generated by Appraisal
2
-
3
- source "https://rubygems.org"
4
-
5
- gem "avro-patches", ">= 1.0.0"
6
- gem "activesupport", "~> 6.0.0"
7
- gem "activemodel", "~> 6.0.0"
8
-
9
- gemspec path: "../"
@@ -1,9 +0,0 @@
1
- # This file was generated by Appraisal
2
-
3
- source "https://rubygems.org"
4
-
5
- gem "avro-patches", ">= 1.0.0"
6
- gem "activesupport", "~> 6.1.0"
7
- gem "activemodel", "~> 6.1.0"
8
-
9
- gemspec path: "../"