avro_turf 1.19.0 → 1.20.0

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.
Files changed (58) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ruby.yml +20 -11
  3. data/CHANGELOG.md +6 -0
  4. data/Gemfile +5 -2
  5. data/Rakefile +2 -1
  6. data/avro_turf.gemspec +16 -16
  7. data/lib/avro_turf/cached_confluent_schema_registry.rb +9 -8
  8. data/lib/avro_turf/cached_schema_registry.rb +3 -1
  9. data/lib/avro_turf/confluent_schema_registry.rb +23 -17
  10. data/lib/avro_turf/core_ext/date.rb +2 -0
  11. data/lib/avro_turf/core_ext/enumerable.rb +2 -0
  12. data/lib/avro_turf/core_ext/false_class.rb +2 -0
  13. data/lib/avro_turf/core_ext/hash.rb +4 -2
  14. data/lib/avro_turf/core_ext/nil_class.rb +2 -0
  15. data/lib/avro_turf/core_ext/numeric.rb +2 -0
  16. data/lib/avro_turf/core_ext/string.rb +2 -0
  17. data/lib/avro_turf/core_ext/symbol.rb +2 -0
  18. data/lib/avro_turf/core_ext/time.rb +2 -0
  19. data/lib/avro_turf/core_ext/true_class.rb +2 -0
  20. data/lib/avro_turf/core_ext.rb +12 -10
  21. data/lib/avro_turf/disk_cache.rb +13 -12
  22. data/lib/avro_turf/in_memory_cache.rb +2 -0
  23. data/lib/avro_turf/messaging.rb +22 -14
  24. data/lib/avro_turf/mutable_schema_store.rb +25 -4
  25. data/lib/avro_turf/schema_registry.rb +3 -1
  26. data/lib/avro_turf/schema_store.rb +3 -2
  27. data/lib/avro_turf/schema_to_avro_patch.rb +14 -12
  28. data/lib/avro_turf/test/fake_confluent_schema_registry_server.rb +24 -23
  29. data/lib/avro_turf/test/fake_prefixed_confluent_schema_registry_server.rb +12 -10
  30. data/lib/avro_turf/test/fake_schema_registry_server.rb +3 -1
  31. data/lib/avro_turf/version.rb +3 -1
  32. data/lib/avro_turf.rb +15 -13
  33. data/perf/encoding_size.rb +4 -2
  34. data/perf/encoding_speed.rb +4 -2
  35. data/spec/avro_turf_spec.rb +24 -23
  36. data/spec/cached_confluent_schema_registry_spec.rb +9 -7
  37. data/spec/confluent_schema_registry_spec.rb +31 -10
  38. data/spec/core_ext/date_spec.rb +2 -0
  39. data/spec/core_ext/enumerable_spec.rb +2 -0
  40. data/spec/core_ext/false_class_spec.rb +2 -0
  41. data/spec/core_ext/hash_spec.rb +3 -1
  42. data/spec/core_ext/nil_class_spec.rb +2 -0
  43. data/spec/core_ext/numeric_spec.rb +2 -0
  44. data/spec/core_ext/string_spec.rb +2 -0
  45. data/spec/core_ext/symbol_spec.rb +2 -0
  46. data/spec/core_ext/time_spec.rb +2 -0
  47. data/spec/core_ext/true_class_spec.rb +2 -0
  48. data/spec/disk_cached_confluent_schema_registry_spec.rb +23 -21
  49. data/spec/messaging_spec.rb +124 -99
  50. data/spec/mutable_schema_store_spec.rb +134 -0
  51. data/spec/schema_store_spec.rb +23 -21
  52. data/spec/schema_to_avro_patch_spec.rb +8 -7
  53. data/spec/spec_helper.rb +9 -9
  54. data/spec/support/authorized_fake_confluent_schema_registry_server.rb +4 -2
  55. data/spec/support/authorized_fake_prefixed_confluent_schema_registry_server.rb +4 -2
  56. data/spec/support/confluent_schema_registry_context.rb +32 -30
  57. data/spec/test/fake_confluent_schema_registry_server_spec.rb +97 -94
  58. metadata +5 -26
@@ -1,175 +1,178 @@
1
- require 'rack/test'
1
+ # frozen_string_literal: true
2
+
3
+ require "rack/test"
2
4
 
3
5
  describe FakeConfluentSchemaRegistryServer do
4
6
  include Rack::Test::Methods
5
7
 
6
- def app; AuthorizedFakeConfluentSchemaRegistryServer; end
8
+ def app
9
+ AuthorizedFakeConfluentSchemaRegistryServer
10
+ end
7
11
 
8
- describe 'POST /subjects/:subject/versions' do
9
- it 'returns the same schema ID when invoked with same schema and same subject' do
10
- post '/subjects/person/versions', { schema: schema(name: "person") }.to_json, 'CONTENT_TYPE' => 'application/vnd.schemaregistry+json'
12
+ describe "POST /subjects/:subject/versions" do
13
+ it "returns the same schema ID when invoked with same schema and same subject" do
14
+ post "/subjects/person/versions", {schema: schema(name: "person")}.to_json, "CONTENT_TYPE" => "application/vnd.schemaregistry+json"
11
15
 
12
- expected_id = JSON.parse(last_response.body).fetch('id')
16
+ expected_id = JSON.parse(last_response.body).fetch("id")
13
17
 
14
- post '/subjects/person/versions', { schema: schema(name: "person") }.to_json, 'CONTENT_TYPE' => 'application/vnd.schemaregistry+json'
18
+ post "/subjects/person/versions", {schema: schema(name: "person")}.to_json, "CONTENT_TYPE" => "application/vnd.schemaregistry+json"
15
19
 
16
- expect(JSON.parse(last_response.body).fetch('id')).to eq expected_id
20
+ expect(JSON.parse(last_response.body).fetch("id")).to eq expected_id
17
21
  end
18
22
 
19
- it 'returns the same schema ID when invoked with same schema and different subject' do
20
- post '/subjects/person/versions', { schema: schema(name: "person") }.to_json, 'CONTENT_TYPE' => 'application/vnd.schemaregistry+json'
23
+ it "returns the same schema ID when invoked with same schema and different subject" do
24
+ post "/subjects/person/versions", {schema: schema(name: "person")}.to_json, "CONTENT_TYPE" => "application/vnd.schemaregistry+json"
21
25
 
22
- original_id = JSON.parse(last_response.body).fetch('id')
26
+ original_id = JSON.parse(last_response.body).fetch("id")
23
27
 
24
- post '/subjects/happy-person/versions', { schema: schema(name: "person") }.to_json, 'CONTENT_TYPE' => 'application/vnd.schemaregistry+json'
28
+ post "/subjects/happy-person/versions", {schema: schema(name: "person")}.to_json, "CONTENT_TYPE" => "application/vnd.schemaregistry+json"
25
29
 
26
- expect(JSON.parse(last_response.body).fetch('id')).to eq original_id
30
+ expect(JSON.parse(last_response.body).fetch("id")).to eq original_id
27
31
  end
28
32
 
29
- it 'returns a different schema ID when invoked with a different schema' do
30
- post '/subjects/person/versions', { schema: schema(name: "person") }.to_json, 'CONTENT_TYPE' => 'application/vnd.schemaregistry+json'
33
+ it "returns a different schema ID when invoked with a different schema" do
34
+ post "/subjects/person/versions", {schema: schema(name: "person")}.to_json, "CONTENT_TYPE" => "application/vnd.schemaregistry+json"
31
35
 
32
- original_id = JSON.parse(last_response.body).fetch('id')
36
+ original_id = JSON.parse(last_response.body).fetch("id")
33
37
 
34
- post '/subjects/person/versions', { schema: schema(name: "other") }.to_json, 'CONTENT_TYPE' => 'application/vnd.schemaregistry+json'
38
+ post "/subjects/person/versions", {schema: schema(name: "other")}.to_json, "CONTENT_TYPE" => "application/vnd.schemaregistry+json"
35
39
 
36
- expect(JSON.parse(last_response.body).fetch('id')).to_not eq original_id
40
+ expect(JSON.parse(last_response.body).fetch("id")).to_not eq original_id
37
41
  end
38
42
 
39
- context 'with a clean registry' do
43
+ context "with a clean registry" do
40
44
  before do
41
45
  FakeConfluentSchemaRegistryServer.clear
42
46
  end
43
47
 
44
- it 'assigns same schema id for different schemas in different contexts' do
45
- post '/subjects/:.context1:cats/versions', { schema: schema(name: 'name1') }.to_json, 'CONTENT_TYPE' => 'application/vnd.schemaregistry+json'
46
- schema1_id = JSON.parse(last_response.body).fetch('id') # Original cats schema
48
+ it "assigns same schema id for different schemas in different contexts" do
49
+ post "/subjects/:.context1:cats/versions", {schema: schema(name: "name1")}.to_json, "CONTENT_TYPE" => "application/vnd.schemaregistry+json"
50
+ schema1_id = JSON.parse(last_response.body).fetch("id") # Original cats schema
47
51
 
