griddler 1.0.0-alpha.1

1.0.0 includes several breaking changes, including:

* Remove generated email_processor route. Griddler now requires that you
  either create your own route pointing to the
  Griddler::EmailsController or that you use the mount_griddler helper
  in your config/routes.rb. 4a1fb503bc9be59f031e654dddacb080376c8f04
  https://github.com/thoughtbot/griddler/pull/149

* Griddler previously introduced the concept of adapters as a means of
  supporting different services. While this allowed Griddler's user base
  to grow, these adapters were prone to errors and became a maintenance
  burden. Rather than dropping support for these services, all adapters
  (including SendGrid) have been extracted from Griddler and will be
  maintained by people who have more experience in their use. Griddler
  now requires the use of an adapter to function, so you will need to
  add both griddler and an adapter to your Gemfile. Adapters are
  outlined in the README.
  https://github.com/thoughtbot/griddler/issues/124

* Change the supported Ruby version to the latest in the 2.0.* and
  2.1.* ranges and Rails version to the stable versions of 4.0 and 4.1.
  We run tests against the master version of Rails and are try to make
  sure than any failures are on the Rails side and not Griddler's, but
  those are a lower priority. These versions basically match the
  supported versions of Ruby and Rails.
  https://github.com/thoughtbot/griddler/pull/125

1.0.0 also includes a slew of bug fixes and minor improvements:

* Better handle `to` from Mailgun.
* Better error for missing EmailProcessor.
* Remove Rails warning messages in specs.
* Exit if bundler is not installed.
* Make README friendlier.
* Remove 0.5.0 upgrade note from README.md regarding mount_griddler.
* Update to RSpec 3.0.
* Link to new version of Giant Robots blog.
Replace mailgun adapter with gem

* Use From instead of recipient because recipient is only the email address.
* Add griddler-mailgun to list of adapters.
griddler 1.0.0-alpha.2

Since 1.0.0-alpha.1:
--------------------

* Replace mailgun adapter with gem

For 1.0.0:
----------

1.0.0 includes several breaking changes, including:

* Remove generated email_processor route. Griddler now requires that you
  either create your own route pointing to the
  Griddler::EmailsController or that you use the mount_griddler helper
  in your config/routes.rb. 4a1fb503bc9be59f031e654dddacb080376c8f04
  https://github.com/thoughtbot/griddler/pull/149

* Griddler previously introduced the concept of adapters as a means of
  supporting different services. While this allowed Griddler's user base
  to grow, these adapters were prone to errors and became a maintenance
  burden. Rather than dropping support for these services, all adapters
  (including SendGrid) have been extracted from Griddler and will be
  maintained by people who have more experience in their use. Griddler
  now requires the use of an adapter to function, so you will need to
  add both griddler and an adapter to your Gemfile. Adapters are
  outlined in the README.
  https://github.com/thoughtbot/griddler/issues/124

* Change the supported Ruby version to the latest in the 2.0.* and
  2.1.* ranges and Rails version to the stable versions of 4.0 and 4.1.
  We run tests against the master version of Rails and are try to make
  sure than any failures are on the Rails side and not Griddler's, but
  those are a lower priority. These versions basically match the
  supported versions of Ruby and Rails.
  https://github.com/thoughtbot/griddler/pull/125

1.0.0 also includes a slew of bug fixes and minor improvements:

* Better handle `to` from Mailgun.
* Better error for missing EmailProcessor.
* Remove Rails warning messages in specs.
* Exit if bundler is not installed.
* Make README friendlier.
* Remove 0.5.0 upgrade note from README.md regarding mount_griddler.
* Update to RSpec 3.0.
* Link to new version of Giant Robots blog.
Move be_normalized_to matcher to Griddler::Testing

This allows adapter gems to take advantage of the matcher.
Remove Postmark adapter

Replace with griddler-postmark gem.

Resolves #129
Remove Cloudmailin adapter

Replace with griddler-cloudmailin gem.

Resolves #126
Remove references to adapter gems in code

* Remove dependency on adapter gems
* Change :sendgrid references to :default for email service and
  configure a fake one rather than referencing
  Griddler::Sendgrid::Adapter
* Stub out a fake "working" adapter for when it matters

Resolves #124
Update body parser regex to allow for new lines

* Add spec for and handle proper parsing of some Gmail responses
Add NEWS with changes since 0.6.4
Fix NEWS.md formatting
Remove all configuration of addresses

Previously users could configure the format in which they would receive
addresses in to, from, and cc fields of Griddler::Email objects. The
options were :token, :full, :email, :name, or :hash, which was a hash of
all other options.

