spree_account_recurring 1.0.7 → 1.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.
data/LICENSE CHANGED
@@ -1,4 +1,4 @@
1
- Copyright (c) 2013 [name of plugin creator]
1
+ Copyright (c) 2014 Vinsol
2
2
  All rights reserved.
3
3
 
4
4
  Redistribution and use in source and binary forms, with or without modification,
data/README.md CHANGED
@@ -1,4 +1,4 @@
1
- Spree Account Recurring [![Code Climate](https://codeclimate.com/github/vinsol/spree-account-recurring.png)](https://codeclimate.com/github/vinsol/spree-account-recurring) [![Build Status](https://travis-ci.org/vinsol/spree-account-recurring.svg?branch=2-1-stable)](https://travis-ci.org/vinsol/spree-account-recurring)
1
+ Spree Account Recurring [![Code Climate](https://codeclimate.com/github/vinsol/spree-account-recurring.png)](https://codeclimate.com/github/vinsol/spree-account-recurring) [![Build Status](https://travis-ci.org/vinsol/spree-account-recurring.svg?branch=2-2-stable)](https://travis-ci.org/vinsol/spree-account-recurring)
2
2
  =========================
3
3
 
4
4
  Spree extension to manage recurring payments/subscriptions using [Stripe Payment Gateway](https://stripe.com/).
@@ -10,11 +10,18 @@ Installation
10
10
 
11
11
  Install `spree_account_recurring` by adding the following to your `Gemfile`:
12
12
 
13
+ ```ruby
14
+ gem 'spree_account_recurring'
15
+ ```
16
+
17
+ For older version of Spree
18
+
13
19
  ```ruby
14
20
  # Spree 2.1.x
15
- gem 'spree_account_recurring', '~> 1.0'
21
+ gem 'spree_account_recurring', '1.0.1'
16
22
  ```
17
23
 
24
+
18
25
  Bundle your dependencies and run the installation generator:
19
26
 
20
27
  ```shell
@@ -106,4 +113,4 @@ Credits
106
113
 
107
114
  [![vinsol.com: Ruby on Rails, iOS and Android developers](http://vinsol.com/vin_logo.png "Ruby on Rails, iOS and Android developers")](http://vinsol.com)
108
115
 
109
- Copyright (c) 2014 [vinsol.com](http://vinsol.com "Ruby on Rails, iOS and Android developers"), released under the New MIT License
116
+ Copyright (c) 2014 [vinsol.com](http://vinsol.com "Ruby on Rails, iOS and Android developers"), released under the New MIT License
@@ -0,0 +1 @@
1
+ //= require spree/backend
@@ -0,0 +1 @@
1
+ //= require spree/frontend
@@ -20,6 +20,10 @@ $(document).ready(function(){
20
20
  // For errors that happen later.
21
21
  Spree.stripePaymentMethod.prepend("<div id='stripeError' class='errorExplanation' style='display:none'></div>")
22
22
 
23
+ $(".cardNumber").payment('formatCardNumber');
24
+ $(".cardExpiry").payment('formatCardExpiry');
25
+ $(".cardCode").payment('formatCardCVC');
26
+
23
27
  $('.continue').on('click', function(){
24
28
  $('#stripeError').hide();
25
29
  if(Spree.stripePaymentMethod.is(':visible')){
@@ -0,0 +1,3 @@
1
+ /*
2
+ *= require spree/backend
3
+ */
@@ -0,0 +1,3 @@
1
+ /*
2
+ *= require spree/frontend
3
+ */
@@ -0,0 +1,21 @@
1
+ module BeforeEach
2
+ extend ActiveSupport::Concern
3
+
4
+ module ClassMethods
5
+ def method_added(method)
6
+ method = method.to_s.gsub(/_with(out)?_before$/, '')
7
+ with_method, without_method = "#{method}_with_before", "#{method}_without_before"
8
+
9
+ return if method == 'before_each' or method_defined?(with_method)
10
+
11
+ define_method(with_method) do |*args, &block|
12
+ before_each
13
+ send(without_method, *args, &block)
14
+ end
15
+ alias_method_chain(method, :before)
16
+ end
17
+ end
18
+
19
+ def before_each
20
+ end
21
+ end
@@ -5,6 +5,7 @@ module Spree
5
5
  extend ActiveSupport::Concern
6
6
 
7
7
  included do
8
+ include BeforeEach
8
9
  include PlanApiHandler
9
10
  include SubscriptionApiHandler
10
11
  include SubscriptionEventApiHandler
@@ -10,8 +10,6 @@ module Spree
10
10
  has_many :plans
11
11
  attr_readonly :type
12
12
  validates :type, :name, presence: true
13
- validates :type, uniqueness: { message: 'of provider recurring already exists' }
14
-
15
13
  scope :active, -> { undeleted.where(active: true) }
16
14
 
17
15
  def self.display_name
@@ -25,9 +23,5 @@ module Spree
25
23
  def default_plan
26
24
  plans.default
27
25
  end
28
-
29
- def has_preferred_keys?
30
- preferred_secret_key.present? && preferred_public_key.present?
31
- end
32
26
  end
33
27
  end
@@ -8,7 +8,9 @@ module Spree
8
8
  INTERVAL = { week: 'Weekly', month: 'Monthly', year: 'Annually' }
9
9
  CURRENCY = { usd: 'USD', gbp: 'GBP', jpy: 'JPY', eur: 'EUR', aud: 'AUD', hkd: 'HKD', sek: 'SEK', nok: 'NOK', dkk: 'DKK', pen: 'PEN', cad: 'CAD'}
10
10
 
11
- after_initialize :set_api_key
11
+ def before_each
12
+ set_api_key
13
+ end
12
14
  end
13
15
  end
14
16
  end
@@ -1,13 +1,9 @@
1
1
  Spree::User.class_eval do
2
2
  has_many :subscriptions
3
3
 
4
- def find_or_create_stripe_customer(token=nil)
4
+ def find_or_create_stripe_customer(token)
5
5
  return api_customer if stripe_customer_id?
6
- customer = if token
7
- Stripe::Customer.create(description: email, email: email, card: token)
8
- else
9
- Stripe::Customer.create(description: email, email: email)
10
- end
6
+ customer = Stripe::Customer.create(description: email, email: email, card: token)
11
7
  update_column(:stripe_customer_id, customer.id)
12
8
  customer
13
9
  end
@@ -5,7 +5,7 @@
5
5
  <div class="alpha four columns">
6
6
  <div id="preference-settings" data-hook class="field">
7
7
  <%= label_tag nil, Spree.t(:provider) %>
8
- <%= select(:recurring, :type, Rails.application.config.spree.recurring_providers.collect {|pro| [pro.display_name, pro]}, {}, {disabled: !@recurring.new_record?, class: 'select2 fullwidth'}) %>
8
+ <%= select(:recurring, :type, Spree::Recurring.subclasses.collect {|pro| [pro.display_name, pro]}, {}, {disabled: !@recurring.new_record?, class: 'select2 fullwidth'}) %>
9
9
 
10
10
  <% unless @recurring.new_record? %>
11
11
  <%= preference_fields(@recurring, f) %>
@@ -16,9 +16,7 @@
16
16
  <fieldset class="no-border-top">
17
17
  <%= render :partial => 'form', :locals => { :f => f } %>
18
18
  <div data-hook="buttons" class="filter-actions actions">
19
- <% if @recurring.has_preferred_keys? %>
20
- <%= button_link_to Spree.t(:manage_plans), admin_recurring_plans_url(@recurring) %>
21
- <% end %>
19
+ <%= button_link_to Spree.t(:manage_plans), admin_recurring_plans_url(@recurring) %>
22
20
  <%= button Spree.t('actions.update'), 'icon-refresh' %>
23
21
  </div>
24
22
  </fieldset>
@@ -33,4 +33,4 @@
33
33
  <script type="text/javascript" src="https://js.stripe.com/v2/"></script>
34
34
  <script type="text/javascript">Stripe.setPublishableKey("<%= @plan.provider.preferred_public_key %>");</script>
35
35
  <script>Spree.stripePaymentMethod = $('#plan_' + <%= @plan.id %> + '_subscribe')</script>
36
- <%= javascript_include_tag "store/stripe" %>
36
+ <%= javascript_include_tag "spree/frontend/stripe" %>
data/config/routes.rb CHANGED
@@ -4,8 +4,12 @@ Spree::Core::Engine.routes.draw do
4
4
  resources :plans, except: :show
5
5
  end
6
6
 
7
- resources :subscriptions, only: :index
8
- resources :subscription_events, only: :index
7
+ resources :reports, only: :index do
8
+ collection do
9
+ resources :subscriptions, only: :index
10
+ resources :subscription_events, only: :index
11
+ end
12
+ end
9
13
  end
10
14
 
11
15
  resources :recurring_hooks, only: :none do
@@ -6,4 +6,4 @@ class ChangeDatatypeForAmountInSpreePlans < ActiveRecord::Migration
6
6
  def down
7
7
  change_column :spree_plans, :amount, :integer
8
8
  end
9
- end
9
+ end
@@ -5,13 +5,13 @@ module SpreeAccountRecurring
5
5
  class_option :auto_run_migrations, :type => :boolean, :default => false
6
6
 
7
7
  def add_javascripts
8
- append_file 'app/assets/javascripts/store/all.js', "//= require store/spree_account_recurring\n"
9
- append_file 'app/assets/javascripts/admin/all.js', "//= require admin/spree_account_recurring\n"
8
+ append_file 'vendor/assets/javascripts/spree/frontend/all.js', "//= require spree/frontend/spree_account_recurring\n"
9
+ append_file 'vendor/assets/javascripts/spree/backend/all.js', "//= require spree/backend/spree_account_recurring\n"
10
10
  end
11
11
 
12
12
  def add_stylesheets
13
- inject_into_file 'app/assets/stylesheets/store/all.css', " *= require store/spree_account_recurring\n", :before => /\*\//, :verbose => true
14
- inject_into_file 'app/assets/stylesheets/admin/all.css', " *= require admin/spree_account_recurring\n", :before => /\*\//, :verbose => true
13
+ inject_into_file 'vendor/assets/stylesheets/spree/frontend/all.css', " *= require spree/frontend/spree_account_recurring\n", :before => /\*\//, :verbose => true
14
+ inject_into_file 'vendor/assets/stylesheets/spree/backend/all.css', " *= require spree/backend/spree_account_recurring\n", :before => /\*\//, :verbose => true
15
15
  end
16
16
 
17
17
  def add_migrations
@@ -1,18 +1,11 @@
1
1
  module SpreeAccountRecurring
2
2
  class Engine < Rails::Engine
3
3
  require 'spree/core'
4
- require 'spree/core/environment_extension.rb'
5
- require 'spree/core/environment.rb'
6
-
7
4
  isolate_namespace Spree
8
5
  engine_name 'spree_account_recurring'
9
6
 
10
7
  config.autoload_paths += %W(#{config.root}/lib)
11
8
 
12
- Spree::Core::Environment.class_eval do
13
- attr_accessor :recurring_providers
14
- end
15
-
16
9
  # use rspec for tests
17
10
  config.generators do |g|
18
11
  g.test_framework :rspec
@@ -25,9 +18,5 @@ module SpreeAccountRecurring
25
18
  end
26
19
 
27
20
  config.to_prepare &method(:activate).to_proc
28
-
29
- initializer "spree.register.recurring_providers" do |app|
30
- app.config.spree.recurring_providers = [Spree::Recurring::StripeRecurring]
31
- end
32
21
  end
33
22
  end
metadata CHANGED
@@ -1,94 +1,98 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: spree_account_recurring
3
- version: !ruby/object:Gem::Version
4
- version: 1.0.7
3
+ version: !ruby/object:Gem::Version
4
+ hash: 19
5
5
  prerelease:
6
+ segments:
7
+ - 1
8
+ - 1
9
+ - 0
10
+ version: 1.1.0
6
11
  platform: ruby
7
- authors:
12
+ authors:
8
13
  - Priyank Gupta
9
14
  autorequire:
10
15
  bindir: bin
11
16
  cert_chain: []
12
- date: 2015-06-18 00:00:00.000000000 Z
13
- dependencies:
14
- - !ruby/object:Gem::Dependency
17
+
18
+ date: 2014-04-07 00:00:00 Z
19
+ dependencies:
20
+ - !ruby/object:Gem::Dependency
15
21
  name: spree_core
16
- requirement: !ruby/object:Gem::Requirement
17
- none: false
18
- requirements:
19
- - - ~>
20
- - !ruby/object:Gem::Version
21
- version: '2.1'
22
- type: :runtime
23
22
  prerelease: false
24
- version_requirements: !ruby/object:Gem::Requirement
23
+ requirement: &id001 !ruby/object:Gem::Requirement
25
24
  none: false
26
- requirements:
25
+ requirements:
27
26
  - - ~>
28
- - !ruby/object:Gem::Version
29
- version: '2.1'
30
- - !ruby/object:Gem::Dependency
31
- name: stripe
32
- requirement: !ruby/object:Gem::Requirement
33
- none: false
34
- requirements:
35
- - - '='
36
- - !ruby/object:Gem::Version
37
- version: 1.10.1
27
+ - !ruby/object:Gem::Version
28
+ hash: 7
29
+ segments:
30
+ - 2
31
+ - 2
32
+ version: "2.2"
38
33
  type: :runtime
34
+ version_requirements: *id001
35
+ - !ruby/object:Gem::Dependency
36
+ name: stripe
39
37
  prerelease: false
40
- version_requirements: !ruby/object:Gem::Requirement
38
+ requirement: &id002 !ruby/object:Gem::Requirement
41
39
  none: false
42
- requirements:
43
- - - '='
44
- - !ruby/object:Gem::Version
40
+ requirements:
41
+ - - "="
42
+ - !ruby/object:Gem::Version
43
+ hash: 61
44
+ segments:
45
+ - 1
46
+ - 10
47
+ - 1
45
48
  version: 1.10.1
46
- - !ruby/object:Gem::Dependency
47
- name: stripe_tester
48
- requirement: !ruby/object:Gem::Requirement
49
- none: false
50
- requirements:
51
- - - ! '>='
52
- - !ruby/object:Gem::Version
53
- version: '0'
54
49
  type: :runtime
50
+ version_requirements: *id002
51
+ - !ruby/object:Gem::Dependency
52
+ name: stripe_tester
55
53
  prerelease: false
56
- version_requirements: !ruby/object:Gem::Requirement
54
+ requirement: &id003 !ruby/object:Gem::Requirement
57
55
  none: false
58
- requirements:
59
- - - ! '>='
60
- - !ruby/object:Gem::Version
61
- version: '0'
62
- - !ruby/object:Gem::Dependency
56
+ requirements:
57
+ - - ">="
58
+ - !ruby/object:Gem::Version
59
+ hash: 3
60
+ segments:
61
+ - 0
62
+ version: "0"
63
+ type: :runtime
64
+ version_requirements: *id003
65
+ - !ruby/object:Gem::Dependency
63
66
  name: rspec-rails
64
- requirement: !ruby/object:Gem::Requirement
65
- none: false
66
- requirements:
67
- - - ~>
68
- - !ruby/object:Gem::Version
69
- version: '2.13'
70
- type: :development
71
67
  prerelease: false
72
- version_requirements: !ruby/object:Gem::Requirement
68
+ requirement: &id004 !ruby/object:Gem::Requirement
73
69
  none: false
74
- requirements:
70
+ requirements:
75
71
  - - ~>
76
- - !ruby/object:Gem::Version
77
- version: '2.13'
78
- description: Spree extension to manage recurring payments/subscriptions using Stripe
79
- Payment Gateway.
72
+ - !ruby/object:Gem::Version
73
+ hash: 25
74
+ segments:
75
+ - 2
76
+ - 13
77
+ version: "2.13"
78
+ type: :development
79
+ version_requirements: *id004
80
+ description: Spree extension to manage recurring payments/subscriptions using Stripe Payment Gateway.
80
81
  email: info@vinsol.com
81
82
  executables: []
83
+
82
84
  extensions: []
85
+
83
86
  extra_rdoc_files: []
84
- files:
87
+
88
+ files:
85
89
  - LICENSE
86
90
  - README.md
87
- - app/assets/javascripts/admin/spree_account_recurring.js
88
- - app/assets/javascripts/store/spree_account_recurring.js
89
- - app/assets/javascripts/store/stripe.js
90
- - app/assets/stylesheets/admin/spree_account_recurring.css
91
- - app/assets/stylesheets/store/spree_account_recurring.css
91
+ - app/assets/javascripts/spree/backend/spree_account_recurring.js
92
+ - app/assets/javascripts/spree/frontend/spree_account_recurring.js
93
+ - app/assets/javascripts/spree/frontend/stripe.js
94
+ - app/assets/stylesheets/spree/backend/spree_account_recurring.css
95
+ - app/assets/stylesheets/spree/frontend/spree_account_recurring.css
92
96
  - app/controllers/concerns/spree/admin/ransack_date_search.rb
93
97
  - app/controllers/spree/admin/plans_controller.rb
94
98
  - app/controllers/spree/admin/recurrings_controller.rb
@@ -97,6 +101,7 @@ files:
97
101
  - app/controllers/spree/plans_controller.rb
98
102
  - app/controllers/spree/recurring_hooks_controller.rb
99
103
  - app/controllers/spree/subscriptions_controller.rb
104
+ - app/models/concerns/before_each.rb
100
105
  - app/models/concerns/restrictive_destroyer.rb
101
106
  - app/models/concerns/spree/plan/api_handler.rb
102
107
  - app/models/concerns/spree/recurring/stripe_recurring/api_handler/plan_api_handler.rb
@@ -147,28 +152,38 @@ files:
147
152
  - db/migrate/20140404114919_change_datatype_for_amount_in_spree_plans.rb
148
153
  homepage: http://vinsol.com
149
154
  licenses: []
155
+
150
156
  post_install_message:
151
157
  rdoc_options: []
152
- require_paths:
158
+
159
+ require_paths:
153
160
  - lib
154
- required_ruby_version: !ruby/object:Gem::Requirement
161
+ required_ruby_version: !ruby/object:Gem::Requirement
155
162
  none: false
156
- requirements:
157
- - - ! '>='
158
- - !ruby/object:Gem::Version
163
+ requirements:
164
+ - - ">="
165
+ - !ruby/object:Gem::Version
166
+ hash: 53
167
+ segments:
168
+ - 1
169
+ - 9
170
+ - 3
159
171
  version: 1.9.3
160
- required_rubygems_version: !ruby/object:Gem::Requirement
172
+ required_rubygems_version: !ruby/object:Gem::Requirement
161
173
  none: false
162
- requirements:
163
- - - ! '>='
164
- - !ruby/object:Gem::Version
165
- version: '0'
166
- requirements:
174
+ requirements:
175
+ - - ">="
176
+ - !ruby/object:Gem::Version
177
+ hash: 3
178
+ segments:
179
+ - 0
180
+ version: "0"
181
+ requirements:
167
182
  - none
168
183
  rubyforge_project:
169
- rubygems_version: 1.8.23
184
+ rubygems_version: 1.8.24
170
185
  signing_key:
171
186
  specification_version: 3
172
- summary: Spree extension to manage recurring payments/subscriptions using Stripe Payment
173
- Gateway.
187
+ summary: Spree extension to manage recurring payments/subscriptions using Stripe Payment Gateway.
174
188
  test_files: []
189
+
@@ -1 +0,0 @@
1
- //= require admin/spree_backend
@@ -1 +0,0 @@
1
- //= require store/spree_frontend
@@ -1,3 +0,0 @@
1
- /*
2
- *= require admin/spree_backend
3
- */
@@ -1,3 +0,0 @@
1
- /*
2
- *= require store/spree_frontend
3
- */