sendgrid-parse 0.1.2 → 0.1.3
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.
- data/lib/sendgrid-parse/encodable_hash.rb +6 -1
- data/lib/sendgrid-parse/version.rb +1 -1
- data/sendgrid-parse.gemspec +1 -0
- data/spec/sendgrid-parse_spec.rb +15 -0
- metadata +16 -5
@@ -14,7 +14,12 @@ module Sendgrid
|
|
14
14
|
|
15
15
|
def initialize(component)
|
16
16
|
# Symbolize keys
|
17
|
-
|
17
|
+
if component.respond_to? :symbolize_keys
|
18
|
+
component = component.symbolize_keys
|
19
|
+
else
|
20
|
+
component.keys.each { |key| component[(key.to_sym rescue key) || key] = component.delete(key) }
|
21
|
+
end
|
22
|
+
|
18
23
|
raise 'Missing required key :charsets for encoding.' unless component.has_key?(:charsets)
|
19
24
|
super
|
20
25
|
end
|
data/sendgrid-parse.gemspec
CHANGED
data/spec/sendgrid-parse_spec.rb
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
# encoding: UTF-8
|
2
2
|
require 'sendgrid-parse'
|
3
|
+
require 'active_support/hash_with_indifferent_access'
|
3
4
|
|
4
5
|
describe Sendgrid::Parse::EncodableHash do
|
5
6
|
test_string_1 = "Hello €"
|
@@ -91,6 +92,20 @@ describe Sendgrid::Parse::EncodableHash do
|
|
91
92
|
new_params.has_key?(:text).should eql(true)
|
92
93
|
end
|
93
94
|
|
95
|
+
it "should symbolize active_support hashes correctly" do
|
96
|
+
params = {
|
97
|
+
'charsets' => '{"text":"WINDOWS-1252"}',
|
98
|
+
'text' => test_string_1_windows1252_encoded
|
99
|
+
}
|
100
|
+
|
101
|
+
hash = HashWithIndifferentAccess.new(params)
|
102
|
+
|
103
|
+
new_params = Sendgrid::Parse::EncodableHash.new(hash).encode("UTF-8")
|
104
|
+
new_params.has_key?(:text).should eql(true)
|
105
|
+
new_params[:charsets].should eql "{\"text\":\"UTF-8\"}"
|
106
|
+
|
107
|
+
end
|
108
|
+
|
94
109
|
if RUBY_VERSION >= '1.9'
|
95
110
|
it "should correctly change encoding types of charsets" do
|
96
111
|
params = {
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sendgrid-parse
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.3
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -13,7 +13,7 @@ date: 2012-05-23 00:00:00.000000000Z
|
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: json
|
16
|
-
requirement: &
|
16
|
+
requirement: &70102398682860 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ~>
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: 1.7.3
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *70102398682860
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: rspec
|
27
|
-
requirement: &
|
27
|
+
requirement: &70102398711260 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ~>
|
@@ -32,7 +32,18 @@ dependencies:
|
|
32
32
|
version: 2.10.0
|
33
33
|
type: :development
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *70102398711260
|
36
|
+
- !ruby/object:Gem::Dependency
|
37
|
+
name: active_support
|
38
|
+
requirement: &70102398710800 !ruby/object:Gem::Requirement
|
39
|
+
none: false
|
40
|
+
requirements:
|
41
|
+
- - ~>
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
version: 3.0.0
|
44
|
+
type: :development
|
45
|
+
prerelease: false
|
46
|
+
version_requirements: *70102398710800
|
36
47
|
description: Library to dynamically set or change the encoding type for fields, ie
|
37
48
|
params from SendGrid Parse API.
|
38
49
|
email:
|