spree_loyalty_points 1.0.2 → 1.0.3

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/README.md CHANGED
@@ -10,7 +10,7 @@ Installation
10
10
  Add spree_loyalty_points to your Gemfile:
11
11
 
12
12
  ```ruby
13
- gem 'spree_loyalty_points', '~> 1.0.2'
13
+ gem 'spree_loyalty_points', '~> 1.0.3'
14
14
  ```
15
15
 
16
16
  Bundle your dependencies and run the installation generator:
@@ -18,7 +18,6 @@ Bundle your dependencies and run the installation generator:
18
18
  ```shell
19
19
  bundle
20
20
  bundle exec rails g spree_loyalty_points:install
21
- bundle exec rake db:migrate
22
21
  ```
23
22
 
24
23
  Usage
@@ -1,7 +1,7 @@
1
1
  require 'active_support/concern'
2
2
 
3
3
  module Spree
4
- class Order < ActiveRecord::Base
4
+ class Order
5
5
  module LoyaltyPoints
6
6
  extend ActiveSupport::Concern
7
7
 
@@ -1,7 +1,7 @@
1
1
  require 'active_support/concern'
2
2
 
3
3
  module Spree
4
- class Payment < ActiveRecord::Base
4
+ class Payment
5
5
  module LoyaltyPoints
6
6
  extend ActiveSupport::Concern
7
7
 
@@ -19,10 +19,8 @@ module Spree
19
19
  private
20
20
 
21
21
  def redeem_loyalty_points
22
- loyalty_points_redeemed = loyalty_points_for(amount, 'redeem')
23
- if by_loyalty_points? && redeemable_loyalty_points_balance?
24
- order.create_debit_transaction(loyalty_points_redeemed)
25
- end
22
+ loyalty_points_redeemed = loyalty_points_for(amount, 'redeem')
23
+ order.create_debit_transaction(loyalty_points_redeemed)
26
24
  end
27
25
 
28
26
  def return_loyalty_points
@@ -35,7 +33,14 @@ module Spree
35
33
  end
36
34
 
37
35
  def redeemable_loyalty_points_balance?
38
- amount >= Spree::Config.loyalty_points_redeeming_balance
36
+ order.user.loyalty_points_balance >= Spree::Config.loyalty_points_redeeming_balance
37
+ end
38
+
39
+ def redeemable_user_balance
40
+ unless redeemable_loyalty_points_balance?
41
+ min_balance = Spree::Config.loyalty_points_redeeming_balance
42
+ errors.add :loyalty_points_balance, "should be atleast #{ min_balance.to_s + " " + "point".pluralize(min_balance) } for redeeming Loyalty Points"
43
+ end
39
44
  end
40
45
 
41
46
  end
@@ -4,6 +4,7 @@ Spree::Payment.class_eval do
4
4
  include Spree::Payment::LoyaltyPoints
5
5
 
6
6
  validates :amount, numericality: { greater_than: 0 }, :if => :by_loyalty_points?
7
+ validate :redeemable_user_balance, :if => :by_loyalty_points?
7
8
  scope :state_not, ->(s) { where('state != ?', s) }
8
9
 
9
10
  fsm = self.state_machines[:state]
@@ -12,14 +13,14 @@ Spree::Payment.class_eval do
12
13
  fsm.after_transition :from => fsm.states.map(&:name) - [:completed], :to => [:completed], :do => :redeem_loyalty_points, :if => :by_loyalty_points?
13
14
  fsm.after_transition :from => [:completed], :to => fsm.states.map(&:name) - [:completed] , :do => :return_loyalty_points, :if => :by_loyalty_points?
14
15
 
15
- def invalidate_old_payments
16
- order.payments.with_state('checkout').where("id != ?", self.id).each do |payment|
17
- payment.invalidate!
18
- end unless by_loyalty_points?
19
- end
20
-
21
16
  private
22
17
 
18
+ def invalidate_old_payments
19
+ order.payments.with_state('checkout').where("id != ?", self.id).each do |payment|
20
+ payment.invalidate!
21
+ end unless by_loyalty_points?
22
+ end
23
+
23
24
  def notify_paid_order
