stripe_wrapper 0.1.5 → 0.1.6

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: e6fb066fee9e3d91f471a5a9287b4fc5a7e28bf4
4
- data.tar.gz: 6cf82ce54862e97ccb29e10d16ff9f8dd9a0f112
3
+ metadata.gz: 608895732525b9ea768c68e4e6a2abd91d5b5cd2
4
+ data.tar.gz: 1642287f1f67a297ec72ca68e5398c299f2a994c
5
5
  SHA512:
6
- metadata.gz: e720529b1737ffad511db9c716426b66f456eafb955a9a5763fa5c7ac9f0bc5f9803bb089b6dfa6a7b48d2e9029d235cfdcbefbb85580bef711713d239071460
7
- data.tar.gz: 19f0a04ab0284c64f54c35f657f0b438fb1e5614362517970fffa6e90058e3109dad9e2b340e058ab8cdac35864c6ff13da816811ca4548bcd621136a5b5bd68
6
+ metadata.gz: 235468ffcff1e8e40b28e2cb21a0ef9b82cf894994da7b2b38a167b1d7e14dc09bb6b207d66091174d51ed1e903d0b9620edc2aae40111b77bbd38f0fd35c8f2
7
+ data.tar.gz: 65326c20b042d0f0650a8db42724b4561b117123c2c0d5e6a2e2a67545bd9b1d664cb8eca456d6dc702e83ff9caf941a3ae91e49dede5e47a5906e3d69ae4ba8
data/README.md CHANGED
@@ -1,8 +1,6 @@
1
1
  # StripeWrapper
2
- Short description and motivation.
2
+ StripeWrapper is a Wrapper around the Stripe Gem, simplifying the amount of work you need to do in order to generate charges and customers using [Stripe](https://www.stripe.com). The main purpose of this gem is to allow you to implement an easy solution using [Stripe](https://www.stripe.com) in just a few lines of code.
3
3
 
4
- ## Usage
5
- How to use my plugin.
6
4
 
7
5
  ## Installation
8
6
  Add this line to your application's Gemfile:
@@ -16,13 +14,89 @@ And then execute:
16
14
  $ bundle
17
15
  ```
18
16
 
17
+
19
18
  Or install it yourself as:
20
19
  ```bash
21
20
  $ gem install stripe_wrapper
22
21
  ```
23
22
 
23
+ Then execute the installer in order to generate the migrations and mount the engine
24
+ ```bash
25
+ $ rails generate stripe_wrapper:install
26
+ ```
27
+
28
+ This will copy the two core models of the Wrapper:
29
+
30
+ 1. Charges (`StripeWrapper::Charge`)
31
+
32
+ 2. Customers (`StripeWrapper::Customer`)
33
+
34
+ You can also copy all the controllers, views and models by running in order to customize the views and scaffolds as you like
35
+ ```
36
+ $ rails generate stripe_wrapper:copy_files
37
+ ```
38
+
39
+ ## Usage
40
+ After installing the gem and running the generators, using this gem is very easy. These are the steps you must follow in order to use it.
41
+
42
+ 1. You must add the main helper to your main_app's ApplicationController, as follows:
43
+
44
+ ```ruby
45
+ class ApplicationController < ActionController::Base
46
+ include StripeWrapper::StripeWrapperHelper
47
+ #More Code
48
+ end
49
+ ```
50
+
51
+ 2. Go to an action where you decide to charge the customer. Here you must set the amount you're charging your customer. You can do this easily by using the following method:
52
+
53
+ ```ruby
54
+ def my_cool_action
55
+ stripe_set_amount(@amount)
56
+ end
57
+ ```
58
+
59
+ 3. In the corresponding view, render stripe_wrapper's partial, passing as argument the URL you desire to be redirected to after the charge is processed.
60
+
61
+ ```ruby
62
+ = render partial: 'stripe_wrapper/charges/pay',locals:{redirect_url: your_cool_path}
63
+ ```
64
+
65
+ 4. After the payment is processed, you will be redirected to the path you specified, with the charge_id param as response. Let's say you were redirected to the action payment_processed, you'd get the Charge ID like this
66
+
67
+ ```ruby
68
+ def payment_processed
69
+ charge_id = params[:charge_id]
70
+ redirect_to root_path, notice: "Payment with ID #{charge_id} was created"
71
+ end
72
+ ```
73
+
74
+ 5. You can access stripe_wrapper's dashboard by going to the engine's route (by default `/stripe_wrapper`). You'll be able to see the scaffolds of both Charges and Customers.
75
+
24
76
  ## Contributing
25
77
  Contribution directions go here.
26
78
 
79
+ ## TODO
80
+
81
+ Tests are missing, and ideally charts are needed in both scaffolds
82
+
83
+ ## Development
84
+
85
+ To be more clear - this is the for when you are working on this gem. Not for when you are implementing it into your Rails app.
86
+
87
+ First, to get started, migrate and seed the database (SQLite by default):
88
+
89
+ ```bash
90
+ bundle
91
+ # Create, migrate, and seed the development database with fake forum users, topics, and posts:
92
+ rake db:create db:migrate db:seed
93
+ ```
94
+
95
+ Then, start the dummy app server:
96
+
97
+ ```bash
98
+ rake dev:server
99
+ ```
100
+
27
101
  ## License
28
102
  The gem is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).
@@ -0,0 +1,28 @@
1
+ require 'rails/generators'
2
+ module StripeWrapper
3
+ class FileCopyGenerator < Rails::Generators::Base
4
+ source_root File.expand_path('../templates', __FILE__)
5
+
6
+ def copy_files
7
+ # controllers
8
+ source = File.join(Gem.loaded_specs["stripe_wrapper"].full_gem_path, "app", "controllers", "stripe_wrapper")
9
+ target = File.join(Rails.root, "app", "controllers", "stripe_wrapper")
10
+ FileUtils.cp_r source, target
11
+ # models
12
+ source = File.join(Gem.loaded_specs["stripe_wrapper"].full_gem_path, "app", "models", "stripe_wrapper")
13
+ target = File.join(Rails.root, "app", "models", "stripe_wrapper")
14
+ FileUtils.cp_r source, target
15
+ # views
16
+ source = File.join(Gem.loaded_specs["stripe_wrapper"].full_gem_path, "app", "views", "stripe_wrapper")
17
+ target = File.join(Rails.root, "app", "views", "stripe_wrapper")
18
+ FileUtils.cp_r source, target
19
+ # locales
20
+ source = File.join(Gem.loaded_specs["stripe_wrapper"].full_gem_path, "config", "locales", "en.yml")
21
+ target = File.join(Rails.root, "config", "locales", "stripe_wrapper.en.yml")
22
+ FileUtils.cp source, target
23
+ source = File.join(Gem.loaded_specs["stripe_wrapper"].full_gem_path, "config", "locales", "es.yml")
24
+ target = File.join(Rails.root, "config", "locales", "stripe_wrapper.es.yml")
25
+ FileUtils.cp source, target
26
+ end
27
+ end
28
+ end
@@ -10,27 +10,5 @@ module StripeWrapper
10
10
  def mount_engine
11
11
  route 'mount StripeWrapper::Engine => "/stripe_wrapper", as: "stripe_wrapper"'
12
12
  end
13
-
14
- def copy_files
15
- # controllers
16
- source = File.join(Gem.loaded_specs["stripe_wrapper"].full_gem_path, "app", "controllers", "stripe_wrapper")
17
- target = File.join(Rails.root, "app", "controllers", "stripe_wrapper")
18
- FileUtils.cp_r source, target
19
- # models
20
- source = File.join(Gem.loaded_specs["stripe_wrapper"].full_gem_path, "app", "models", "stripe_wrapper")
21
- target = File.join(Rails.root, "app", "models", "stripe_wrapper")
22
- FileUtils.cp_r source, target
23
- # views
24
- source = File.join(Gem.loaded_specs["stripe_wrapper"].full_gem_path, "app", "views", "stripe_wrapper")
25
- target = File.join(Rails.root, "app", "views", "stripe_wrapper")
26
- FileUtils.cp_r source, target
27
- # locales
28
- source = File.join(Gem.loaded_specs["stripe_wrapper"].full_gem_path, "config", "locales", "en.yml")
29
- target = File.join(Rails.root, "config", "locales", "stripe_wrapper.en.yml")
30
- FileUtils.cp source, target
31
- source = File.join(Gem.loaded_specs["stripe_wrapper"].full_gem_path, "config", "locales", "es.yml")
32
- target = File.join(Rails.root, "config", "locales", "stripe_wrapper.es.yml")
33
- FileUtils.cp source, target
34
- end
35
13
  end
36
14
  end
@@ -5,8 +5,9 @@ module StripeWrapper
5
5
  Stripe.api_key = ENV["STRIPE_KEY"]
6
6
 
7
7
  # Source is either a customer or a token
8
- def self.create_charge(customer=nil,source=nil,amount=0,currency='clp',metadata={},description='')
8
+ def self.create_charge(customer=nil,source=nil,amount=nil,currency='clp',metadata={},description='')
9
9
  #Metadata must be a hash. Example: :metadata => {'order_id' => '6735'}
10
+ return false if amount.blank?()
10
11
  Stripe::Charge.create({
11
12
  amount: amount,
12
13
  currency: currency,
@@ -1,3 +1,3 @@
1
1
  module StripeWrapper
2
- VERSION = '0.1.5'
2
+ VERSION = '0.1.6'
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: stripe_wrapper
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.5
4
+ version: 0.1.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - John Peebles | @waclock
@@ -378,6 +378,7 @@ files:
378
378
  - config/routes.rb
379
379
  - db/migrate/20161215195603_create_stripe_wrapper_customers.rb
380
380
  - db/migrate/20161215195608_create_stripe_wrapper_charges.rb
381
+ - lib/generators/stripe_wrapper/file_copy/file_copy_generator.rb
381
382
  - lib/generators/stripe_wrapper/install/USAGE
382
383
  - lib/generators/stripe_wrapper/install/install_generator.rb
383
384
  - lib/stripe_wrapper.rb