Configuring :token was previously deprecated, and :hash has been the
default for :from and :cc for a while now. All of these values are
pretty easy to get back with Hash#[], so we're simply removing the
configuration logic and always returning the hash, which is the most
generally useful option.
Add pry to help debugging during development
Remove unnecessary Griddler::Email#process calls

I'm not entirely sure why these were present, but the tests all pass
without the call. Probably a mistake made early on that was copied
whenever a new test was added.

Since it's not clear from this diff, #process gets the
Griddler.configuration.processor_class and sends it
Griddler.configuration.processor_method with self (the Griddler::Email
instance) as the argument.

This is the first step in moving the process logic out of
Griddler::Email and into the controller.
Move process logic out of Griddler::Email

This is controller code that shouldn't have been in a data object to
begin with.
Use instances rather than class methods

Rather than sending Griddler.configuration.processor_method to
Griddler.configuration.processor_class with a Griddler::Email as an
argument (i.e., EmailProcessor.process(email)), instantiate
Griddler.configuration.processor_class with a Griddler::Email and call
Griddler.configuration.processor_method on that object (i.e.,
EmailProcessor.new(email).process).

This encourages the behavior of separating logic into methods within an
EmailProcessor, which is better than having a single class method with
many responsibilities or passing state around between class methods.
griddler 1.0.0-beta.1

Griddler is now feature-frozen for 1.0.0. Any further changes will only
be bug/security fixes.

Please use v1.0.0-beta.1 in your apps and let us know about any problems
by creating an issue on GitHub.

Since 1.0.0-alpha.2
-------------------

There are a few more breaking changes since the last alpha:

* Remove the options to configure the address formats for to, from, and
  cc. All of these will now return all of the components in a Hash,
  which was the default for to and cc and an corresponds to the previous
  :hash configuration option.

  It is trivially simple as a Griddler consumer to map these addresses
  to the interesting part of the address, but decidedly non-trivial to
  support the configuration options.

  This is a breaking change, as you will no longer be able to configure
  these options and the value of from is no longer what was previously
  the default (:full).

  https://github.com/thoughtbot/griddler/pull/150