24
25
  if all_payments_completed?
25
26
  order.touch :paid_at
@@ -1,5 +1,5 @@
1
1
  class AddLockVersionToSpreeUser < ActiveRecord::Migration
2
2
  def change
3
- add_column :spree_users, :lock_version, :integer, default: 0, null: false
3
+ add_column :spree_users, :lock_version, :integer, default: 0, null: false unless column_exists?(:spree_users, :lock_version)
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,47 +1,39 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: spree_loyalty_points
3
- version: !ruby/object:Gem::Version
4
- hash: 19
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.3
5
5
  prerelease:
6
- segments:
7
- - 1
8
- - 0
9
- - 2
10
- version: 1.0.2
11
6
  platform: ruby
12
- authors:
7
+ authors:
13
8
  - Jatin Baweja
14
9
  - Sushant Mittal
15
10
  autorequire:
16
11
  bindir: bin
17
12
  cert_chain: []
18
-
19
- date: 2014-03-05 00:00:00 Z
20
- dependencies:
21
- - !ruby/object:Gem::Dependency
13
+ date: 2014-04-02 00:00:00.000000000 Z
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
22
16
  name: spree_core
23
- prerelease: false
24
- requirement: &id001 !ruby/object:Gem::Requirement
17
+ requirement: !ruby/object:Gem::Requirement
25
18
  none: false
26
- requirements:
19
+ requirements:
27
20
  - - ~>
28
- - !ruby/object:Gem::Version
29
- hash: 1
30
- segments:
31
- - 2
32
- - 1
33
- version: "2.1"
21
+ - !ruby/object:Gem::Version
22
+ version: '2.1'
34
23
  type: :runtime
35
- version_requirements: *id001
24
+ prerelease: false
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ none: false
27
+ requirements:
28
+ - - ~>
29
+ - !ruby/object:Gem::Version
30
+ version: '2.1'
36
31
  description: To award loyalty points and add loyalty points payment method to spree
37
32
  email: info@vinsol.com
38
33
  executables: []
39
-
40
34
  extensions: []
41
-
42
35
  extra_rdoc_files: []
43
-
44
- files:
36
+ files:
45
37
  - LICENSE
46
38
  - README.md
47
39
  - app/assets/javascripts/admin/spree_loyalty_points.js
@@ -105,39 +97,29 @@ files:
105
97
  - db/migrate/20140205111553_add_transaction_id_to_spree_loyalty_points_transactions.rb
106
98
  - db/migrate/20140207055836_add_lock_version_to_spree_user.rb
107
99
  homepage: http://vinsol.com
108
- licenses:
100
+ licenses:
109
101
  - MIT
110
102
  post_install_message:
111
103
  rdoc_options: []
112
-
113
- require_paths:
104
+ require_paths:
114
105
  - lib
115
- required_ruby_version: !ruby/object:Gem::Requirement
106
+ required_ruby_version: !ruby/object:Gem::Requirement
116
107
  none: false
117
- requirements:
118
- - - ">="
119
- - !ruby/object:Gem::Version
120
- hash: 53
121
- segments:
122
- - 1
123
- - 9
124
- - 3
108
+ requirements:
109
+ - - ! '>='
110
+ - !ruby/object:Gem::Version
125
111
  version: 1.9.3
126
- required_rubygems_version: !ruby/object:Gem::Requirement
112
+ required_rubygems_version: !ruby/object:Gem::Requirement
127
113
  none: false
128
- requirements:
129
- - - ">="
130
- - !ruby/object:Gem::Version
131
- hash: 3
132
- segments:
133
- - 0
134
- version: "0"
135
- requirements:
114
+ requirements:
115
+ - - ! '>='
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ requirements:
136
119
  - none
137
120
  rubyforge_project:
138
- rubygems_version: 1.8.24
121
+ rubygems_version: 1.8.23
139
122
  signing_key:
140
123
  specification_version: 3
141
124
  summary: Add loyalty points to spree
142
125
  test_files: []
143
-