griddler 1.0.0.pre.beta.1 → 1.0.0.pre.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: 5db84495ea1dd75d93ad77af6b7b345471658418
4
- data.tar.gz: ab4522dd7709770a8fa825c1328a034fc42abe8a
3
+ metadata.gz: fdb714b3a8525e8794d87ddb0fdd8925ac1ae39e
4
+ data.tar.gz: 8bcf701f4e310616683dea33d61305b991557e2d
5
5
  SHA512:
6
- metadata.gz: c3a1251948e7b861c2fea3ba5e526a90c14dbe352ab9b00d64dacb18fb9cd0a3e3dd77f3a910ed0f709eb9802ef81a031dbe624d4392902d1bb6877df04ca6d3
7
- data.tar.gz: 3df07fd60447f539702466ea27e5d6890e2e68d25266b0a9e3cc98d6b134b15125d2cea2cd4dfe835b0501bbfd9f8aecf29b3ada57064af1eb1ac79f32702932
6
+ metadata.gz: 76986506c6ff012f225b22f67942551795867728dff8e6f34fd3cbe221352bf04ecba58c7344386edde56a99c9226712a47c9b377d6301073354356d40e497a9
7
+ data.tar.gz: 5d74b1583264d8d4f9a24cc50ba68cf39d5b95e4e6da5638271e636b2c3afded4a79e3e23546ab588175f2d6149b5c6c11eab5b1c1661018ac2466cde7fa70eb
data/README.md CHANGED
@@ -6,13 +6,9 @@ Griddler
6
6
 
7
7
  ### Receive emails in your Rails app
8
8
 
