avromatic 0.17.1 → 0.18.0.rc0

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
  SHA1:
3
- metadata.gz: 5550bf0cf07c7178fee41695fa332666e06cb471
4
- data.tar.gz: f687dd44e2950b2fd0f05417e0cead775eb77f85
3
+ metadata.gz: 87f9dfc66765f2cd2bc52b7391214bbbe4d988fb
4
+ data.tar.gz: 69c50be9646eb962b03e47173dc6ac982d4f13cf
5
5
  SHA512:
6
- metadata.gz: b3cc9796157abbde88c9c1c54ee6b158da087ea64b41a8da156b00bf6fc697247358046bdf53f9b8665aa7b751f171fed3d07bf92b38a4a5e77b9fb5001445c7
7
- data.tar.gz: 65d6c900a70efed3309935966e0618f986850ea94c42b381e3fb8410410d0edf8369c308eb99a8d8e0219b46b3e0cd742a7fc55a15a156123e569ab0f4312267
6
+ metadata.gz: 7cc691fbf191c7b416f6921b3c1f71e2803a773c8c92c4b54f07602557511bd98ff18de01fdcb60bc3c9a2e0b3739ae69de13d164a20a9f2d97d8b5360cb693b
7
+ data.tar.gz: f05dc0e9eada3a419eb6e836bec0ea77d9c65bc0896699fd664c92cf44b95fe76471d045a62fb2d0afc809d7728d64e6c9d3a2d247266cb83deb277c7383c1a4
data/CHANGELOG.md CHANGED
@@ -1,5 +1,9 @@
1
1
  # avromatic changelog
2
2
 
3
+ ## v0.18.0
4
+ - Compatibility with `avro_turf` v0.8.0. `avromatic/test/fake_schema_registry_server`
5
+ is now deprecated in favor of `avromatic/test/fake_confluent_schema_registry_server`.
6
+
3
7
  ## v0.17.1
4
8
  - Correctly namespace Avro errors raised by `Avromatic::IO::DatumReader`.
5
9
 
