webtopay 1.6.0 → 1.6.1

Sign up to get free protection for your applications and to get access to all the features.
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