* We now initialize the processor class (i.e., EmailProcessor) with
  Griddler::Email object and then call the processor method
  (i.e., #process) on the resulting object. In some cases, this won't be
  a big deal as it was common to have the class-level methods do exactly
  this, but now you can get rid of that class method.

  https://github.com/thoughtbot/griddler/pull/153

And more minor changes and improvements:

* Move be_normalized_to matcher to Griddler::Testing so that it can be
  used for adapter gems.
* Remove Postmark and CloudMailin adapters.
* Remove all references to adapter gems in code.
* Update body parser regex to allow for new lines.
* Add pry to help debugging during development.
* Add NEWS with changes since 0.6.4. Future contributors should keep
  this up to date for changes that an average Griddler user would be
  interested in (i.e., new features but not an implementation detail
  change)

For 1.0.0:
----------

1.0.0 includes several breaking changes, including:

* Remove generated email_processor route. Griddler now requires that you
  either create your own route pointing to the
  Griddler::EmailsController or that you use the mount_griddler helper
  in your config/routes.rb. 4a1fb503bc9be59f031e654dddacb080376c8f04
  https://github.com/thoughtbot/griddler/pull/149

* Griddler previously introduced the concept of adapters as a means of
  supporting different services. While this allowed Griddler's user base
  to grow, these adapters were prone to errors and became a maintenance
  burden. Rather than dropping support for these services, all adapters
  (including SendGrid) have been extracted from Griddler and will be
  maintained by people who have more experience in their use. Griddler
  now requires the use of an adapter to function, so you will need to
  add both griddler and an adapter to your Gemfile. Adapters are
  outlined in the README.
  https://github.com/thoughtbot/griddler/issues/124

* Change the supported Ruby version to the latest in the 2.0.* and
  2.1.* ranges and Rails version to the stable versions of 4.0 and 4.1.
  We run tests against the master version of Rails and are try to make
  sure than any failures are on the Rails side and not Griddler's, but
  those are a lower priority. These versions basically match the
  supported versions of Ruby and Rails.
  https://github.com/thoughtbot/griddler/pull/125

1.0.0 also includes a slew of bug fixes and minor improvements:

* Better handle `to` from Mailgun.
* Better error for missing EmailProcessor.
* Remove Rails warning messages in specs.
* Exit if bundler is not installed.
* Make README friendlier.
* Remove 0.5.0 upgrade note from README.md regarding mount_griddler.
* Update to RSpec 3.0.
* Link to new version of Giant Robots blog.
* Replace mailgun adapter with gem
Bring README up-to-date with functionality

* Remove documentation links for external services - adapter gems should
  provide that information, not Griddler.
* Remove documentation around configuring email address formatting.
* Update documentation about email processor class to reflect that an
  instance is created to do work.
Add link to postmark-griddler to README
Convert specs to RSpec 3.0.2 syntax with Transpec

This conversion is done by Transpec 1.13.1 with the following command:
    transpec

* 73 conversions
    from: obj.should
      to: expect(obj).to

Convert specs to RSpec 3.0.2 syntax with Transpec

This conversion is done by Transpec 2.3.1 with the following command:
    transpec -f

* 6 conversions
    from: obj.stub(:message => value)
      to: allow(obj).to receive_messages(:message => value)

* 5 conversions
    from: obj.should_receive(:message)
      to: expect(obj).to receive(:message)

* 1 conversion
    from: describe 'some controller' { }
      to: describe 'some controller', :type => :controller { }

For more details: https://github.com/yujinakayama/transpec#supported-conversions
griddler 1.0.0-beta.2

Griddler is now feature-frozen for 1.0.0. Any further changes will only
be bug/security fixes.

Please use v1.0.0-beta.2 in your apps and let us know about any problems
by creating an issue on GitHub.

Since 1.0.0-beta.1
-------------------

* Bring README up-to-date with functionality.
* Add link to postmark-griddler to README.
* Convert specs to RSpec 3.0.2 syntax with Transpec.

For 1.0.0:
----------

1.0.0 includes several breaking changes, including:

* Remove the options to configure the address formats for to, from, and
  cc. All of these will now return all of the components in a Hash,
  which was the default for to and cc and an corresponds to the previous
  :hash configuration option.

  It is trivially simple as a Griddler consumer to map these addresses
  to the interesting part of the address, but decidedly non-trivial to
  support the configuration options.

  This is a breaking change, as you will no longer be able to configure
  these options and the value of from is no longer what was previously
  the default (:full). https://github.com/thoughtbot/griddler/pull/150

* We now initialize the processor class (i.e., EmailProcessor) with
  Griddler::Email object and then call the processor method
  (i.e., #process) on the resulting object. In some cases, this won't be
  a big deal as it was common to have the class-level methods do exactly
  this, but now you can get rid of that class method.
  https://github.com/thoughtbot/griddler/pull/153

* Remove generated email_processor route. Griddler now requires that you
  either create your own route pointing to the
  Griddler::EmailsController or that you use the mount_griddler helper
  in your config/routes.rb. 4a1fb503bc9be59f031e654dddacb080376c8f04
  https://github.com/thoughtbot/griddler/pull/149

* Griddler previously introduced the concept of adapters as a means of
  supporting different services. While this allowed Griddler's user base
  to grow, these adapters were prone to errors and became a maintenance
  burden. Rather than dropping support for these services, all adapters
  (including SendGrid) have been extracted from Griddler and will be
  maintained by people who have more experience in their use. Griddler
  now requires the use of an adapter to function, so you will need to
  add both griddler and an adapter to your Gemfile. Adapters are
  outlined in the README.
  https://github.com/thoughtbot/griddler/issues/124

* Change the supported Ruby version to the latest in the 2.0.* and
  2.1.* ranges and Rails version to the stable versions of 4.0 and 4.1.
  We run tests against the master version of Rails and are try to make
  sure than any failures are on the Rails side and not Griddler's, but
  those are a lower priority. These versions basically match the
  supported versions of Ruby and Rails.
  https://github.com/thoughtbot/griddler/pull/125

1.0.0 also includes a slew of bug fixes and minor improvements:

* Move be_normalized_to matcher to Griddler::Testing so that it can be
  used for adapter gems.
* Remove Postmark and CloudMailin adapters.
* Remove all references to adapter gems in code.
* Update body parser regex to allow for new lines.
* Add pry to help debugging during development.
* Add NEWS with changes since 0.6.4. Future contributors should keep
  this up to date for changes that an average Griddler user would be
  interested in (i.e., new features but not an implementation detail
  change)
* Better handle `to` from Mailgun.
* Better error for missing EmailProcessor.
* Remove Rails warning messages in specs.
* Exit if bundler is not installed.
* Make README friendlier.
* Remove 0.5.0 upgrade note from README.md regarding mount_griddler.
* Update to RSpec 3.0.
* Link to new version of Giant Robots blog.
* Replace mailgun adapter with gem