Skip to content

Commit edaeb64

Browse files
authored
fix: Removed dependency on base64 gem (#85)
Signed-off-by: Daniel Azuma <[email protected]>
1 parent 4a50656 commit edaeb64

File tree

6 files changed

+4
-12
lines changed

6 files changed

+4
-12
lines changed

Gemfile

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,11 @@
11
source "https://rubygems.org"
22
gemspec
33

4-
gem "base64", "~> 0.3"
54
gem "cucumber", "~> 9.2"
65
gem "google-style", "~> 1.27.1"
7-
gem "logger", "~> 1.7"
86
gem "minitest", "~> 5.25"
97
gem "minitest-focus", "~> 1.4"
108
gem "minitest-rg", "~> 5.3"
11-
gem "ostruct", "~> 0.6"
129
gem "rack", "~> 3.2"
1310
gem "redcarpet", "~> 3.6" unless ::RUBY_PLATFORM == "java"
1411
gem "webrick", "~> 1.9"

lib/cloud_events/format.rb

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
# frozen_string_literal: true
22

3-
require "base64"
43
require "json"
54

65
module CloudEvents

lib/cloud_events/json_format.rb

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
# frozen_string_literal: true
22

3-
require "base64"
43
require "json"
54

65
module CloudEvents
@@ -256,7 +255,7 @@ def decode_hash_structure_v1 structure, charset, spec_version, data_decoder
256255

257256
def retrieve_content_from_data_fields structure, charset
258257
if structure.key? "data_base64"
259-
content = ::Base64.decode64 structure.delete "data_base64"
258+
content = structure.delete("data_base64").unpack1 "m"
260259
content_type = structure["datacontenttype"] || "application/octet-stream"
261260
else
262261
content = structure["data"]
@@ -318,7 +317,7 @@ def encode_data_fields_for_other_content structure, event, data_encoder
318317
structure["datacontenttype"] = result[:content_type].to_s
319318
end
320319
if data_encoded.encoding == ::Encoding::ASCII_8BIT
321-
structure["data_base64"] = ::Base64.encode64 data_encoded
320+
structure["data_base64"] = [data_encoded].pack "m0"
322321
structure.delete "data"
323322
else
324323
structure["data"] = data_encoded

lib/cloud_events/text_format.rb

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
# frozen_string_literal: true
22

3-
require "base64"
43
require "json"
54

65
module CloudEvents

test/test_json_format.rb

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22

33
require_relative "helper"
44

5-
require "base64"
65
require "date"
76
require "json"
87
require "stringio"
@@ -19,8 +18,8 @@
1918
let(:my_doubly_encoded_json_string_data) { JSON.dump my_json_string_data }
2019
let(:my_data_string) { "12345" }
2120
let(:my_json_encoded_data_string) { '"12345"' }
22-
let(:my_base64_data) { "/w==\n" }
23-
let(:my_binary_string) { Base64.decode64 my_base64_data }
21+
let(:my_base64_data) { "/w==" }
22+
let(:my_binary_string) { my_base64_data.unpack1 "m" }
2423
let(:my_content_encoding) { "8bit" }
2524
let(:my_content_type_string) { "text/plain; charset=us-ascii" }
2625
let(:my_content_type) { CloudEvents::ContentType.new my_content_type_string }

test/test_text_format.rb

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22

33
require_relative "helper"
44

5-
require "base64"
65
require "date"
76
require "json"
87
require "stringio"

0 commit comments

Comments
 (0)