diff --git a/Gemfile b/Gemfile index 08ce361..fa75df1 100644 --- a/Gemfile +++ b/Gemfile @@ -1,4 +1,3 @@ source 'https://rubygems.org' -# Specify your gem's dependencies in griddler-ses.gemspec gemspec diff --git a/README.md b/README.md index 68dc9e8..ed5f075 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# Griddler::Ses +# Griddler::AmazonSES This is a [Griddler](https://github.com/thoughtbot/griddler) adapter that allows you to parse email replies when used with Amazon SES. @@ -9,7 +9,7 @@ Add these lines to your application's Gemfile: ```ruby gem 'griddler' -gem 'griddler-ses' +gem 'griddler-amazon_ses' ``` And then execute: @@ -29,7 +29,7 @@ And then execute: ## Contributing -Bug reports and pull requests are welcome on GitHub at https://github.com/85x14/griddler-ses. +Bug reports and pull requests are welcome on GitHub at https://github.com/ccallebs/griddler-amazon_ses. ## License diff --git a/griddler-ses.gemspec b/griddler-ses.gemspec index c22c29f..3af7ed8 100644 --- a/griddler-ses.gemspec +++ b/griddler-ses.gemspec @@ -1,16 +1,16 @@ # coding: utf-8 lib = File.expand_path('../lib', __FILE__) $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib) -require 'griddler/ses/version' +require 'griddler/amazon_ses/version' Gem::Specification.new do |spec| - spec.name = "griddler-ses" - spec.version = Griddler::Ses::VERSION - spec.authors = ["Kent Mewhort @ Coupa"] - spec.email = ["kent.mewhort@coupa.com"] + spec.name = "griddler-amazon_ses" + spec.version = Griddler::AmazonSES::VERSION + spec.authors = ["Chuck Callebs", "Kent Mewhort @ Coupa"] + spec.email = ["chuck@callebs.io", "kent.mewhort@coupa.com"] spec.summary = %q{Griddler adapter for AWS SES (handle incoming email replies through SES)} - spec.homepage = "https://github.com/85x14/griddler-ses" + spec.homepage = "https://github.com/ccallebs/griddler-amazon_ses" spec.license = "MIT" spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) } diff --git a/lib/griddler/amazon_ses.rb b/lib/griddler/amazon_ses.rb new file mode 100644 index 0000000..7d267c4 --- /dev/null +++ b/lib/griddler/amazon_ses.rb @@ -0,0 +1,13 @@ +require 'aws/sns_message' +require 'griddler' +require 'griddler/amazon_ses/version' +require 'griddler/amazon_ses/adapter' +require 'griddler/amazon_ses/middleware' +require 'griddler/amazon_ses/railtie' + +module Griddler + module AmazonSES + end +end + +Griddler.adapter_registry.register(:amazon_ses, Griddler::AmazonSES::Adapter) diff --git a/lib/griddler/ses/adapter.rb b/lib/griddler/amazon_ses/adapter.rb similarity index 99% rename from lib/griddler/ses/adapter.rb rename to lib/griddler/amazon_ses/adapter.rb index 2d2ff61..794143a 100644 --- a/lib/griddler/ses/adapter.rb +++ b/lib/griddler/amazon_ses/adapter.rb @@ -2,7 +2,7 @@ require 'net/http' module Griddler - module Ses + module AmazonSES class Adapter attr_reader :sns_json diff --git a/lib/griddler/ses/middleware.rb b/lib/griddler/amazon_ses/middleware.rb similarity index 98% rename from lib/griddler/ses/middleware.rb rename to lib/griddler/amazon_ses/middleware.rb index 2c83879..12cae09 100644 --- a/lib/griddler/ses/middleware.rb +++ b/lib/griddler/amazon_ses/middleware.rb @@ -1,5 +1,5 @@ module Griddler - module Ses + module AmazonSES class Middleware def initialize(app) @app = app diff --git a/lib/griddler/ses/railtie.rb b/lib/griddler/amazon_ses/railtie.rb similarity index 89% rename from lib/griddler/ses/railtie.rb rename to lib/griddler/amazon_ses/railtie.rb index ab5fb33..8a4ae03 100644 --- a/lib/griddler/ses/railtie.rb +++ b/lib/griddler/amazon_ses/railtie.rb @@ -1,5 +1,7 @@ +require 'rails/version' + module Griddler - module Ses + module AmazonSES class Railtie < Rails::Railtie if Rails::VERSION::MAJOR < 5 middleware = ActionDispatch::ParamsParser diff --git a/lib/griddler/amazon_ses/version.rb b/lib/griddler/amazon_ses/version.rb new file mode 100644 index 0000000..a3fba76 --- /dev/null +++ b/lib/griddler/amazon_ses/version.rb @@ -0,0 +1,5 @@ +module Griddler + module AmazonSES + VERSION = "2.0.0" + end +end diff --git a/lib/griddler/ses.rb b/lib/griddler/ses.rb deleted file mode 100644 index 08efa2c..0000000 --- a/lib/griddler/ses.rb +++ /dev/null @@ -1,13 +0,0 @@ -require 'aws/sns_message' -require 'griddler' -require 'griddler/ses/version' -require 'griddler/ses/adapter' -require 'griddler/ses/middleware' -require 'griddler/ses/railtie' - -module Griddler - module Ses - end -end - -Griddler.adapter_registry.register(:ses, Griddler::Ses::Adapter) diff --git a/lib/griddler/ses/version.rb b/lib/griddler/ses/version.rb deleted file mode 100644 index d3fe79a..0000000 --- a/lib/griddler/ses/version.rb +++ /dev/null @@ -1,5 +0,0 @@ -module Griddler - module Ses - VERSION = "1.0.3" - end -end diff --git a/spec/griddler/ses_spec.rb b/spec/griddler/amazon_ses_spec.rb similarity index 90% rename from spec/griddler/ses_spec.rb rename to spec/griddler/amazon_ses_spec.rb index c1669bb..b57b139 100644 --- a/spec/griddler/ses_spec.rb +++ b/spec/griddler/amazon_ses_spec.rb @@ -1,13 +1,13 @@ require 'spec_helper' -describe Griddler::Ses::Adapter do +describe Griddler::AmazonSES::Adapter do before do # mock the hash check on the notification, as we've zero'd the numbers allow_any_instance_of(AWS::SnsMessage).to receive(:authentic?).and_return(true) end it 'registers itself with griddler' do - Griddler.adapter_registry[:ses].should eq Griddler::Ses::Adapter + expect(Griddler.adapter_registry[:amazon_ses]).to eq Griddler::AmazonSES::Adapter end describe "Griddler shared examples" do @@ -16,27 +16,27 @@ sns_message[:mail][:commonHeaders][:cc] = ['emily@example.com'] sns_message[:mail][:commonHeaders][:from] = ['There '] - allow_any_instance_of(Griddler::Ses::Adapter).to receive(:sns_json).and_return(default_params) + allow_any_instance_of(Griddler::AmazonSES::Adapter).to receive(:sns_json).and_return(default_params) end - it_behaves_like 'Griddler adapter', :ses, {} + it_behaves_like 'Griddler adapter', :amazon_ses, {} end describe '.normalize_params' do it 'parses out the "to" addresses, returning an array' do - expect(Griddler::Ses::Adapter.normalize_params(default_params)[:to]).to eq ['"Mr Fugushima at Fugu, Inc" ', 'Foo bar '] + expect(Griddler::AmazonSES::Adapter.normalize_params(default_params)[:to]).to eq ['"Mr Fugushima at Fugu, Inc" ', 'Foo bar '] end it 'parses out the "from" address, returning a string' do - expect(Griddler::Ses::Adapter.normalize_params(default_params)[:from]).to eq "Test There " + expect(Griddler::AmazonSES::Adapter.normalize_params(default_params)[:from]).to eq "Test There " end it 'parses out the "subject", returning a string' do - expect(Griddler::Ses::Adapter.normalize_params(default_params)[:subject]).to eq "Test" + expect(Griddler::AmazonSES::Adapter.normalize_params(default_params)[:subject]).to eq "Test" end it 'parses out the text' do - expect(Griddler::Ses::Adapter.normalize_params(default_params)[:text]).to eq "Hi\n" + expect(Griddler::AmazonSES::Adapter.normalize_params(default_params)[:text]).to eq "Hi\n" end end diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index cfff09a..83f0c37 100644 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -1,7 +1,8 @@ $LOAD_PATH.unshift File.expand_path('../../lib', __FILE__) require 'griddler' require 'griddler/testing' -require 'griddler/ses' +require 'griddler/amazon_ses' +require 'rails/version' require 'action_dispatch' RSpec.configure do |config|