sendgrid_events_pbxx 0.1.5 → 0.1.6

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.
@@ -0,0 +1,15 @@
1
+ ---
2
+ !binary "U0hBMQ==":
3
+ metadata.gz: !binary |-
4
+ ZTI5ZmNkNDYwNWE1MjhmNGExYzBlYzk5YmYwMTUzN2JhOWUyMGQ3NA==
5
+ data.tar.gz: !binary |-
6
+ MjRjYTM4YjFmYzhkZjRlN2I2OWI1ZDM1MDQxYzcxYTg3NTgzY2Q2Yg==
7
+ !binary "U0hBNTEy":
8
+ metadata.gz: !binary |-
9
+ OGQ5OWM1MmM3NWE5ZWUwY2NiMTE5ODI5ZGVhZGYwYTQ0NWNhZmRkNjAyOWNh
10
+ OWU1NzAyNTYxZDEwNmQ1ZTQ5NGE5NTE5NTkxYWNhOWEyYTJmMTk1NmFkZTZl
11
+ ZTY1MmJhMTFkZGMxNjFmMTAzMDYyNzFiNWU4NjQ0ZmM0MWNjNDA=
12
+ data.tar.gz: !binary |-
13
+ YmMyNGU4MGY4NTBlMTE2MDBjZDc1ZDRmZTg1NzM3NzcwYjE3NTY5NjQ5NmM5
14
+ ZTVmZjc4MjJlMWNiMGVkNzc3YWI2OGUxZTEwZWYwNzEwNjEzOTM4NDJiNzY2
15
+ MWU5NDE0N2E2ODg5ZDgxZjIyNDZmYjQ4ZTc1YzcyZmM4YTY1Njg=
data/Gemfile CHANGED
@@ -3,4 +3,5 @@ source "http://rubygems.org"
3
3
  gemspec
4
4
 
5
5
  gem 'enumerated_field'
6
- gem 'jeweler'
6
+ gem 'jeweler'
7
+ gem 'yajl-ruby'
@@ -1,10 +1,11 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- sendgrid_events_pbxx (0.1.5)
4
+ sendgrid_events_pbxx (0.1.6)
5
5
  enumerated_field
6
6
  rails (~> 3.2)
7
7
  sendgrid-rails (~> 2.0)
8
+ yajl-ruby
8
9
 
9
10
  GEM
10
11
  remote: http://rubygems.org/
@@ -137,6 +138,7 @@ GEM
137
138
  websocket (1.0.7)
138
139
  xpath (1.0.0)
139
140
  nokogiri (~> 1.3)
141
+ yajl-ruby (1.1.0)
140
142
 
141
143
  PLATFORMS
142
144
  ruby
@@ -152,3 +154,4 @@ DEPENDENCIES
152
154
  rspec-rails (~> 2)
153
155
  sendgrid_events_pbxx!
154
156
  sqlite3
