appsignal 1.0.6.beta.1 → 1.0.6.beta.2

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: acdf1abaf8e28ece92633d3811f1507e3ca47be7
4
- data.tar.gz: 01d1115a37e6211d864d84fcd8f51860a1f42b1f
3
+ metadata.gz: b979db89166d70acac33e58f33f912dde356aa06
4
+ data.tar.gz: 1b2dcab9192b2301bfc5e770f77a745d78698e74
5
5
  SHA512:
6
- metadata.gz: 857b968f8a8f579832cb38c295e57e91c6b5b9a5a6804b5958d4f294632e9830784aa4700501a07189a79477aa3a69898867dae284a43a58536eaad197365fe4
7
- data.tar.gz: 0d9ddad04d854d97990818e5c128b95f073293158ef0cc53fb6680b1b96b440954f9356c39e8569c227cd6ddb4e54bf7636ca439d207c1475e7c5980442d878f
6
+ metadata.gz: f3da81c4fc05f43e93cf8d45acdc782c0864a62a7d32e9022d1cb874677816dcb4a4f8c9b0d97cdddae8f86c01c944d9cc2bbd607e1c8dc32b0248b9d97b11a9
7
+ data.tar.gz: 0396a94b49280e5ab31b196bf783e88d8edec2ea62e9512c4f96844b5f3e026322186fbe7c485f69b7bda6fbedb7e51b1afab346ca0faed6ea33b32d06cb921c
@@ -5,7 +5,11 @@ module Appsignal
5
5
  register 'sql.active_record'
6
6
 
7
7
  def format(payload)
8
- [payload[:name], payload[:sql], SQL_BODY_FORMAT]
8
+ [
9
+ payload[:name],
10
+ Appsignal::Utils.encode_utf8(payload[:sql]),
11
+ SQL_BODY_FORMAT
12
+ ]
9
13
  end
10
14
  end
11
15
  end
@@ -38,11 +38,7 @@ module Appsignal
38
38
  def self.jsonify(value)
39
39
  case value
40
40
  when String
41
- value.encode(
42
- 'utf-8',
43
- :invalid => :replace,
44
- :undef => :replace
45
- )
41
+ encode_utf8(value)
46
42
  when Numeric, NilClass, TrueClass, FalseClass
47
43
  value
48
44
  when Hash
@@ -53,5 +49,13 @@ module Appsignal
53
49
  jsonify(value.to_s)
54
50
  end
55
51
  end
52
+
53
+ def self.encode_utf8(value)
54
+ value.encode(
55
+ 'utf-8'.freeze,
56
+ :invalid => :replace,
57
+ :undef => :replace
58
+ )
59
+ end
56
60
  end
57
61
  end
@@ -1,5 +1,5 @@
1
1
  require 'yaml'
2
2
 
3
3
  module Appsignal
4
- VERSION = '1.0.6.beta.1'
4
+ VERSION = '1.0.6.beta.2'
5
5
  end
@@ -90,4 +90,14 @@ describe Appsignal::Utils do
90
90
  it { should == "{\"field_one\":\"aa\",\"field_two\":\"aa�\",\"field_three\":[\"one\",\"aa�\"],\"field_four\":{\"one\":\"aa�\"}}" }
91
91
  end
92
92
  end
93
+
94
+ describe ".encode_utf8" do
95
+ subject { Appsignal::Utils.encode_utf8(value) }
96
+
97
+ context "value with invalid utf-8 content" do
98
+ let(:value) { [0x61, 0x61, 0x85].pack('c*') }
99
+
100
+ it { should == "aa�" }
101
+ end
102
+ end
93
103
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: appsignal
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.6.beta.1
4
+ version: 1.0.6.beta.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Robert Beekman