avro-patches 0.4.1 → 1.0.0.pre0

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: 109a268a05fcd52d0d049da87d7df92db395abc7df29cfef3391077101b11219
4
- data.tar.gz: 61f5af08f76002e30ec70f8847733b538b115eb1110898fb7b548e938e5f0998
3
+ metadata.gz: e1818ee748fd5ee8c17e74d141bcfc9dc29c195762e3e05e10a475a609528c9c
4
+ data.tar.gz: 2d5ad54b308815f87dc0d2ac05d238926f14ecfd081f2dc5ef3aecf7cdefa4b4
5
5
  SHA512:
6
- metadata.gz: 93640a4b5bbf69dafdd509edf636f80ced9bc03d9c2543b95152b8a25c1dfb1e035feefa89250f96367746c3744cf66229f229402c5697e9565addc1ca097009
7
- data.tar.gz: ddcb35507cdc65d87fd7bf6ee03a0d35ad611a498643b0ef037f7c50e8d1aeca0e188e021d7753c1b7dda2277dc749e27b95098cbe006c8717a155600c845c66
6
+ metadata.gz: b07ce6b1231d84258d3e88d7342bd76ea0b28244de5805f9e75cad6ade35c4b46f6c445899bb180766bd66c59d3fa0cb27c8c79281b3d1176dc105fd5df4bfa6
7
+ data.tar.gz: 430350d55b3096351c7a6b00fd45682476d574585ce2184319496c7206ece97a2b5ade02d4422597b27700c6c84370f30fd7b978b1b1a0e804daaf840a5c2eb5
@@ -1,7 +1,8 @@
1
1
  # avro-patches
2
2
 
3
- ## v0.4.1
4
- - Optimize binary encoder and decoder.
3
+ ## v1.0.0
4
+ - Release for Avro v1.9.0. This removes all patches as all changes
5
+ from the previous release are included in Avro v1.9.0.
5
6
 
6
7
  ## v0.4.0
7
8
  - Optionally fail validation when extra fields are present.