9
- Griddler is a Rails engine that provides an endpoint for the
10
- [SendGrid](http://sendgrid.com/docs/API%20Reference/Webhooks/parse.html),
11
- [Cloudmailin](http://cloudmailin.com),
12
- [Postmark](http://developer.postmarkapp.com/developer-inbound-parse.html),
13
- [Mandrill](http://help.mandrill.com/entries/21699367-Inbound-Email-Processing-Overview), or
14
- [Mailgun](http://documentation.mailgun.com/user\_manual.html#receiving-messages-via-http-through-a-forward-action)
15
- parse APIs that hands off a built email object to a class implemented by you.
9
+ Griddler is a Rails engine that provides an endpoint for services that convert
10
+ incoming emails to HTTP POST requests. It parses these POSTs and hands off a
11
+ built email object to a class implemented by you.
16
12
 
17
13
  Tutorials
18
14
  ---------
@@ -58,13 +54,6 @@ Defaults are shown below with sample overrides following. In
58
54
  Griddler.configure do |config|
59
55
  config.processor_class = EmailProcessor # CommentViaEmail
60
56
  config.processor_method = :process # :create_comment (A method on CommentViaEmail)
61
- config.to = :hash # :full, :email, :token
62
- config.cc = :email # :full, :hash, :token
63
- config.from = :email # :full, :token, :hash
64
- # :raw => 'AppName <s13.6b2d13dc6a1d33db7644@mail.myapp.com>'
65
- # :email => 's13.6b2d13dc6a1d33db7644@mail.myapp.com'
66
- # :token => 's13.6b2d13dc6a1d33db7644'
67
- # :hash => { raw: [...], email: [...], token: [...], host: [...], name: [...] }
68
57
  config.reply_delimiter = '-- REPLY ABOVE THIS LINE --'
69
58
  config.email_service = :sendgrid # :cloudmailin, :postmark, :mandrill, :mailgun
70
59
  end
@@ -76,15 +65,18 @@ end
76
65
  | `processor_method` | The method Griddler will call on the processor class when handling your incoming emails.
77
66
  | `reply_delimiter` | The string searched for that will split your body.
78
67
  | `email_service` | Tells Griddler which email service you are using. The supported email service options are `:sendgrid` (the default), `:cloudmailin` (expects multipart format), `:postmark` and `:mandrill`. You will also need to have an appropriate [adapter] gem included in your Gemfile.
79
- | `to`, `config.cc` and `config.from` | The format of the returned value for that address in the email object. `:hash` will return all options within a -- (surprise!) -- hash.
80
68
 
81
- By default Griddler will look for a class named `EmailProcessor` with a class
82
- method named `process`, taking in one argument, a `Griddler::Email` instance
69
+ By default Griddler will look for a class named `EmailProcessor` with a method
70
+ named `process`, taking in one argument, a `Griddler::Email` instance
83
71
  representing the incoming email. For example, in `./lib/email_processor.rb`:
84
72
 
85
73
  ```ruby
86
74
  class EmailProcessor
87
- def self.process(email)
75
+ def initialize(email)
76
+ @email = email
77
+ end
78
+
79
+ def process
88
80
  # all of your application-specific code here - creating models,
89
81
  # processing reports, etc
90
82
  end
@@ -167,10 +159,12 @@ adapter gem in addition to `griddler`.
167
159
  | sendgrid | [griddler-sendgrid]
168
160
  | mandrill | [griddler-mandrill]
169
161
  | mailgun | [griddler-mailgun]
162
+ | postmark | [griddler-postmark]
170
163
 
171
164
  [griddler-sendgrid]: https://github.com/thoughtbot/griddler-sendgrid
172
165
  [griddler-mandrill]: https://github.com/wingrunr21/griddler-mandrill
173
166
  [griddler-mailgun]: https://github.com/bradpauly/griddler-mailgun
167
+ [griddler-postmark]: https://github.com/r38y/griddler-postmark
174
168
 
175
169
  Writing an Adapter
176
170
  ------------------
@@ -199,28 +193,11 @@ Adapters should be provided as gems. If you write an adapter, let us know and we
199
193
  will add it to this README. See [griddler-sendgrid] for an example
200
194
  implementation.
201
195
 
202
- More Information
203
- ----------------
204
-
205
- * [SendGrid](http://www.sendgrid.com)
206
- * [SendGrid Parse API](http://www.sendgrid.com/docs/API Reference/Webhooks/parse.html)
207
- * [Cloudmailin](http://cloudmailin.com)
208
- * [Cloudmailin Docs](http://docs.cloudmailin.com/)
209
- * [Postmark](http://postmarkapp.com)
210
- * [Postmark Docs](http://developer.postmarkapp.com/)
211
- * [Mandrill](http://mandrill.com)
212
- * [Mandrill Docs](http://help.mandrill.com/forums/21092258-Inbound-Email-Processing)
213
- * [Mailgun](http://mailgun.com)
214
- * [Mailgun Docs](http://documentation.mailgun.com/user\_manual.html#receiving-forwarding-and-storing-messages)
215
-
216
196
  Credits
217
197
  -------
218
198
 
219
199
  Griddler was written by Caleb Thompson and Joel Oliveira.
220
200
 
221
- Large portions of the codebase were extracted from thoughtbot's
222
- [Trajectory](http://www.apptrajectory.com).
223
-
224
201
  Thanks to our [contributors](https://github.com/thoughtbot/griddler/contributors)!
225
202
 
226
203
  ![thoughtbot](http://thoughtbot.com/images/tm/logo.png)
@@ -44,14 +44,14 @@ shared_examples_for 'Griddler adapter' do |adapter, service_params|
44
44
  Array.wrap(normalized_params).each do |params|
45
45
  email = Griddler::Email.new(params)
46
46
 
47
- email.to.should eq([{
47
+ expect(email.to).to eq([{
48
48
  token: 'hi',
49
49
  host: 'example.com',
50
50
  full: 'Hello World <hi@example.com>',
51
51
  email: 'hi@example.com',
52
52
  name: 'Hello World',
53
53
  }])
54
- email.cc.should eq [{
54
+ expect(email.cc).to eq [{
55
55
  token: 'emily',
56
56
  host: 'example.com',
57
57
  email: 'emily@example.com',
@@ -81,8 +81,8 @@ RSpec::Matchers.define :be_normalized_to do |expected|
81
81
  match do |actual|
82
82
  expected.each do |k, v|
83
83
  case v
84
- when Regexp then actual[k].should =~ v
85
- else actual[k].should === v
84
+ when Regexp then expect(actual[k]).to =~ v
85
+ else expect(actual[k]).to === v
86
86
  end
87
87
  end
88
88
  end
@@ -1,3 +1,3 @@
1
1
  module Griddler
2
- VERSION = "1.0.0-beta.1"
2
+ VERSION = "1.0.0-beta.2"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: griddler
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0.pre.beta.1
4
+ version: 1.0.0.pre.beta.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Caleb Thompson