<commit_before>h1. Pippin

Pippin is a Rails Engine for processing PayPal IPN requests. It automatically adds a route to your Rails application that validates and processes IPNs.

If you want to do something with those IPN objects (and I recommend you do), then all you need to do is attach a listener, and that'll fire as each valid IPN is received.

h2. Installation and Usage

Just add it to your Gemfile:

<pre><code>gem 'pippin', '~> 0.1'</code></pre>

Then, in an initializer, add your listener:

<pre><code># config/initializers/pippin.rb
Pippin.listener = lambda { |ipn|
  # use IPN data
  ipn.params # => {'business' => '<EMAIL>', 'txn_type' => ...}
}</code></pre>

Any parameters with the suffix '_date' in their name will automatically be translated from PayPal's ugly date string to an appropriate Time object.

When constructing your form that redirects people to PayPal, you'll want to set the @notify_url@ parameter to use Pippin's URL that has automatically been added to your routes: @pippin_ipns_url@.

h2. Contributing

Contributions are very much welcome - but keep in mind the following:

* Keep patches in a separate branch.
* Write tests for your patches.
* Don't mess with the version or history file. I'll take care of that when the patch is merged in.

h2. Credits

Copyright (c) 2012, Pippin is developed and maintained by <NAME>, and is released under the open MIT Licence.
<commit_msg>Add release version to Gemfile sample.<commit_after>h1. Pippin

Pippin is a Rails Engine for processing PayPal IPN requests. It automatically adds a route to your Rails application that validates and processes IPNs.

If you want to do something with those IPN objects (and I recommend you do), then all you need to do is attach a listener, and that'll fire as each valid IPN is received.

h2. Installation and Usage

Just add it to your Gemfile:

<pre><code>gem 'pippin', '~> 0.1.1'</code></pre>

Then, in an initializer, add your listener:

<pre><code># config/initializers/pippin.rb
Pippin.listener = lambda { |ipn|
  # use IPN data
  ipn.params # => {'business' => '<EMAIL>', 'txn_type' => ...}
}</code></pre>

Any parameters with the suffix '_date' in their name will automatically be translated from PayPal's ugly date string to an appropriate Time object.

When constructing your form that redirects people to PayPal, you'll want to set the @notify_url@ parameter to use Pippin's URL that has automatically been added to your routes: @pippin_ipns_url@.

h2. Contributing

Contributions are very much welcome - but keep in mind the following:

* Keep patches in a separate branch.
* Write tests for your patches.
* Don't mess with the version or history file. I'll take care of that when the patch is merged in.

h2. Credits

Copyright (c) 2012, Pippin is developed and maintained by <NAME>, and is released under the open MIT Licence.

{'fraction_non_alphanumeric': 0.07845884413309982, 'fraction_numerical': 0.007355516637478109, 'mean_word_length': 4.269372693726937, 'pattern_counts': {'":': 0, '<': 23, '<?xml version=': 0, '>': 31, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '861867', 'n_tokens_mistral': 849, 'n_tokens_neox': 812, 'n_words': 421}