data/README.md CHANGED
@@ -13,7 +13,6 @@ The following pending or unreleased changes are included:
13
13
  - [AVRO-2039: Ruby encoding performance improvements](https://github.com/apache/avro/pull/230)
14
14
  - [AVRO-2200: Option to fail when extra fields are in the payload](https://github.com/apache/avro/pull/321)
15
15
  - [AVRO-2199: Validate that field defaults have the correct type](https://github.com/apache/avro/pull/320)
16
- - [AVRO-2281: Optimize ruby binary encoder/decoder](https://github.com/apache/avro/pull/401)
17
16
 
18
17
  In addition, compatibility with Ruby 2.4 (https://github.com/apache/avro/pull/191)
19
18
  has been integrated with the changes above.
@@ -31,5 +31,5 @@ Gem::Specification.new do |spec|
31
31
  spec.add_development_dependency 'test-unit'
32
32
  spec.add_development_dependency 'overcommit'
33
33
 
34
- spec.add_runtime_dependency 'avro', '1.8.2'
34
+ spec.add_runtime_dependency 'avro', '1.9.0'
35
35
  end
@@ -1,42 +1,3 @@
1
1
  require 'avro-patches/version'
2
2
 
3
- # Calling require 'avro' leads to deprecation notices because requiring
4
- # 'avro/ipc' calls methods that this gem patches.
5
- #
6
- # Replicate the require statements from avro.rb so that we can insert
7
- # patches into the load order:
8
-
9
- require 'multi_json'
10
- require 'set'
11
- require 'digest/md5'
12
- require 'net/http'
13
- require 'stringio'
14
- require 'zlib'
15
-
16
- module Avro
17
- class AvroError < StandardError; end
18
-
19
- class AvroTypeError < Avro::AvroError
20
- def initialize(schm=nil, datum=nil, msg=nil)
21
- msg ||= "Not a #{schm.to_s}: #{datum}"
22
- super(msg)
23
- end
24
- end
25
- end
26
-
27
- require 'avro/schema'
28
- require 'avro/io'
29
- require 'avro/schema_normalization'
30
-
31
- # insert avro-patches
32
- require 'avro-patches/ensure_encoding'
33
- require 'avro-patches/schema_validator'
34
- require 'avro-patches/logical_types'
35
- require 'avro-patches/schema_compatibility'
36
- require 'avro-patches/default_validation'
37
- require 'avro-patches/optimized_serde'
38
-
39
- # Remaining requires from the official avro gem
40
- require 'avro/data_file'
41
- require 'avro/protocol'
42
- require 'avro/ipc'
3
+ require 'avro'
@@ -1,3 +1,3 @@
1
1
  module AvroPatches
2
- VERSION = '0.4.1'.freeze
2
+ VERSION = '1.0.0.pre0'.freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: avro-patches
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.1
4
+ version: 1.0.0.pre0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Salsify, Inc
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-12-06 00:00:00.000000000 Z
11
+ date: 2019-04-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -72,14 +72,14 @@ dependencies:
72
72
  requirements:
73
73
  - - '='
74
74
  - !ruby/object:Gem::Version
75
- version: 1.8.2
75
+ version: 1.9.0
76
76
  type: :runtime
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - '='
81
81
  - !ruby/object:Gem::Version
82
- version: 1.8.2
82
+ version: 1.9.0
83
83
  description: Patches for the official Apache Avro Ruby implementation
84
84
  email:
85
85
  - engineering@salsify.com
@@ -109,7 +109,6 @@ files:
109
109
  - lib/avro-patches/logical_types/logical_types.rb
110
110
  - lib/avro-patches/logical_types/schema.rb
111
111
  - lib/avro-patches/logical_types/schema_validator.rb
112
- - lib/avro-patches/optimized_serde.rb
113
112
  - lib/avro-patches/schema_compatibility.rb
114
113
  - lib/avro-patches/schema_compatibility/io.rb
115
114
  - lib/avro-patches/schema_compatibility/schema.rb
@@ -136,12 +135,11 @@ required_ruby_version: !ruby/object:Gem::Requirement
136
135
  version: '0'
137
136
  required_rubygems_version: !ruby/object:Gem::Requirement
138
137
  requirements:
139
- - - ">="
138
+ - - ">"
140
139
  - !ruby/object:Gem::Version
141
- version: '0'
140
+ version: 1.3.1
142
141
  requirements: []
143
- rubyforge_project:
144
- rubygems_version: 2.7.7
142
+ rubygems_version: 3.0.3
145
143
  signing_key:
146
144
  specification_version: 4
147
145
  summary: Patches for the official Apache Avro Ruby implementation
@@ -1,53 +0,0 @@
1
- Avro::IO::BinaryDecoder.class_eval do
2
-
3
- def byte!
4
- @reader.readbyte
5
- end
6
-
7
- def read_float
8
- read_and_unpack(4, 'e'.freeze)
9
- end
10
-
11
- def read_double
12
- read_and_unpack(8, 'E'.freeze)
13
- end
14
-
15
- def read_string
16
- read_bytes.tap do |string|
17
- string.force_encoding('utf-8'.freeze) if string.respond_to?(:force_encoding)
18
- end
19
- end
20
-
21
- private
22
-
23
- # Optimize unpacking strings when `unpack1` is available (ruby >= 2.4)
24
- if String.instance_methods.include?(:unpack1)
25
-
26
- def read_and_unpack(byte_count, format)
27
- @reader.read(byte_count).unpack1(format)
28
- end
29
-
30
- else
31
-
32
- def read_and_unpack(byte_count, format)
33
- @reader.read(byte_count).unpack(format)[0]
34
- end
35
-
36
- end
37
- end
38
-
39
- Avro::IO::BinaryEncoder.class_eval do
40
-
41
- def write_float(datum)
42
- @writer.write([datum].pack('e'.freeze))
43
- end
44
-
45
- def write_double(datum)
46
- @writer.write([datum].pack('E'.freeze))
47
- end
48
-
49
- def write_string(datum)
50
- datum = datum.encode('utf-8'.freeze) if datum.respond_to?(:encode)
51
- write_bytes(datum)
52
- end
53
- end