157
+ yajl-ruby
data/README.md CHANGED
@@ -4,6 +4,8 @@
4
4
  [![Code Climate](https://codeclimate.com/badge.png)](https://codeclimate.com/github/jphenow/sendgrid_events)
5
5
  [Ruby Gems](https://rubygems.org/gems/sendgrid_events)
6
6
 
7
+ [ ![Codeship Status for russen/sendgrid_events](https://www.codeship.io/projects/4f39bdb0-8fe0-0130-0a29-760ea69aac78/status?branch=master)](https://www.codeship.io/projects/2918)
8
+
7
9
  SendgridEvents is a gem designed to give your application [Sendgrid postbacks](http://docs.sendgrid.com/documentation/api/event-api/).
8
10
  With these postbacks you are more able to track the status of your emails programatically.
9
11
 
@@ -1,3 +1,7 @@
1
+ require 'yajl' unless defined?(Yajl)
2
+ require 'action_dispatch'
3
+ require 'action_dispatch/middleware/params_parser'
4
+
1
5
  module SendgridEvents
2
6
  class Middleware
3
7
  def initialize(app)
@@ -11,10 +15,18 @@ module SendgridEvents
11
15
 
12
16
  private
13
17
  def scrub(env)
14
- rack_input = env["rack.input"].read
15
- rack_input ="[#{rack_input.split("\r\n").join(",")}]"
16
- env["rack.input"] = StringIO.new(rack_input)
17
- rescue
18
+ parser = ::Yajl::Parser.new
19
+ data = {_json: []}
20
+
21
+ parser.on_parse_complete = lambda {|rec|
22
+ data[:_json] << rec.with_indifferent_access
23
+ }
24
+
25
+ parser.parse(env['rack.input'])
26
+ env["rack.input"] = StringIO.new(data.to_json)
27
+ rescue => e
28
+ env["rack.input"].rewind
29
+ Rails.logger.info "FAILED---- RACK.INPUT: #{env["rack.input"].read}"
18
30
  ensure
19
31
  env["rack.input"].rewind
20
32
  end
@@ -1,3 +1,3 @@
1
1
  module SendgridEvents
2
- VERSION = "0.1.5"
2
+ VERSION = "0.1.6"
3
3
  end
@@ -25,4 +25,5 @@ Gem::Specification.new do |gem|
25
25
  gem.add_dependency 'rails', '~> 3.2'
26
26
  gem.add_dependency 'sendgrid-rails', '~> 2.0'
27
27
  gem.add_dependency 'enumerated_field'
28
+ gem.add_dependency 'yajl-ruby'
28
29
  end
metadata CHANGED
@@ -1,8 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sendgrid_events_pbxx
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.5
5
- prerelease:
4
+ version: 0.1.6
6
5
  platform: ruby
7
6
  authors:
8
7
  - Jon Phenow
@@ -10,12 +9,11 @@ authors:
10
9
  autorequire:
11
10
  bindir: bin
12
11
  cert_chain: []
13
- date: 2013-04-11 00:00:00.000000000 Z
12
+ date: 2013-07-18 00:00:00.000000000 Z
14
13
  dependencies:
15
14
  - !ruby/object:Gem::Dependency
16
15
  name: rake
17
16
  requirement: !ruby/object:Gem::Requirement
18
- none: false
19
17
  requirements:
20
18
  - - ! '>='
21
19
  - !ruby/object:Gem::Version
@@ -23,7 +21,6 @@ dependencies:
23
21
  type: :development
24
22
  prerelease: false
25
23
  version_requirements: !ruby/object:Gem::Requirement
26
- none: false
27
24
  requirements:
28
25
  - - ! '>='
29
26
  - !ruby/object:Gem::Version
@@ -31,7 +28,6 @@ dependencies:
31
28
  - !ruby/object:Gem::Dependency
32
29
  name: awesome_print
33
30
  requirement: !ruby/object:Gem::Requirement
34
- none: false
35
31
  requirements:
36
32
  - - ! '>='
37
33
  - !ruby/object:Gem::Version
@@ -39,7 +35,6 @@ dependencies:
39
35
  type: :development
40
36
  prerelease: false
41
37
  version_requirements: !ruby/object:Gem::Requirement
42
- none: false
43
38
  requirements:
44
39
  - - ! '>='
45
40
  - !ruby/object:Gem::Version
@@ -47,7 +42,6 @@ dependencies:
47
42
  - !ruby/object:Gem::Dependency
48
43
  name: rspec-rails
49
44
  requirement: !ruby/object:Gem::Requirement
50
- none: false
51
45
  requirements:
52
46
  - - ~>
53
47
  - !ruby/object:Gem::Version
@@ -55,7 +49,6 @@ dependencies:
55
49
  type: :development
56
50
  prerelease: false
57
51
  version_requirements: !ruby/object:Gem::Requirement
58
- none: false
59
52
  requirements:
60
53
  - - ~>
61
54
  - !ruby/object:Gem::Version
@@ -63,7 +56,6 @@ dependencies:
63
56
  - !ruby/object:Gem::Dependency
64
57
  name: capybara
65
58
  requirement: !ruby/object:Gem::Requirement
66
- none: false
67
59
  requirements:
68
60
  - - ! '>='
69
61
  - !ruby/object:Gem::Version
@@ -71,7 +63,6 @@ dependencies:
71
63
  type: :development
72
64
  prerelease: false
73
65
  version_requirements: !ruby/object:Gem::Requirement
74
- none: false
75
66
  requirements:
76
67
  - - ! '>='
77
68
  - !ruby/object:Gem::Version
@@ -79,7 +70,6 @@ dependencies:
79
70
  - !ruby/object:Gem::Dependency
80
71
  name: rails
81
72
  requirement: !ruby/object:Gem::Requirement
82
- none: false
83
73
  requirements:
84
74
  - - ~>
85
75
  - !ruby/object:Gem::Version
@@ -87,7 +77,6 @@ dependencies:
87
77
  type: :development
88
78
  prerelease: false
89
79
  version_requirements: !ruby/object:Gem::Requirement
90
- none: false
91
80
  requirements:
92
81
  - - ~>
93
82
  - !ruby/object:Gem::Version
@@ -95,7 +84,6 @@ dependencies:
95
84
  - !ruby/object:Gem::Dependency
96
85
  name: factory_girl_rails
97
86
  requirement: !ruby/object:Gem::Requirement
98
- none: false
99
87
  requirements:
100
88
  - - ~>
101
89
  - !ruby/object:Gem::Version
@@ -103,7 +91,6 @@ dependencies:
103
91
  type: :development
104
92
  prerelease: false
105
93
  version_requirements: !ruby/object:Gem::Requirement
106
- none: false
107
94
  requirements:
108
95
  - - ~>
109
96
  - !ruby/object:Gem::Version
@@ -111,7 +98,6 @@ dependencies:
111
98
  - !ruby/object:Gem::Dependency
112
99
  name: sqlite3
113
100
  requirement: !ruby/object:Gem::Requirement
114
- none: false
115
101
  requirements:
116
102
  - - ! '>='
117
103
  - !ruby/object:Gem::Version
@@ -119,7 +105,6 @@ dependencies:
119
105
  type: :development
120
106
  prerelease: false
121
107
  version_requirements: !ruby/object:Gem::Requirement
122
- none: false
123
108
  requirements:
124
109
  - - ! '>='
125
110
  - !ruby/object:Gem::Version
@@ -127,7 +112,6 @@ dependencies:
127
112
  - !ruby/object:Gem::Dependency
128
113
  name: rails
129
114
  requirement: !ruby/object:Gem::Requirement
130
- none: false
131
115
  requirements:
132
116
  - - ~>
133
117
  - !ruby/object:Gem::Version
@@ -135,7 +119,6 @@ dependencies:
135
119
  type: :runtime
136
120
  prerelease: false
137
121
  version_requirements: !ruby/object:Gem::Requirement
138
- none: false
139
122
  requirements:
140
123
  - - ~>
141
124
  - !ruby/object:Gem::Version
@@ -143,7 +126,6 @@ dependencies:
143
126
  - !ruby/object:Gem::Dependency
144
127
  name: sendgrid-rails
145
128
  requirement: !ruby/object:Gem::Requirement
146
- none: false
147
129
  requirements:
148
130
  - - ~>
149
131
  - !ruby/object:Gem::Version
@@ -151,7 +133,6 @@ dependencies:
151
133
  type: :runtime
152
134
  prerelease: false
153
135
  version_requirements: !ruby/object:Gem::Requirement
154
- none: false
155
136
  requirements:
156
137
  - - ~>
157
138
  - !ruby/object:Gem::Version
@@ -159,7 +140,6 @@ dependencies:
159
140
  - !ruby/object:Gem::Dependency
160
141
  name: enumerated_field
161
142
  requirement: !ruby/object:Gem::Requirement
162
- none: false
163
143
  requirements:
164
144
  - - ! '>='
165
145
  - !ruby/object:Gem::Version
@@ -167,7 +147,20 @@ dependencies:
167
147
  type: :runtime
168
148
  prerelease: false
169
149
  version_requirements: !ruby/object:Gem::Requirement
170
- none: false
150
+ requirements:
151
+ - - ! '>='
152
+ - !ruby/object:Gem::Version
153
+ version: '0'
154
+ - !ruby/object:Gem::Dependency
155
+ name: yajl-ruby
156
+ requirement: !ruby/object:Gem::Requirement
157
+ requirements:
158
+ - - ! '>='
159
+ - !ruby/object:Gem::Version
160
+ version: '0'
161
+ type: :runtime
162
+ prerelease: false
163
+ version_requirements: !ruby/object:Gem::Requirement
171
164
  requirements:
172
165
  - - ! '>='
173
166
  - !ruby/object:Gem::Version
@@ -232,33 +225,26 @@ files:
232
225
  - spec/spec_helper.rb
233
226
  homepage: ''
234
227
  licenses: []
228
+ metadata: {}
235
229
  post_install_message:
236
230
  rdoc_options: []
237
231
  require_paths:
238
232
  - lib
239
233
  required_ruby_version: !ruby/object:Gem::Requirement
240
- none: false
241
234
  requirements:
242
235
  - - ! '>='
243
236
  - !ruby/object:Gem::Version
244
237
  version: '0'
245
- segments:
246
- - 0
247
- hash: -2059513458459870568
248
238
  required_rubygems_version: !ruby/object:Gem::Requirement
249
- none: false
250
239
  requirements:
251
240
  - - ! '>='
252
241
  - !ruby/object:Gem::Version
253
242
  version: '0'
254
- segments:
255
- - 0
256
- hash: -2059513458459870568
257
243
  requirements: []
258
244
  rubyforge_project:
259
- rubygems_version: 1.8.25
245
+ rubygems_version: 2.0.3
260
246
  signing_key:
261
- specification_version: 3
247
+ specification_version: 4
262
248
  summary: ''
263
249
  test_files:
264
250
  - spec/sendgrid_events/action_mailer_override_spec.rb