48
- post '/subjects/:.context2:dogs/versions', { schema: schema(name: 'name2') }.to_json, 'CONTENT_TYPE' => 'application/vnd.schemaregistry+json'
49
- schema2_id = JSON.parse(last_response.body).fetch('id') # Original cats schema
52
+ post "/subjects/:.context2:dogs/versions", {schema: schema(name: "name2")}.to_json, "CONTENT_TYPE" => "application/vnd.schemaregistry+json"
53
+ schema2_id = JSON.parse(last_response.body).fetch("id") # Original cats schema
50
54
 
51
55
  expect(schema1_id).to eq(schema2_id)
52
56
  end
53
57
  end
54
58
  end
55
59
 
56
- describe 'GET /schemas/ids/:id/versions' do
57
-
60
+ describe "GET /schemas/ids/:id/versions" do
58
61
  it "returns array containing subjects and versions for given schema id" do
59
62
  schema1 = schema(name: "name1")
60
63
  schema2 = schema(name: "name2")
61
64
 
62
- post "/subjects/cats/versions", { schema: schema1 }.to_json, 'CONTENT_TYPE' => 'application/vnd.schemaregistry+json'
63
- schema1_id = JSON.parse(last_response.body).fetch('id') # Original cats schema
65
+ post "/subjects/cats/versions", {schema: schema1}.to_json, "CONTENT_TYPE" => "application/vnd.schemaregistry+json"
66
+ schema1_id = JSON.parse(last_response.body).fetch("id") # Original cats schema
64
67
 
65
- post "/subjects/dogs/versions", { schema: schema2 }.to_json, 'CONTENT_TYPE' => 'application/vnd.schemaregistry+json'
66
- post "/subjects/cats/versions", { schema: schema2 }.to_json, 'CONTENT_TYPE' => 'application/vnd.schemaregistry+json'
67
- schema2_id = JSON.parse(last_response.body).fetch('id') # Changed cats schema == Original Dogs schema
68
+ post "/subjects/dogs/versions", {schema: schema2}.to_json, "CONTENT_TYPE" => "application/vnd.schemaregistry+json"
69
+ post "/subjects/cats/versions", {schema: schema2}.to_json, "CONTENT_TYPE" => "application/vnd.schemaregistry+json"
70
+ schema2_id = JSON.parse(last_response.body).fetch("id") # Changed cats schema == Original Dogs schema
68
71
 
69
72
  get "/schemas/ids/#{schema1_id}/versions"
70
73
  result = JSON.parse(last_response.body)
71
74
 
72
75
  expect(result).to eq [{
73
- 'subject' => 'cats',
74
- 'version' => 1
76
+ "subject" => "cats",
77
+ "version" => 1
75
78
  }]
76
79
 
77
80
  get "/schemas/ids/#{schema2_id}/versions"
78
81
  result = JSON.parse(last_response.body)
79
82
 
