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.
@@ -14,7 +14,12 @@ module Sendgrid
14
14
 
15
15
  def initialize(component)
16
16
  # Symbolize keys
17
- component.keys.each { |key| component[(key.to_sym rescue key) || key] = component.delete(key) }
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
@@ -1,5 +1,5 @@
1
1
  module Sendgrid
2
2
  module Parse
3
- VERSION = "0.1.2"
3
+ VERSION = "0.1.3"
4
4
  end
5
5
  end
@@ -16,4 +16,5 @@ Gem::Specification.new do |gem|
16
16
  gem.version = Sendgrid::Parse::VERSION
17
17
  gem.add_dependency "json", "~> 1.7.3"
18
18
  gem.add_development_dependency "rspec", "~> 2.10.0"
19
+ gem.add_development_dependency "active_support", "~> 3.0.0"
19
20
  end
@@ -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.2
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: &70355943425560 !ruby/object:Gem::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: *70355943425560
24
+ version_requirements: *70102398682860
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: rspec
27
- requirement: &70355943425060 !ruby/object:Gem::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: *70355943425060
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: