supercharged 2.0.4 → 2.1.0
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 +7 -0
- data/README.md +3 -1
- data/app/assets/javascripts/charge_form.js.coffee.erb +2 -2
- data/app/controllers/supercharged/charges_controller.rb +1 -1
- data/app/controllers/supercharged/gateway_notifications_controller.rb +4 -4
- data/app/helpers/supercharged/charges_helper.rb +4 -6
- data/app/models/charge.rb +2 -1
- data/app/models/gateway_notification.rb +12 -7
- data/app/models/supercharged/charge/base.rb +39 -33
- data/config/routes.rb +1 -1
- data/lib/supercharged/version.rb +1 -1
- data/test/fake_app.rb +1 -0
- data/test/supercharged/controllers/charges_controller_test.rb +3 -3
- data/test/supercharged/controllers/gateway_notifications_controller_test.rb +8 -8
- data/test/supercharged/helpers/charges_helper_test.rb +3 -1
- data/test/supercharged/models/charge_test.rb +1 -1
- data/test/supercharged/models/geneway_notification_test.rb +5 -3
- data/test/test_helper.rb +0 -2
- metadata +29 -85
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 5e8d7ac5853344d5679abd3e17acf7dc1b6279b6
|
4
|
+
data.tar.gz: 6960d5ece3a7b407c7b13ca86dd57715452b7bea
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 602af557001d93eb89e6e76412b6e1a1beea04be1a75f98850710471a3ec073e15805fbbf1587bfedde64532b1d87d0877fa1fb23a19c6fb11456b6eef571c80
|
7
|
+
data.tar.gz: ac0b75823e466d61dd7c05c399b6e3cb008f739491a2059443a0f6dd9f7265140fdcf315f686c9a4d1fe85d4a4e002a33ddbbe40152c752a3e7e8e2fd8ca060d
|
data/README.md
CHANGED
@@ -36,6 +36,7 @@ Create config/initializers/supercharged.rb
|
|
36
36
|
|
37
37
|
```ruby
|
38
38
|
ActiveMerchant::Billing::Base.integration_mode = Rails.env.production? ? :production : :test
|
39
|
+
ActiveMerchant::Billing::Base.mode = Rails.env.production? ? :production : :test
|
39
40
|
```
|
40
41
|
|
41
42
|
Add
|
@@ -81,7 +82,8 @@ supercharged controllers: {charges: :charges, gateway_notifications: :gateway_no
|
|
81
82
|
Create model in app/models/charge.rb and inherit from Supercharged::Charge::Base
|
82
83
|
|
83
84
|
```ruby
|
84
|
-
class Charge <
|
85
|
+
class Charge < ActiveRecord::Base
|
86
|
+
include Supercharged::Charge::Base
|
85
87
|
# your custom code here
|
86
88
|
|
87
89
|
def approve(real_amount)
|
@@ -5,7 +5,7 @@ class @SuperchargedForm
|
|
5
5
|
|
6
6
|
@amount_input = @form.find("[role='charge-amount']")
|
7
7
|
@gateway_name_input = @form.find("[role='charge-gateway-name']")
|
8
|
-
@id_input =
|
8
|
+
@id_input = @form.find("[role='payment-form-order']")
|
9
9
|
|
10
10
|
@form.submit =>
|
11
11
|
valid = @startPayment()
|
@@ -39,7 +39,7 @@ class @SuperchargedForm
|
|
39
39
|
async: false,
|
40
40
|
data: {charge: charge_attributes},
|
41
41
|
success: (response) ->
|
42
|
-
options.success(response)
|
42
|
+
options.success(response.charge)
|
43
43
|
error: (jqXHR, status, errorThrown)=>
|
44
44
|
return unless jqXHR.status == 422
|
45
45
|
|
@@ -8,7 +8,7 @@ class Supercharged::ChargesController < ApplicationController
|
|
8
8
|
charge.user = current_user
|
9
9
|
|
10
10
|
if charge.save
|
11
|
-
render json: charge.as_json(only: [:id])
|
11
|
+
render json: { charge: charge.as_json(only: [:id]) }
|
12
12
|
else
|
13
13
|
render json: { errors: charge.errors }, status: :unprocessable_entity
|
14
14
|
end
|
@@ -9,10 +9,10 @@ class Supercharged::GatewayNotificationsController < ApplicationController
|
|
9
9
|
@notification = GatewayNotification.create!(params: params, gateway: params[:gateway], raw_post: request.raw_post)
|
10
10
|
@notification.logger = persistent_logger
|
11
11
|
|
12
|
-
error = if !@notification.
|
13
|
-
"not_completed"
|
14
|
-
elsif !@notification.acknowledge
|
12
|
+
error = if !@notification.acknowledge
|
15
13
|
"acknowledge_failed"
|
14
|
+
elsif !@notification.complete?
|
15
|
+
"not_completed"
|
16
16
|
elsif !@notification.charge
|
17
17
|
"charge_not_found"
|
18
18
|
end
|
@@ -23,7 +23,7 @@ class Supercharged::GatewayNotificationsController < ApplicationController
|
|
23
23
|
charge = @notification.charge
|
24
24
|
|
25
25
|
if charge && !charge.error?
|
26
|
-
@notification.charge.
|
26
|
+
@notification.charge.fail
|
27
27
|
@notification.charge.update_attribute(:error, error)
|
28
28
|
end
|
29
29
|
|
@@ -1,6 +1,5 @@
|
|
1
1
|
module Supercharged::ChargesHelper
|
2
2
|
# No order id while generating form. It will be added later via JS
|
3
|
-
# JS finds order input by this fake id because id and name will be integration specific
|
4
3
|
FAKE_ORDER_ID = "[payment_order_id]"
|
5
4
|
|
6
5
|
def charge_form_for(service_name, options = {}, &block)
|
@@ -12,10 +11,11 @@ module Supercharged::ChargesHelper
|
|
12
11
|
options = with_default_html_options(options)
|
13
12
|
|
14
13
|
account = options.delete(:account)
|
15
|
-
notify_url = gateways_result_url(service_name)
|
16
14
|
|
17
15
|
payment_service_for(FAKE_ORDER_ID, account, options) do |service|
|
18
|
-
service.notify_url
|
16
|
+
service.notify_url gateways_result_url(service_name)
|
17
|
+
service.return_url root_url
|
18
|
+
service.cancel_return_url new_charge_url
|
19
19
|
block.call(service)
|
20
20
|
end
|
21
21
|
end
|
@@ -40,9 +40,7 @@ module Supercharged::ChargesHelper
|
|
40
40
|
{
|
41
41
|
role: "charge-amount",
|
42
42
|
required: true,
|
43
|
-
|
44
|
-
min_value: Charge.min_amount
|
45
|
-
}
|
43
|
+
min: Charge.new(user: current_user).min_amount
|
46
44
|
}
|
47
45
|
end
|
48
46
|
|
data/app/models/charge.rb
CHANGED
@@ -12,7 +12,13 @@ class GatewayNotification < ActiveRecord::Base
|
|
12
12
|
attr_accessor :raw_post, :logger
|
13
13
|
|
14
14
|
def acknowledge
|
15
|
-
adapter.acknowledge
|
15
|
+
res = adapter.acknowledge
|
16
|
+
|
17
|
+
if charge_id.nil? && adapter.item_id
|
18
|
+
update_column(:charge_id, adapter.item_id)
|
19
|
+
end
|
20
|
+
|
21
|
+
res
|
16
22
|
end
|
17
23
|
|
18
24
|
def complete?
|
@@ -28,12 +34,14 @@ class GatewayNotification < ActiveRecord::Base
|
|
28
34
|
end
|
29
35
|
|
30
36
|
def approve
|
37
|
+
raise EmptyChargeIdError unless charge_id
|
38
|
+
|
31
39
|
logger.info "real amount = #{real_amount}"
|
32
40
|
charge.approve(real_amount) unless charge.ok?
|
33
41
|
end
|
34
42
|
|
35
43
|
def real_amount
|
36
|
-
|
44
|
+
adapter.gross
|
37
45
|
end
|
38
46
|
|
39
47
|
private
|
@@ -44,12 +52,9 @@ class GatewayNotification < ActiveRecord::Base
|
|
44
52
|
raise "Unknown integration '#{gateway}'"
|
45
53
|
end
|
46
54
|
|
47
|
-
def service
|
48
|
-
"ActiveMerchant::Billing::Integrations::#{gateway.classify}::Helper".classify.constantize
|
49
|
-
end
|
50
|
-
|
51
55
|
def set_charge_id
|
52
|
-
self.charge_id
|
56
|
+
self.charge_id ||= adapter.item_id
|
57
|
+
true
|
53
58
|
end
|
54
59
|
|
55
60
|
end
|
@@ -1,51 +1,52 @@
|
|
1
1
|
module Supercharged
|
2
2
|
module Charge
|
3
|
-
|
4
|
-
|
3
|
+
module Base
|
4
|
+
extend ActiveSupport::Concern
|
5
5
|
|
6
|
-
|
7
|
-
|
6
|
+
included do
|
7
|
+
self.table_name = "charges"
|
8
8
|
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
belongs_to :user
|
10
|
+
has_many :gateway_input_notifications
|
11
|
+
has_many :gateway_responses
|
12
12
|
|
13
|
-
|
14
|
-
|
15
|
-
model.class.min_amount
|
13
|
+
validates :amount, presence: true, numericality: {
|
14
|
+
greater_than_or_equal_to: :min_amount
|
16
15
|
}
|
17
|
-
}
|
18
16
|
|
19
|
-
|
20
|
-
|
17
|
+
scope :latest, ->{ order("created_at DESC") }
|
18
|
+
scope :by_gateway, ->(gateway_name) { where(gateway_name: gateway_name.to_s) }
|
21
19
|
|
22
|
-
|
23
|
-
|
20
|
+
state_machine :state, initial: :new do
|
21
|
+
# store_audit_trail
|
24
22
|
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
23
|
+
state :new
|
24
|
+
state :rejected
|
25
|
+
state :ok
|
26
|
+
state :error
|
29
27
|
|
30
|
-
|
31
|
-
|
32
|
-
|
28
|
+
event :set_ok do
|
29
|
+
transition [:new, :error, :pending] => :ok
|
30
|
+
end
|
33
31
|
|
34
|
-
|
35
|
-
|
36
|
-
|
32
|
+
event :set_failed do
|
33
|
+
transition [:new, :pending] => :error
|
34
|
+
end
|
37
35
|
|
38
|
-
|
39
|
-
|
40
|
-
|
36
|
+
event :reject do
|
37
|
+
transition [:new, :error, :pending] => :rejected
|
38
|
+
end
|
41
39
|
|
42
|
-
|
43
|
-
|
40
|
+
event :set_pending do
|
41
|
+
transition [:new, :error] => :pending
|
42
|
+
end
|
44
43
|
end
|
45
44
|
end
|
46
45
|
|
47
|
-
|
48
|
-
|
46
|
+
module ClassMethods
|
47
|
+
def with_token(token)
|
48
|
+
where(gateway_token: token).first
|
49
|
+
end
|
49
50
|
end
|
50
51
|
|
51
52
|
# require implicit amount from gateway, not from user
|
@@ -54,7 +55,12 @@ module Supercharged
|
|
54
55
|
set_ok!
|
55
56
|
end
|
56
57
|
|
57
|
-
def
|
58
|
+
def fail
|
59
|
+
self.state_event = "set_failed"
|
60
|
+
save(validate: false)
|
61
|
+
end
|
62
|
+
|
63
|
+
def min_amount
|
58
64
|
1
|
59
65
|
end
|
60
66
|
|
data/config/routes.rb
CHANGED
@@ -15,7 +15,7 @@ module ActionDispatch::Routing
|
|
15
15
|
end
|
16
16
|
end
|
17
17
|
|
18
|
-
|
18
|
+
post "gateways/:gateway/result" => "#{controllers[:gateway_notifications]}#create", as: :gateways_result
|
19
19
|
end
|
20
20
|
|
21
21
|
end
|
data/lib/supercharged/version.rb
CHANGED
data/test/fake_app.rb
CHANGED
@@ -10,6 +10,7 @@ app = Class.new(Rails::Application)
|
|
10
10
|
app.config.secret_token = "3b7cd727ee24e8444053437c36cc66c4"
|
11
11
|
app.config.session_store :cookie_store, :key => "_fakeapp_session"
|
12
12
|
app.config.active_support.deprecation = :log
|
13
|
+
app.config.eager_load = false
|
13
14
|
app.initialize!
|
14
15
|
|
15
16
|
Rails.application.routes.draw do
|
@@ -2,14 +2,14 @@ require 'test_helper'
|
|
2
2
|
|
3
3
|
describe Supercharged::ChargesController do
|
4
4
|
describe "create action" do
|
5
|
-
|
5
|
+
describe "authorized" do
|
6
6
|
let(:fake_user) { User.create! }
|
7
7
|
|
8
8
|
before do
|
9
9
|
Supercharged::ChargesController.any_instance.stubs(:current_user).returns(fake_user)
|
10
10
|
end
|
11
11
|
|
12
|
-
|
12
|
+
describe "correct conditions" do
|
13
13
|
it "response contains id in json" do
|
14
14
|
post :create, charge: { amount: 100 }
|
15
15
|
|
@@ -20,7 +20,7 @@ describe Supercharged::ChargesController do
|
|
20
20
|
end
|
21
21
|
end
|
22
22
|
|
23
|
-
|
23
|
+
describe "bad conditions" do
|
24
24
|
it "response contains errors in json" do
|
25
25
|
post :create, charge: { amount: 0 }
|
26
26
|
|
@@ -2,18 +2,18 @@ require 'test_helper'
|
|
2
2
|
|
3
3
|
describe Supercharged::GatewayNotificationsController do
|
4
4
|
describe "create" do
|
5
|
-
let(:charge) { Charge.create!(
|
5
|
+
let(:charge) { Charge.create!(user_id: 1, amount: 10) }
|
6
6
|
|
7
|
-
|
7
|
+
describe "authorized" do
|
8
8
|
let(:fake_user) { stub(id: 1) }
|
9
9
|
|
10
10
|
before do
|
11
11
|
GatewayNotification.any_instance.stubs(:current_user).returns(fake_user)
|
12
12
|
end
|
13
13
|
|
14
|
-
|
14
|
+
describe "correct conditions" do
|
15
15
|
it "works with good notification" do
|
16
|
-
adapter = stub(item_id: 1, "complete?" => true, acknowledge: true, charge: charge)
|
16
|
+
adapter = stub(item_id: 1, "complete?" => true, acknowledge: true, charge: charge, gross: 100)
|
17
17
|
|
18
18
|
GatewayNotification.any_instance.stubs(:adapter).returns(adapter)
|
19
19
|
|
@@ -26,7 +26,7 @@ describe Supercharged::GatewayNotificationsController do
|
|
26
26
|
end
|
27
27
|
end
|
28
28
|
|
29
|
-
|
29
|
+
describe "bad conditions" do
|
30
30
|
it "completed = false" do
|
31
31
|
adapter = stub(item_id: 1, "complete?" => false, acknowledge: true, charge: charge)
|
32
32
|
|
@@ -38,7 +38,7 @@ describe Supercharged::GatewayNotificationsController do
|
|
38
38
|
charge.state_name.must_equal :error
|
39
39
|
charge.error.must_equal "not_completed"
|
40
40
|
|
41
|
-
assert_response :
|
41
|
+
assert_response :found
|
42
42
|
end
|
43
43
|
|
44
44
|
it "acknowledge = false" do
|
@@ -52,12 +52,12 @@ describe Supercharged::GatewayNotificationsController do
|
|
52
52
|
charge.state_name.must_equal :error
|
53
53
|
charge.error.must_equal "acknowledge_failed"
|
54
54
|
|
55
|
-
assert_response :
|
55
|
+
assert_response :found
|
56
56
|
end
|
57
57
|
end
|
58
58
|
end
|
59
59
|
|
60
|
-
|
60
|
+
describe "without any payload params" do
|
61
61
|
it "returns bad_request" do
|
62
62
|
post :create, gateway: "paypal"
|
63
63
|
|
@@ -2,7 +2,9 @@ require 'test_helper'
|
|
2
2
|
|
3
3
|
class Supercharged::ChargesHelperTest < ActionView::TestCase
|
4
4
|
def test_min_value
|
5
|
-
|
5
|
+
self.stubs(:current_user).returns(User.new)
|
6
|
+
Charge.any_instance.stubs(:min_amount).returns(500)
|
7
|
+
field = charge_form_amount_field(sample_service)
|
6
8
|
field.must_include 'min="500"'
|
7
9
|
end
|
8
10
|
|
@@ -4,18 +4,20 @@ describe GatewayNotification do
|
|
4
4
|
describe "create" do
|
5
5
|
it "raise EmptyChargeId if charge_id = nil" do
|
6
6
|
->{
|
7
|
-
GatewayNotification.create!(gateway: "webmoney")
|
7
|
+
notification = GatewayNotification.create!(gateway: "webmoney")
|
8
|
+
notification.approve
|
8
9
|
}.must_raise GatewayNotification::EmptyChargeIdError
|
9
10
|
end
|
10
11
|
|
11
|
-
it "
|
12
|
+
it "populates params with result" do
|
12
13
|
gateway_notification = GatewayNotification.new
|
13
14
|
|
14
15
|
adapter = stub(item_id: 42)
|
15
16
|
gateway_notification.stubs(:adapter).returns(adapter)
|
16
17
|
|
17
18
|
gateway_notification.save!
|
19
|
+
|
18
20
|
gateway_notification.charge_id.must_equal 42
|
19
21
|
end
|
20
22
|
end
|
21
|
-
end
|
23
|
+
end
|
data/test/test_helper.rb
CHANGED
@@ -3,7 +3,6 @@ ENV["RAILS_ENV"] = "test"
|
|
3
3
|
require "minitest/autorun"
|
4
4
|
require "minitest/spec"
|
5
5
|
require "minitest/pride"
|
6
|
-
require "minitest-spec-context"
|
7
6
|
require "mocha/setup"
|
8
7
|
|
9
8
|
require 'rails'
|
@@ -15,7 +14,6 @@ require "minitest/rails"
|
|
15
14
|
|
16
15
|
require 'state_machine'
|
17
16
|
require 'state_machine-audit_trail'
|
18
|
-
require 'strong_parameters'
|
19
17
|
|
20
18
|
require "supercharged"
|
21
19
|
require "fake_app"
|
metadata
CHANGED
@@ -1,174 +1,125 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: supercharged
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0
|
5
|
-
prerelease:
|
4
|
+
version: 2.1.0
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- divineforest
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date:
|
11
|
+
date: 2014-02-10 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: rails
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
16
|
requirements:
|
19
|
-
- -
|
17
|
+
- - "~>"
|
20
18
|
- !ruby/object:Gem::Version
|
21
|
-
version: '
|
19
|
+
version: '4'
|
22
20
|
type: :runtime
|
23
21
|
prerelease: false
|
24
22
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
23
|
requirements:
|
27
|
-
- -
|
24
|
+
- - "~>"
|
28
25
|
- !ruby/object:Gem::Version
|
29
|
-
version: '
|
26
|
+
version: '4'
|
30
27
|
- !ruby/object:Gem::Dependency
|
31
28
|
name: state_machine
|
32
29
|
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
30
|
requirements:
|
35
|
-
- -
|
31
|
+
- - ">="
|
36
32
|
- !ruby/object:Gem::Version
|
37
33
|
version: '0'
|
38
34
|
type: :runtime
|
39
35
|
prerelease: false
|
40
36
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
-
none: false
|
42
37
|
requirements:
|
43
|
-
- -
|
38
|
+
- - ">="
|
44
39
|
- !ruby/object:Gem::Version
|
45
40
|
version: '0'
|
46
41
|
- !ruby/object:Gem::Dependency
|
47
42
|
name: state_machine-audit_trail
|
48
43
|
requirement: !ruby/object:Gem::Requirement
|
49
|
-
none: false
|
50
44
|
requirements:
|
51
|
-
- -
|
45
|
+
- - ">="
|
52
46
|
- !ruby/object:Gem::Version
|
53
47
|
version: '0'
|
54
48
|
type: :runtime
|
55
49
|
prerelease: false
|
56
50
|
version_requirements: !ruby/object:Gem::Requirement
|
57
|
-
none: false
|
58
51
|
requirements:
|
59
|
-
- -
|
52
|
+
- - ">="
|
60
53
|
- !ruby/object:Gem::Version
|
61
54
|
version: '0'
|
62
55
|
- !ruby/object:Gem::Dependency
|
63
56
|
name: activemerchant
|
64
57
|
requirement: !ruby/object:Gem::Requirement
|
65
|
-
none: false
|
66
58
|
requirements:
|
67
|
-
- -
|
59
|
+
- - ">="
|
68
60
|
- !ruby/object:Gem::Version
|
69
61
|
version: '0'
|
70
62
|
type: :runtime
|
71
63
|
prerelease: false
|
72
64
|
version_requirements: !ruby/object:Gem::Requirement
|
73
|
-
none: false
|
74
65
|
requirements:
|
75
|
-
- -
|
76
|
-
- !ruby/object:Gem::Version
|
77
|
-
version: '0'
|
78
|
-
- !ruby/object:Gem::Dependency
|
79
|
-
name: strong_parameters
|
80
|
-
requirement: !ruby/object:Gem::Requirement
|
81
|
-
none: false
|
82
|
-
requirements:
|
83
|
-
- - ! '>='
|
84
|
-
- !ruby/object:Gem::Version
|
85
|
-
version: '0'
|
86
|
-
type: :runtime
|
87
|
-
prerelease: false
|
88
|
-
version_requirements: !ruby/object:Gem::Requirement
|
89
|
-
none: false
|
90
|
-
requirements:
|
91
|
-
- - ! '>='
|
66
|
+
- - ">="
|
92
67
|
- !ruby/object:Gem::Version
|
93
68
|
version: '0'
|
94
69
|
- !ruby/object:Gem::Dependency
|
95
70
|
name: sqlite3
|
96
71
|
requirement: !ruby/object:Gem::Requirement
|
97
|
-
none: false
|
98
72
|
requirements:
|
99
|
-
- -
|
73
|
+
- - ">="
|
100
74
|
- !ruby/object:Gem::Version
|
101
75
|
version: '0'
|
102
76
|
type: :development
|
103
77
|
prerelease: false
|
104
78
|
version_requirements: !ruby/object:Gem::Requirement
|
105
|
-
none: false
|
106
79
|
requirements:
|
107
|
-
- -
|
80
|
+
- - ">="
|
108
81
|
- !ruby/object:Gem::Version
|
109
82
|
version: '0'
|
110
83
|
- !ruby/object:Gem::Dependency
|
111
84
|
name: minitest
|
112
85
|
requirement: !ruby/object:Gem::Requirement
|
113
|
-
none: false
|
114
|
-
requirements:
|
115
|
-
- - ~>
|
116
|
-
- !ruby/object:Gem::Version
|
117
|
-
version: '3.0'
|
118
|
-
type: :development
|
119
|
-
prerelease: false
|
120
|
-
version_requirements: !ruby/object:Gem::Requirement
|
121
|
-
none: false
|
122
|
-
requirements:
|
123
|
-
- - ~>
|
124
|
-
- !ruby/object:Gem::Version
|
125
|
-
version: '3.0'
|
126
|
-
- !ruby/object:Gem::Dependency
|
127
|
-
name: minitest-spec-context
|
128
|
-
requirement: !ruby/object:Gem::Requirement
|
129
|
-
none: false
|
130
86
|
requirements:
|
131
|
-
- -
|
87
|
+
- - ">="
|
132
88
|
- !ruby/object:Gem::Version
|
133
89
|
version: '0'
|
134
90
|
type: :development
|
135
91
|
prerelease: false
|
136
92
|
version_requirements: !ruby/object:Gem::Requirement
|
137
|
-
none: false
|
138
93
|
requirements:
|
139
|
-
- -
|
94
|
+
- - ">="
|
140
95
|
- !ruby/object:Gem::Version
|
141
96
|
version: '0'
|
142
97
|
- !ruby/object:Gem::Dependency
|
143
98
|
name: minitest-rails
|
144
99
|
requirement: !ruby/object:Gem::Requirement
|
145
|
-
none: false
|
146
100
|
requirements:
|
147
|
-
- -
|
101
|
+
- - ">="
|
148
102
|
- !ruby/object:Gem::Version
|
149
103
|
version: '0'
|
150
104
|
type: :development
|
151
105
|
prerelease: false
|
152
106
|
version_requirements: !ruby/object:Gem::Requirement
|
153
|
-
none: false
|
154
107
|
requirements:
|
155
|
-
- -
|
108
|
+
- - ">="
|
156
109
|
- !ruby/object:Gem::Version
|
157
110
|
version: '0'
|
158
111
|
- !ruby/object:Gem::Dependency
|
159
112
|
name: mocha
|
160
113
|
requirement: !ruby/object:Gem::Requirement
|
161
|
-
none: false
|
162
114
|
requirements:
|
163
|
-
- -
|
115
|
+
- - ">="
|
164
116
|
- !ruby/object:Gem::Version
|
165
117
|
version: '0'
|
166
118
|
type: :development
|
167
119
|
prerelease: false
|
168
120
|
version_requirements: !ruby/object:Gem::Requirement
|
169
|
-
none: false
|
170
121
|
requirements:
|
171
|
-
- -
|
122
|
+
- - ">="
|
172
123
|
- !ruby/object:Gem::Version
|
173
124
|
version: '0'
|
174
125
|
description:
|
@@ -177,6 +128,9 @@ executables: []
|
|
177
128
|
extensions: []
|
178
129
|
extra_rdoc_files: []
|
179
130
|
files:
|
131
|
+
- MIT-LICENSE
|
132
|
+
- README.md
|
133
|
+
- Rakefile
|
180
134
|
- app/assets/javascripts/charge_form.js.coffee.erb
|
181
135
|
- app/assets/javascripts/supercharged.js
|
182
136
|
- app/controllers/supercharged/charges_controller.rb
|
@@ -192,13 +146,10 @@ files:
|
|
192
146
|
- config/routes.rb
|
193
147
|
- lib/generators/supercharged/migrations_generator.rb
|
194
148
|
- lib/generators/supercharged/templates/install_migration.rb
|
149
|
+
- lib/supercharged.rb
|
195
150
|
- lib/supercharged/activemerchant.rb
|
196
151
|
- lib/supercharged/helpers.rb
|
197
152
|
- lib/supercharged/version.rb
|
198
|
-
- lib/supercharged.rb
|
199
|
-
- MIT-LICENSE
|
200
|
-
- Rakefile
|
201
|
-
- README.md
|
202
153
|
- test/fake_app.rb
|
203
154
|
- test/supercharged/controllers/charges_controller_test.rb
|
204
155
|
- test/supercharged/controllers/gateway_notifications_controller_test.rb
|
@@ -208,33 +159,26 @@ files:
|
|
208
159
|
- test/test_helper.rb
|
209
160
|
homepage:
|
210
161
|
licenses: []
|
162
|
+
metadata: {}
|
211
163
|
post_install_message:
|
212
164
|
rdoc_options: []
|
213
165
|
require_paths:
|
214
166
|
- lib
|
215
167
|
required_ruby_version: !ruby/object:Gem::Requirement
|
216
|
-
none: false
|
217
168
|
requirements:
|
218
|
-
- -
|
169
|
+
- - ">="
|
219
170
|
- !ruby/object:Gem::Version
|
220
171
|
version: '0'
|
221
|
-
segments:
|
222
|
-
- 0
|
223
|
-
hash: -682491328917340782
|
224
172
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
225
|
-
none: false
|
226
173
|
requirements:
|
227
|
-
- -
|
174
|
+
- - ">="
|
228
175
|
- !ruby/object:Gem::Version
|
229
176
|
version: '0'
|
230
|
-
segments:
|
231
|
-
- 0
|
232
|
-
hash: -682491328917340782
|
233
177
|
requirements: []
|
234
178
|
rubyforge_project:
|
235
|
-
rubygems_version:
|
179
|
+
rubygems_version: 2.2.0
|
236
180
|
signing_key:
|
237
|
-
specification_version:
|
181
|
+
specification_version: 4
|
238
182
|
summary: MVC solution for charges in rails
|
239
183
|
test_files:
|
240
184
|
- test/fake_app.rb
|