webtopay 1.6.0 → 1.6.1

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
@@ -11,7 +11,7 @@ This gem could be integrated with both billing types - MACRO (VISA, MasterCard,
11
11
  Add to your gemfile:
12
12
 
13
13
  ```ruby
14
- gem "webtopay", github: 'bloomrain'
14
+ gem "webtopay", '1.6.1'
15
15
  ```
16
16
 
17
17
  ## Configuration
@@ -101,7 +101,7 @@ Then in your controller
101
101
  class ProductsController < ApplicationController
102
102
  def order
103
103
  # do some order stuff here ...
104
- @payment = WebToPay::Payment(params[:web_to_pay_payment])
104
+ @payment = WebToPay::Payment.new(params[:web_to_pay_payment])
105
105
  redirect_to @payment.url
106
106
  end
107
107
  end
@@ -1,6 +1,7 @@
1
1
  class WebToPay::Payment
2
2
  ATTRIBUTES = [:projectid, :orderid, :lang, :amount, :currency, :accepturl, :cancelurl, :callbackurl,
3
3
  :country, :paytext, :p_email, :p_name, :p_surname, :payment, :test, :version]
4
+ UNDERSCORE_MAPPINGS = {pname: :p_name, pemail: :p_email, psurname: :p_surname}
4
5
  attr_accessor *ATTRIBUTES
5
6
 
6
7
  extend ActiveModel::Naming
@@ -12,7 +13,9 @@ class WebToPay::Payment
12
13
  @sign_password = user_params[:sign_password] || WebToPay.config.sign_password
13
14
 
14
15
  params.each_pair do |field, value|
15
- self.public_send("#{field}=", value)
16
+ field_name = field.to_s.downcase.gsub('_', '').to_sym
17
+ field_name = UNDERSCORE_MAPPINGS[field_name] || field_name
18
+ self.public_send("#{field_name}=", value)
16
19
  end
17
20
  end
18
21
 
@@ -1,4 +1,4 @@
1
1
  module Webtopay
2
- VERSION = "1.6.0"
2
+ VERSION = "1.6.1"
3
3
  end
4
4
 
@@ -28,4 +28,37 @@ describe WebToPay::Payment do
28
28
  its(:data) { should == 'cHJvamVjdGlkPTEyMzQ1NiZvcmRlcmlkPTY1NDMyMSZsYW5nPUxJVCZhbW91bnQ9MjAwMCZjdXJyZW5jeT1MVEwmYWNjZXB0dXJsPWh0dHAlM0ElMkYlMkZleGFtcGxlLmNvbSUyRmFjY2VwdCZjYW5jZWx1cmw9aHR0cCUzQSUyRiUyRmV4YW1wbGUuY29tJTJGY2FuY2VsJmNhbGxiYWNrdXJsPWh0dHAlM0ElMkYlMkZleGFtcGxlLmNvbSUyRmNhbGxiYWNrJmNvdW50cnk9bHQmcGF5dGV4dD1CaWxsaW5nK2ZvcitYWCthdCt0aGUrd2Vic2l0ZStYWFgmcF9lbWFpbD1wZXRyYXMlNDBleGFtcGxlLmNvbSZwX25hbWU9Sm9uYXMmcF9zdXJuYW1lPUpvbmFpdGlzJnBheW1lbnQ9dmIyJnRlc3Q9MSZ2ZXJzaW9uPTEuNg==' }
29
29
  its(:sign) { should == '51f7a63b3e43fde47daa0afdb02cdb8f' }
30
30
 
31
+ context 'with underscored attribute names' do
32
+ let(:payment_data) {
33
+ {
34
+ 'project_id' => 123456,
35
+ 'ord_er_id' => 654321,
36
+ 'lang_' => 'LIT',
37
+ 'amo_unt' => 2000,
38
+ 'currency' => 'LTL',
39
+ 'accept_url' => 'http://example.com/accept',
40
+ 'cancel__url' => 'http://example.com/cancel',
41
+ 'callback_url' => 'http://example.com/callback',
42
+ '_country' => 'lt',
43
+ 'paytext' => 'Billing for XX at the website XXX',
44
+ 'pemail' => 'petras@example.com',
45
+ 'pname' => 'Jonas',
46
+ 'psurname' => 'Jonaitis',
47
+ 'pay_ment' => 'vb2',
48
+ 'test' => 1,
49
+ 'version' => 1.6
50
+ }
51
+ }
52
+
53
+ its(:query){ should == 'projectid=123456&orderid=654321&lang=LIT&amount=2000&currency=LTL&accepturl=http%3A%2F%2Fexample.com%2Faccept&cancelurl=http%3A%2F%2Fexample.com%2Fcancel&callbackurl=http%3A%2F%2Fexample.com%2Fcallback&country=lt&paytext=Billing+for+XX+at+the+website+XXX&p_email=petras%40example.com&p_name=Jonas&p_surname=Jonaitis&payment=vb2&test=1&version=1.6' }
54
+ its(:data) { should == 'cHJvamVjdGlkPTEyMzQ1NiZvcmRlcmlkPTY1NDMyMSZsYW5nPUxJVCZhbW91bnQ9MjAwMCZjdXJyZW5jeT1MVEwmYWNjZXB0dXJsPWh0dHAlM0ElMkYlMkZleGFtcGxlLmNvbSUyRmFjY2VwdCZjYW5jZWx1cmw9aHR0cCUzQSUyRiUyRmV4YW1wbGUuY29tJTJGY2FuY2VsJmNhbGxiYWNrdXJsPWh0dHAlM0ElMkYlMkZleGFtcGxlLmNvbSUyRmNhbGxiYWNrJmNvdW50cnk9bHQmcGF5dGV4dD1CaWxsaW5nK2ZvcitYWCthdCt0aGUrd2Vic2l0ZStYWFgmcF9lbWFpbD1wZXRyYXMlNDBleGFtcGxlLmNvbSZwX25hbWU9Sm9uYXMmcF9zdXJuYW1lPUpvbmFpdGlzJnBheW1lbnQ9dmIyJnRlc3Q9MSZ2ZXJzaW9uPTEuNg==' }
55
+ its(:sign) { should == '51f7a63b3e43fde47daa0afdb02cdb8f' }
56
+
57
+ # We assume that payment data and ATTRIBUTES are ordered in the same way
58
+ WebToPay::Payment::ATTRIBUTES.each.with_index do |attr, i|
59
+ its(attr){ should == payment_data.values[i] }
60
+ end
61
+
62
+ end
63
+
31
64
  end
metadata CHANGED
@@ -1,7 +1,8 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: webtopay
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.6.0
4
+ version: 1.6.1
5
+ prerelease:
5
6
  platform: ruby
6
7
  authors:
7
8
  - Povilas Jurčys
@@ -10,126 +11,138 @@ authors:
10
11
  autorequire:
11
12
  bindir: bin
12
13
  cert_chain: []
13
- date: 2014-03-05 00:00:00.000000000 Z
14
+ date: 2014-04-03 00:00:00.000000000 Z
14
15
  dependencies:
15
16
  - !ruby/object:Gem::Dependency
16
17
  name: sqlite3
17
18
  requirement: !ruby/object:Gem::Requirement
19
+ none: false
18
20
  requirements:
19
- - - "~>"
21
+ - - ~>
20
22
  - !ruby/object:Gem::Version
21
23
  version: '1.3'
22
- - - ">="
24
+ - - ! '>='
23
25
  - !ruby/object:Gem::Version
24
26
  version: 1.3.8
25
27
  type: :development
26
28
  prerelease: false
27
29
  version_requirements: !ruby/object:Gem::Requirement
30
+ none: false
28
31
  requirements:
29
- - - "~>"
32
+ - - ~>
30
33
  - !ruby/object:Gem::Version
31
34
  version: '1.3'
32
- - - ">="
35
+ - - ! '>='
33
36
  - !ruby/object:Gem::Version
34
37
  version: 1.3.8
35
38
  - !ruby/object:Gem::Dependency
36
39
  name: rails
37
40
  requirement: !ruby/object:Gem::Requirement
41
+ none: false
38
42
  requirements:
39
- - - "~>"
43
+ - - ~>
40
44
  - !ruby/object:Gem::Version
41
45
  version: '4.0'
42
- - - ">="
46
+ - - ! '>='
43
47
  - !ruby/object:Gem::Version
44
48
  version: 4.0.0
45
49
  type: :development
46
50
  prerelease: false
47
51
  version_requirements: !ruby/object:Gem::Requirement
52
+ none: false
48
53
  requirements:
49
- - - "~>"
54
+ - - ~>
50
55
  - !ruby/object:Gem::Version
51
56
  version: '4.0'
52
- - - ">="
57
+ - - ! '>='
53
58
  - !ruby/object:Gem::Version
54
59
  version: 4.0.0
55
60
  - !ruby/object:Gem::Dependency
56
61
  name: factory_girl_rails
57
62
  requirement: !ruby/object:Gem::Requirement
63
+ none: false
58
64
  requirements:
59
- - - "~>"
65
+ - - ~>
60
66
  - !ruby/object:Gem::Version
61
67
  version: '4.3'
62
- - - ">="
68
+ - - ! '>='
63
69
  - !ruby/object:Gem::Version
64
70
  version: 4.3.0
65
71
  type: :development
66
72
  prerelease: false
67
73
  version_requirements: !ruby/object:Gem::Requirement
74
+ none: false
68
75
  requirements:
69
- - - "~>"
76
+ - - ~>
70
77
  - !ruby/object:Gem::Version
71
78
  version: '4.3'
72
- - - ">="
79
+ - - ! '>='
73
80
  - !ruby/object:Gem::Version
74
81
  version: 4.3.0
75
82
  - !ruby/object:Gem::Dependency
76
83
  name: database_cleaner
77
84
  requirement: !ruby/object:Gem::Requirement
85
+ none: false
78
86
  requirements:
79
- - - "~>"
87
+ - - ~>
80
88
  - !ruby/object:Gem::Version
81
89
  version: '1.2'
82
- - - ">="
90
+ - - ! '>='
83
91
  - !ruby/object:Gem::Version
84
92
  version: 1.2.0
85
93
  type: :development
86
94
  prerelease: false
87
95
  version_requirements: !ruby/object:Gem::Requirement
96
+ none: false
88
97
  requirements:
89
- - - "~>"
98
+ - - ~>
90
99
  - !ruby/object:Gem::Version
91
100
  version: '1.2'
92
- - - ">="
101
+ - - ! '>='
93
102
  - !ruby/object:Gem::Version
94
103
  version: 1.2.0
95
104
  - !ruby/object:Gem::Dependency
96
105
  name: rspec
97
106
  requirement: !ruby/object:Gem::Requirement
107
+ none: false
98
108
  requirements:
99
- - - "~>"
109
+ - - ~>
100
110
  - !ruby/object:Gem::Version
101
111
  version: '2.14'
102
- - - ">="
112
+ - - ! '>='
103
113
  - !ruby/object:Gem::Version
104
114
  version: 2.14.1
105
115
  type: :development
106
116
  prerelease: false
107
117
  version_requirements: !ruby/object:Gem::Requirement
118
+ none: false
108
119
  requirements:
109
- - - "~>"
120
+ - - ~>
110
121
  - !ruby/object:Gem::Version
111
122
  version: '2.14'
112
- - - ">="
123
+ - - ! '>='
113
124
  - !ruby/object:Gem::Version
114
125
  version: 2.14.1
115
126
  - !ruby/object:Gem::Dependency
116
127
  name: rspec-rails
117
128
  requirement: !ruby/object:Gem::Requirement
129
+ none: false
118
130
  requirements:
119
- - - "~>"
131
+ - - ~>
120
132
  - !ruby/object:Gem::Version
121
133
  version: '2.14'
122
- - - ">="
134
+ - - ! '>='
123
135
  - !ruby/object:Gem::Version
124
136
  version: 2.14.1
125
137
  type: :development
126
138
  prerelease: false
127
139
  version_requirements: !ruby/object:Gem::Requirement
140
+ none: false
128
141
  requirements:
129
- - - "~>"
142
+ - - ~>
130
143
  - !ruby/object:Gem::Version
131
144
  version: '2.14'
132
- - - ">="
145
+ - - ! '>='
133
146
  - !ruby/object:Gem::Version
134
147
  version: 2.14.1
135
148
  description: Verifies webtopay.com (mokejimai.lt) payment data transfer
@@ -141,7 +154,7 @@ executables: []
141
154
  extensions: []
142
155
  extra_rdoc_files: []
143
156
  files:
144
- - ".gitignore"
157
+ - .gitignore
145
158
  - Gemfile
146
159
  - MIT-LICENSE
147
160
  - README.md
@@ -203,26 +216,27 @@ files:
203
216
  - webtopay.gemspec
204
217
  homepage: https://github.com/bloomrain/webtopay
205
218
  licenses: []
206
- metadata: {}
207
219
  post_install_message:
208
220
  rdoc_options: []
209
221
  require_paths:
210
222
  - lib
211
223
  required_ruby_version: !ruby/object:Gem::Requirement
224
+ none: false
212
225
  requirements:
213
- - - ">="
226
+ - - ! '>='
214
227
  - !ruby/object:Gem::Version
215
228
  version: '0'
216
229
  required_rubygems_version: !ruby/object:Gem::Requirement
230
+ none: false
217
231
  requirements:
218
- - - ">="
232
+ - - ! '>='
219
233
  - !ruby/object:Gem::Version
220
234
  version: '0'
221
235
  requirements: []
222
236
  rubyforge_project: webtopay
223
- rubygems_version: 2.2.0
237
+ rubygems_version: 1.8.24
224
238
  signing_key:
225
- specification_version: 4
239
+ specification_version: 3
226
240
  summary: Provides integration with http://www.webtopay.com (mokejimai.lt) payment
227
241
  system
228
242
  test_files: []
checksums.yaml DELETED
@@ -1,7 +0,0 @@
1
- ---
2
- SHA1:
3
- metadata.gz: ff4f52a85253c3642d03c9f73fbdea3b6078a47c
4
- data.tar.gz: 9bfca8246d27fc7d85e7924520acf2f476594b06
5
- SHA512:
6
- metadata.gz: dbfac9082c0800b94d4052ab6e9c21a691c2ef2308d1634253722ec7e28cc3c1df3c8a52a93406b372b9bc6c7b59970606a1cf4bbc7f71f1641966162200a0e8
7
- data.tar.gz: 12ad2c8eaad9d42bd1e1fe325b7f5f28761e1c812392c232e08bd8a296ff912528c7ee6a95b0b7860cd1d92190be8e82ed790c0dc32a53558ed835b4397cae31