80
- expect(result).to include( {
81
- 'subject' => 'cats',
82
- 'version' => 2
83
+ expect(result).to include({
84
+ "subject" => "cats",
85
+ "version" => 2
83
86
  }, {
84
- 'subject' => 'dogs',
85
- 'version' => 1
87
+ "subject" => "dogs",
88
+ "version" => 1
86
89
  })
87
90
  end
88
91
 
89
- describe 'schema registry contexts' do
90
- it 'allows different schemas to have same schema version', :aggregate_failures do
91
- petSchema = schema(name: 'pet_cat')
92
- animalSchema = schema(name: 'animal_cat')
92
+ describe "schema registry contexts" do
93
+ it "allows different schemas to have same schema version", :aggregate_failures do
94
+ pet_schema = schema(name: "pet_cat")
95
+ animal_schema = schema(name: "animal_cat")
93
96
 
94
- post '/subjects/:.pets:cats/versions', { schema: petSchema }.to_json, 'CONTENT_TYPE' => 'application/vnd.schemaregistry+json'
95
- pet_id = JSON.parse(last_response.body).fetch('id') # Context1 cats schema
97
+ post "/subjects/:.pets:cats/versions", {schema: pet_schema}.to_json, "CONTENT_TYPE" => "application/vnd.schemaregistry+json"
98
+ pet_id = JSON.parse(last_response.body).fetch("id") # Context1 cats schema
96
99
 
97
- post '/subjects/:.animals:cats/versions', { schema: animalSchema }.to_json, 'CONTENT_TYPE' => 'application/vnd.schemaregistry+json'
98
- animal_id = JSON.parse(last_response.body).fetch('id') # Context2 cats schema
100
+ post "/subjects/:.animals:cats/versions", {schema: animal_schema}.to_json, "CONTENT_TYPE" => "application/vnd.schemaregistry+json"
101
+ animal_id = JSON.parse(last_response.body).fetch("id") # Context2 cats schema
99
102
 
100
103
  get "/schemas/ids/#{pet_id}/versions?subject=:.pets:"
101
104
  result = JSON.parse(last_response.body)
102
105
 
103
106
  expect(result).to eq [{
104
- 'subject' => ':.pets:cats',
105
- 'version' => 1
107
+ "subject" => ":.pets:cats",
108
+ "version" => 1
106
109
  }]
107
110
 
108
111
  get "/schemas/ids/#{animal_id}/versions?subject=:.animals:"
109
112
  result = JSON.parse(last_response.body)
110
113
 
111
114
  expect(result).to eq [{
112
- 'subject' => ':.animals:cats',
113
- 'version' => 1
115
+ "subject" => ":.animals:cats",
116
+ "version" => 1
114
117
  }]
115
118
  end
116
119
  end
117
120
  end
118
121
 
119
- describe 'GET /schemas/ids/:schema_id' do
120
- it 'returns schema by id', :aggregate_failures do
121
- petSchema = schema(name: 'pet_ferret')
122
+ describe "GET /schemas/ids/:schema_id" do
123
+ it "returns schema by id", :aggregate_failures do
124
+ pet_schema = schema(name: "pet_ferret")
122
125
 
123
- post '/subjects/ferret/versions', { schema: petSchema }.to_json, 'CONTENT_TYPE' => 'application/vnd.schemaregistry+json'
124
- pet_id = JSON.parse(last_response.body).fetch('id')
126
+ post "/subjects/ferret/versions", {schema: pet_schema}.to_json, "CONTENT_TYPE" => "application/vnd.schemaregistry+json"
127
+ pet_id = JSON.parse(last_response.body).fetch("id")
125
128
 
126
129
  get "/schemas/ids/#{pet_id}"
127
130
  result = JSON.parse(last_response.body)
128
131
 
129
- expect(result['schema']).to eq(petSchema)
132
+ expect(result["schema"]).to eq(pet_schema)
130
133
 
131
134
  get "/schemas/ids/#{pet_id}?subject=:.:"
132
135
  default_context_result = JSON.parse(last_response.body)
133
136
 
134
- expect(default_context_result['schema']).to eq(petSchema)
137
+ expect(default_context_result["schema"]).to eq(pet_schema)
135
138
  end
136
139
 
137
- it 'returns schema by id from a non default context' do
138
- petSchema = schema(name: 'pet_ferret_too')
140
+ it "returns schema by id from a non default context" do
141
+ pet_schema = schema(name: "pet_ferret_too")
139
142
 
140
- post '/subjects/:.pets:ferret/versions', { schema: petSchema }.to_json, 'CONTENT_TYPE' => 'application/vnd.schemaregistry+json'
141
- pet_id = JSON.parse(last_response.body).fetch('id')
143
+ post "/subjects/:.pets:ferret/versions", {schema: pet_schema}.to_json, "CONTENT_TYPE" => "application/vnd.schemaregistry+json"
144
+ pet_id = JSON.parse(last_response.body).fetch("id")
142
145
 
143
146
  get "/schemas/ids/#{pet_id}?subject=:.pets:"
144
147
  result = JSON.parse(last_response.body)
145
148
 
146
- expect(result['schema']).to eq(petSchema)
149
+ expect(result["schema"]).to eq(pet_schema)
147
150
  end
148
151
  end
149
152
 
150
- describe 'GET /subjects' do
151
- context 'with a clean registry' do
153
+ describe "GET /subjects" do
154
+ context "with a clean registry" do
152
155
  before do
153
156
  FakeConfluentSchemaRegistryServer.clear
154
157
  end
155
158
 
156
159
  it "returns subjects from all contexts", :aggregate_failures do
157
- post '/subjects/ferret/versions', { schema: schema(name: 'ferret') }.to_json, 'CONTENT_TYPE' => 'application/vnd.schemaregistry+json'
158
- post '/subjects/:.pets:cat/versions', { schema: schema(name: 'pet_cat') }.to_json, 'CONTENT_TYPE' => 'application/vnd.schemaregistry+json'
160
+ post "/subjects/ferret/versions", {schema: schema(name: "ferret")}.to_json, "CONTENT_TYPE" => "application/vnd.schemaregistry+json"
161
+ post "/subjects/:.pets:cat/versions", {schema: schema(name: "pet_cat")}.to_json, "CONTENT_TYPE" => "application/vnd.schemaregistry+json"
159
162
 
160
163
  get "/subjects"
161
164
  result = JSON.parse(last_response.body)
162
165
 
163
- expect(result).to include('ferret')
164
- expect(result).to include(':.pets:cat')
166
+ expect(result).to include("ferret")
167
+ expect(result).to include(":.pets:cat")
165
168
  end
166
169
  end
167
170
  end
168
171
 
169
- describe 'GET /subjects/:subject/versions' do
170
- it 'returns versions of the schema' do
171
- post '/subjects/gerbil/versions', { schema: schema(name: 'v1') }.to_json, 'CONTENT_TYPE' => 'application/vnd.schemaregistry+json'
172
- post '/subjects/gerbil/versions', { schema: schema(name: 'v2') }.to_json, 'CONTENT_TYPE' => 'application/vnd.schemaregistry+json'
172
+ describe "GET /subjects/:subject/versions" do
173
+ it "returns versions of the schema" do
174
+ post "/subjects/gerbil/versions", {schema: schema(name: "v1")}.to_json, "CONTENT_TYPE" => "application/vnd.schemaregistry+json"
175
+ post "/subjects/gerbil/versions", {schema: schema(name: "v2")}.to_json, "CONTENT_TYPE" => "application/vnd.schemaregistry+json"
173
176
 
174
177
  get "/subjects/gerbil/versions"
175
178
  result = JSON.parse(last_response.body)
@@ -178,9 +181,9 @@ describe FakeConfluentSchemaRegistryServer do
178
181
  expect(result).to include(2)
179
182
  end
180
183
 
181
- it 'returns does not see versions ion another context' do
182
- post '/subjects/gerbil/versions', { schema: schema(name: 'v1') }.to_json, 'CONTENT_TYPE' => 'application/vnd.schemaregistry+json'
183
- post '/subjects/:.test:gerbil/versions', { schema: schema(name: 'v2') }.to_json, 'CONTENT_TYPE' => 'application/vnd.schemaregistry+json'
184
+ it "returns does not see versions ion another context" do
185
+ post "/subjects/gerbil/versions", {schema: schema(name: "v1")}.to_json, "CONTENT_TYPE" => "application/vnd.schemaregistry+json"
186
+ post "/subjects/:.test:gerbil/versions", {schema: schema(name: "v2")}.to_json, "CONTENT_TYPE" => "application/vnd.schemaregistry+json"
184
187
 
185
188
  get "/subjects/:.test:gerbil/versions"
186
189
  result = JSON.parse(last_response.body)
@@ -189,29 +192,29 @@ describe FakeConfluentSchemaRegistryServer do
189
192
  end
190
193
  end
191
194
 
192
- describe 'GET /subjects/:subject/versions/:version', :aggregate_failures do
193
- it 'returns the schema by version' do
194
- schema1 = schema(name: 'v1')
195
- post '/subjects/gerbil/versions', { schema: schema1}.to_json, 'CONTENT_TYPE' => 'application/vnd.schemaregistry+json'
196
- id1 = JSON.parse(last_response.body).fetch('id')
195
+ describe "GET /subjects/:subject/versions/:version", :aggregate_failures do
196
+ it "returns the schema by version" do
197
+ schema1 = schema(name: "v1")
198
+ post "/subjects/gerbil/versions", {schema: schema1}.to_json, "CONTENT_TYPE" => "application/vnd.schemaregistry+json"
199
+ id1 = JSON.parse(last_response.body).fetch("id")
197
200
 
198
- schema2 = schema(name: 'v2')
199
- post '/subjects/gerbil/versions', { schema: schema2}.to_json, 'CONTENT_TYPE' => 'application/vnd.schemaregistry+json'
200
- id2 = JSON.parse(last_response.body).fetch('id')
201
+ schema2 = schema(name: "v2")
202
+ post "/subjects/gerbil/versions", {schema: schema2}.to_json, "CONTENT_TYPE" => "application/vnd.schemaregistry+json"
203
+ id2 = JSON.parse(last_response.body).fetch("id")
201
204
 
202
- get '/subjects/gerbil/versions/1'
205
+ get "/subjects/gerbil/versions/1"
203
206
  result = JSON.parse(last_response.body)
204
- expect(result['subject']).to eq('gerbil')
205
- expect(result['version']).to eq(1)
206
- expect(result['id']).to eq(id1)
207
- expect(result['schema']).to eq(schema1)
207
+ expect(result["subject"]).to eq("gerbil")
208
+ expect(result["version"]).to eq(1)
209
+ expect(result["id"]).to eq(id1)
210
+ expect(result["schema"]).to eq(schema1)
208
211
 
209
- get '/subjects/gerbil/versions/2'
212
+ get "/subjects/gerbil/versions/2"
210
213
  result = JSON.parse(last_response.body)
211
- expect(result['subject']).to eq('gerbil')
212
- expect(result['version']).to eq(2)
213
- expect(result['id']).to eq(id2)
214
- expect(result['schema']).to eq(schema2)
214
+ expect(result["subject"]).to eq("gerbil")
215
+ expect(result["version"]).to eq(2)
216
+ expect(result["id"]).to eq(id2)
217
+ expect(result["schema"]).to eq(schema2)
215
218
  end
216
219
  end
217
220
 
@@ -220,7 +223,7 @@ describe FakeConfluentSchemaRegistryServer do
220
223
  type: "record",
221
224
  name: name,
222
225
  fields: [
223
- { name: "name", type: "string" },
226
+ {name: "name", type: "string"}
224
227
  ]
225
228
  }.to_json
226
229
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: avro_turf
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.19.0
4
+ version: 1.20.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Daniel Schierbeck
@@ -95,14 +95,14 @@ dependencies:
95
95
  name: fakefs
96
96
  requirement: !ruby/object:Gem::Requirement
97
97
  requirements:
98
- - - "<"
98
+ - - "~>"
99
99
  - !ruby/object:Gem::Version
100
100
  version: '3'
101
101
  type: :development
102
102
  prerelease: false
103
103
  version_requirements: !ruby/object:Gem::Requirement
104
104
  requirements:
105
- - - "<"
105
+ - - "~>"
106
106
  - !ruby/object:Gem::Version
107
107
  version: '3'
108
108
  - !ruby/object:Gem::Dependency
@@ -237,6 +237,7 @@ files:
237
237
  - spec/core_ext/true_class_spec.rb
238
238
  - spec/disk_cached_confluent_schema_registry_spec.rb
239
239
  - spec/messaging_spec.rb
240
+ - spec/mutable_schema_store_spec.rb
240
241
  - spec/schema_store_spec.rb
241
242
  - spec/schema_to_avro_patch_spec.rb
242
243
  - spec/spec_helper.rb
@@ -276,26 +277,4 @@ rubygems_version: 3.6.9
276
277
  specification_version: 4
277
278
  summary: A library that makes it easier to use the Avro serialization format from
278
279
  Ruby
279
- test_files:
280
- - spec/avro_turf_spec.rb
281
- - spec/cached_confluent_schema_registry_spec.rb
282
- - spec/confluent_schema_registry_spec.rb
283
- - spec/core_ext/date_spec.rb
284
- - spec/core_ext/enumerable_spec.rb
285
- - spec/core_ext/false_class_spec.rb
286
- - spec/core_ext/hash_spec.rb
287
- - spec/core_ext/nil_class_spec.rb
288
- - spec/core_ext/numeric_spec.rb
289
- - spec/core_ext/string_spec.rb
290
- - spec/core_ext/symbol_spec.rb
291
- - spec/core_ext/time_spec.rb
292
- - spec/core_ext/true_class_spec.rb
293
- - spec/disk_cached_confluent_schema_registry_spec.rb
294
- - spec/messaging_spec.rb
295
- - spec/schema_store_spec.rb
296
- - spec/schema_to_avro_patch_spec.rb
297
- - spec/spec_helper.rb
298
- - spec/support/authorized_fake_confluent_schema_registry_server.rb
299
- - spec/support/authorized_fake_prefixed_confluent_schema_registry_server.rb
300
- - spec/support/confluent_schema_registry_context.rb
301
- - spec/test/fake_confluent_schema_registry_server_spec.rb
280
+ test_files: []