Skip to content

Commit d9ba173

Browse files
committed
Fix bug preventing inheriting default serializers
1 parent 0dbedc9 commit d9ba173

File tree

5 files changed

+37
-10
lines changed

5 files changed

+37
-10
lines changed

CHANGELOG.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
## [0.0.10] - 2025-01-25
1+
## [0.0.11] - 2025-01-25
22

33
- Allow default_serializers to be changed
44

Gemfile.lock

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
PATH
22
remote: .
33
specs:
4-
foobara-http-command-connector (0.0.10)
4+
foobara-http-command-connector (0.0.11)
55
foobara
66

77
GEM

spec/foobara/command_connectors_http/http_spec.rb

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1305,4 +1305,21 @@ def transform(result)
13051305
end
13061306
end
13071307
end
1308+
1309+
describe ".default_serializers" do
1310+
it "returns some serializers" do
1311+
expect(described_class.default_serializers).to be_an(Array)
1312+
end
1313+
1314+
context "when a subclass" do
1315+
let(:subclass) do
1316+
stub_class :SomeSubclass, described_class
1317+
end
1318+
1319+
it "returns some serializers" do
1320+
expect(subclass.default_serializers).to be_an(Array)
1321+
expect(subclass.default_serializers).to_not be_empty
1322+
end
1323+
end
1324+
end
13081325
end

src/http.rb

Lines changed: 17 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,24 @@ class Http < CommandConnector
44
include TruncatedInspect
55

66
class << self
7-
attr_accessor :default_serializers
8-
end
7+
attr_writer :default_serializers
8+
9+
def default_serializers
10+
return @default_serializers if @default_serializers
911

10-
self.default_serializers = [
11-
Foobara::CommandConnectors::Serializers::ErrorsSerializer,
12-
Foobara::CommandConnectors::Serializers::AtomicSerializer,
13-
Foobara::CommandConnectors::Serializers::JsonSerializer
14-
]
12+
if superclass.respond_to?(:default_serializers)
13+
serializers = superclass.default_serializers
14+
15+
return serializers if serializers
16+
end
17+
18+
@default_serializers = [
19+
Foobara::CommandConnectors::Serializers::ErrorsSerializer,
20+
Foobara::CommandConnectors::Serializers::AtomicSerializer,
21+
Foobara::CommandConnectors::Serializers::JsonSerializer
22+
]
23+
end
24+
end
1525

1626
attr_accessor :prefix
1727

version.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
module Foobara
22
module HttpCommandConnector
3-
VERSION = "0.0.10".freeze
3+
VERSION = "0.0.11".freeze
44

55
local_ruby_version = File.read("#{__dir__}/.ruby-version").chomp
66
local_ruby_version_minor = local_ruby_version[/\A(\d+\.\d+)\.\d+\z/, 1]

0 commit comments

Comments
 (0)