data/README.md CHANGED
@@ -60,7 +60,7 @@ The configuration options below are required when using a schema registry
60
60
  (see [Confluent Schema Registry](http://docs.confluent.io/2.0.1/schema-registry/docs/intro.html))
61
61
  and the [Messaging API](#messaging-api).
62
62
 
63
- * **schema_registry**: An `AvroTurf::SchemaRegistry` object used to store Avro schemas
63
+ * **schema_registry**: An `AvroTurf::ConfluentSchemaRegistry` object used to store Avro schemas
64
64
  so that they can be referenced by id. Either `schema_registry` or
65
65
  `registry_url` must be configured.
66
66
  * **registry_url**: URL for the schema registry. Either `schema_registry` or
data/avromatic.gemspec CHANGED
@@ -23,7 +23,7 @@ Gem::Specification.new do |spec|
23
23
  spec.add_runtime_dependency 'virtus'
24
24
  spec.add_runtime_dependency 'activesupport'
25
25
  spec.add_runtime_dependency 'activemodel'
26
- spec.add_runtime_dependency 'avro_turf', '>= 0.7.0'
26
+ spec.add_runtime_dependency 'avro_turf', '>= 0.8.0'
27
27
 
28
28
  spec.add_development_dependency 'bundler', '~> 1.11'
29
29
  spec.add_development_dependency 'rake', '~> 10.0'
@@ -35,7 +35,7 @@ module Avromatic
35
35
  delegate :model_key, to: :class
36
36
 
37
37
  # @param *models [generated models] Models to register for decoding.
38
- # @param schema_registry [Avromatic::SchemaRegistryClient] Optional schema
38
+ # @param schema_registry [AvroTurf::ConfluentSchemaRegistry] Optional schema
39
39
  # registry client.
40
40
  # @param registry_url [String] Optional URL for schema registry server.
41
41
  def initialize(*models, schema_registry: nil, registry_url: nil)
@@ -43,7 +43,7 @@ module Avromatic
43
43
  @schema_names_by_id = {}
44
44
  @schema_registry = schema_registry ||
45
45
  Avromatic.schema_registry ||
46
- (registry_url && AvroTurf::SchemaRegistry.new(registry_url, logger: Avromatic.logger)) ||
46
+ (registry_url && AvroTurf::ConfluentSchemaRegistry.new(registry_url, logger: Avromatic.logger)) ||
47
47
  Avromatic.build_schema_registry
48
48
  end
49
49
 
@@ -3,7 +3,7 @@ require 'avromatic/test/fake_schema_registry_server'
3
3
 
4
4
  RSpec.configure do |config|
5
5
  config.before(:each) do
6
- WebMock.stub_request(:any, /^#{Avromatic.registry_url}/).to_rack(FakeSchemaRegistryServer)
7
- FakeSchemaRegistryServer.clear
6
+ WebMock.stub_request(:any, /^#{Avromatic.registry_url}/).to_rack(FakeConfluentSchemaRegistryServer)
7
+ FakeConfluentSchemaRegistryServer.clear
8
8
  end
9
9
  end
@@ -1,5 +1,5 @@
1
1
  require 'avro_turf'
2
- require 'avro_turf/schema_registry'
2
+ require 'avro_turf/confluent_schema_registry'
3
3
 
4
4
  module Avromatic
5
5
  module CacheableSchemaRegistration
@@ -32,4 +32,4 @@ module Avromatic
32
32
  end
33
33
  end
34
34
 
35
- AvroTurf::SchemaRegistry.prepend(Avromatic::CacheableSchemaRegistration)
35
+ AvroTurf::ConfluentSchemaRegistry.prepend(Avromatic::CacheableSchemaRegistration)
@@ -0,0 +1,24 @@
1
+ require 'avro_turf/test/fake_confluent_schema_registry_server'
2
+
3
+ # Add support for endpoint to lookup subject schema id by fingerprint.
4
+ FakeConfluentSchemaRegistryServer.class_eval do
5
+ SCHEMA_NOT_FOUND = FakeConfluentSchemaRegistryServer::SCHEMA_NOT_FOUND
6
+ SCHEMAS = FakeConfluentSchemaRegistryServer::SCHEMAS
7
+ SUBJECTS = FakeConfluentSchemaRegistryServer::SUBJECTS
8
+
9
+ get '/subjects/:subject/fingerprints/:fingerprint' do
10
+ subject = params[:subject]
11
+ halt(404, SCHEMA_NOT_FOUND) unless SUBJECTS.key?(subject)
12
+
13
+ fingerprint = params[:fingerprint]
14
+ fingerprint = fingerprint.to_i.to_s(16) if /^\d+$/ =~ fingerprint
15
+
16
+ schema_id = SCHEMAS.find_index do |schema|
17
+ Avro::Schema.parse(schema).sha256_fingerprint.to_s(16) == fingerprint
18
+ end
19
+
20
+ halt(404, SCHEMA_NOT_FOUND) unless schema_id && SUBJECTS[subject].include?(schema_id)
21
+
22
+ { id: schema_id }.to_json
23
+ end
24
+ end
@@ -1,24 +1,6 @@
1
+ require 'avromatic/test/fake_confluent_schema_registry_server'
1
2
  require 'avro_turf/test/fake_schema_registry_server'
2
3
 
3
- # Add support for endpoint to lookup subject schema id by fingerprint.
4
- FakeSchemaRegistryServer.class_eval do
5
- SCHEMA_NOT_FOUND = FakeSchemaRegistryServer::SCHEMA_NOT_FOUND
6
- SCHEMAS = FakeSchemaRegistryServer::SCHEMAS
7
- SUBJECTS = FakeSchemaRegistryServer::SUBJECTS
8
-
9
- get '/subjects/:subject/fingerprints/:fingerprint' do
10
- subject = params[:subject]
11
- halt(404, SCHEMA_NOT_FOUND) unless SUBJECTS.key?(subject)
12
-
13
- fingerprint = params[:fingerprint]
14
- fingerprint = fingerprint.to_i.to_s(16) if /^\d+$/ =~ fingerprint
15
-
16
- schema_id = SCHEMAS.find_index do |schema|
17
- Avro::Schema.parse(schema).sha256_fingerprint.to_s(16) == fingerprint
18
- end
19
-
20
- halt(404, SCHEMA_NOT_FOUND) unless schema_id && SUBJECTS[subject].include?(schema_id)
21
-
22
- { id: schema_id }.to_json
23
- end
24
- end
4
+ # This file is for back compatibility. The class has been renamed
5
+ # FakeConfluentSchemaRegistryServer, but avro_turf defines an alias for the
6
+ # old name, so we alias the require for now.
@@ -1,3 +1,3 @@
1
1
  module Avromatic
2
- VERSION = '0.17.1'.freeze
2
+ VERSION = '0.18.0.rc0'.freeze
3
3
  end
data/lib/avromatic.rb CHANGED
@@ -27,8 +27,8 @@ module Avromatic
27
27
 
28
28
  def self.build_schema_registry
29
29
  raise 'Avromatic must be configured with a registry_url' unless registry_url
30
- AvroTurf::CachedSchemaRegistry.new(
31
- AvroTurf::SchemaRegistry.new(registry_url, logger: logger)
30
+ AvroTurf::CachedConfluentSchemaRegistry.new(
31
+ AvroTurf::ConfluentSchemaRegistry.new(registry_url, logger: logger)
32
32
  )
33
33
  end
34
34
 
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: 0.17.1
4
+ version: 0.18.0.rc0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Salsify Engineering
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-02-17 00:00:00.000000000 Z
11
+ date: 2017-03-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: avro
@@ -72,14 +72,14 @@ dependencies:
72
72
  requirements:
73
73
  - - ">="
74
74
  - !ruby/object:Gem::Version
75
- version: 0.7.0
75
+ version: 0.8.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: 0.7.0
82
+ version: 0.8.0
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: bundler
85
85
  requirement: !ruby/object:Gem::Requirement
@@ -273,6 +273,7 @@ files:
273
273
  - lib/avromatic/railtie.rb
274
274
  - lib/avromatic/rspec.rb
275
275
  - lib/avromatic/schema_registry_patch.rb
276
+ - lib/avromatic/test/fake_confluent_schema_registry_server.rb
276
277
  - lib/avromatic/test/fake_schema_registry_server.rb
277
278
  - lib/avromatic/version.rb
278
279
  - log/.gitkeep
@@ -291,9 +292,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
291
292
  version: '0'
292
293
  required_rubygems_version: !ruby/object:Gem::Requirement
293
294
  requirements:
294
- - - ">="
295
+ - - ">"
295
296
  - !ruby/object:Gem::Version
296
- version: '0'
297
+ version: 1.3.1
297
298
  requirements: []
298
299
  rubyforge_project:
299
300
  rubygems_version: 2.6.10