webmoney 0.0.10 → 0.0.11

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/ChangeLog CHANGED
@@ -1,5 +1,12 @@
1
1
  ChangeLog
2
2
 
3
+ Fri Feb 18 2011 18:30:00 +0300
4
+ ----------------------------
5
+ V 0.0.11
6
+ * Add i_trust and trust_me interfaces
7
+ * Trim reqn() to 14 digits. Warning: request to WebMoney Transfer support team for reset REQN counter, might be necessary!
8
+ * Fix error in create_invoice, create_transaction
9
+
3
10
  Wed Oct 06 2010 11:14:00 +0300
4
11
  ----------------------------
5
12
  V 0.0.10
data/Gemfile CHANGED
@@ -1,6 +1,10 @@
1
1
  source "http://rubygems.org"
2
2
 
3
- gem 'rake-compiler'
4
- gem 'jeweler'
5
- gem 'rspec'
3
+ group :development do
4
+ gem "rspec", "~> 2.3.0"
5
+ gem "bundler", "~> 1.0.0"
6
+ gem "jeweler", "~> 1.5.2"
7
+ gem "rake-compiler"
8
+ end
9
+
6
10
  gem 'nokogiri'
data/Gemfile.lock CHANGED
@@ -1,41 +1,31 @@
1
- ---
2
- dependencies:
3
- rspec:
4
- group:
5
- - :default
6
- version: ">= 0"
7
- rake-compiler:
8
- group:
9
- - :default
10
- version: ">= 0"
11
- jeweler:
12
- group:
13
- - :default
14
- version: ">= 0"
15
- nokogiri:
16
- group:
17
- - :default
18
- version: ">= 0"
19
- specs:
20
- - rake:
21
- version: 0.8.7
22
- - gemcutter:
23
- version: 0.6.1
24
- - git:
25
- version: 1.2.5
26
- - json_pure:
27
- version: 1.4.6
28
- - rubyforge:
29
- version: 2.0.4
30
- - jeweler:
31
- version: 1.4.0
32
- - nokogiri:
33
- version: 1.4.3.1
34
- - rake-compiler:
35
- version: 0.7.1
36
- - rspec:
37
- version: 1.3.0
38
- hash: 46b2419c1fae88ace745852a84f3ee395ef8a70e
39
- sources:
40
- - Rubygems:
41
- uri: http://rubygems.org
1
+ GEM
2
+ remote: http://rubygems.org/
3
+ specs:
4
+ diff-lcs (1.1.2)
5
+ git (1.2.5)
6
+ jeweler (1.5.2)
7
+ bundler (~> 1.0.0)
8
+ git (>= 1.2.5)
9
+ rake
10
+ nokogiri (1.4.4)
11
+ rake (0.8.7)
12
+ rake-compiler (0.7.5)
13
+ rake
14
+ rspec (2.3.0)
15
+ rspec-core (~> 2.3.0)
16
+ rspec-expectations (~> 2.3.0)
17
+ rspec-mocks (~> 2.3.0)
18
+ rspec-core (2.3.1)
19
+ rspec-expectations (2.3.0)
20
+ diff-lcs (~> 1.1.2)
21
+ rspec-mocks (2.3.0)
22
+
23
+ PLATFORMS
24
+ ruby
25
+
26
+ DEPENDENCIES
27
+ bundler (~> 1.0.0)
28
+ jeweler (~> 1.5.2)
29
+ nokogiri
30
+ rake-compiler
31
+ rspec (~> 2.3.0)
data/README CHANGED
@@ -18,8 +18,10 @@ Completed:
18
18
  - create_transaction - x2
19
19
  - outgoing_invoices - x4
20
20
  - send_message - x6
21
- - get_passport - x11
22
21
  - find_wm - x8
22
+ - get_passport - x11
23
+ - i_trust - x15
24
+ - trust_me - x15
23
25
  - bussines_level
24
26
  - login
25
27
 
@@ -31,8 +33,6 @@ Incompleted (help need!):
31
33
  - incoming_invoices - x10
32
34
  - reject_protection - x13
33
35
  - transaction_moneyback - x14
34
- - i_trust - x15
35
- - trust_me - x15
36
36
  - trust_save - x15
37
37
  - create_purse - x16
38
38
  - create_contract - x17
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.10
1
+ 0.0.11
@@ -87,4 +87,16 @@ module Webmoney::RequestResult # :nodoc:all
87
87
  }
88
88
  end
89
89
 
90
+ def result_trust_me(doc)
91
+ {
92
+ :count => doc.at('//trustlist')['cnt'].to_i,
93
+ :invoices => doc.xpath('//trust[@inv="1"]/purse').map(&:inner_text),
94
+ :transactions => doc.xpath('//trust[@trans="1"]/purse').map(&:inner_text),
95
+ :balance => doc.xpath('//trust[@purse="1"]/purse').map(&:inner_text),
96
+ :history => doc.xpath('//trust[@transhist="1"]/purse').map(&:inner_text)
97
+ }
98
+ end
99
+
100
+ alias_method :result_i_trust, :result_trust_me
101
+
90
102
  end
data/lib/request_xml.rb CHANGED
@@ -12,7 +12,7 @@ module Webmoney::RequestXML # :nodoc:all
12
12
  x.mode opt[:mode] || 0
13
13
  }
14
14
  # unless mode == 1, signed data need'nt
15
- x.sign( (classic? && opt[:mode]) ? sign(@wmid + opt[:wmid]) : nil )
15
+ x.sign( (classic? && opt[:mode]) ? sign("#{@wmid}#{opt[:wmid]}") : nil )
16
16
  }
17
17
  }
18
18
  end
@@ -27,40 +27,34 @@ module Webmoney::RequestXML # :nodoc:all
27
27
  end
28
28
 
29
29
  def xml_check_sign(opt)
30
- plan_out = @ic_out.iconv(opt[:plan])
30
+ plan_in, plan_out = filter_str(opt[:plan])
31
31
  Nokogiri::XML::Builder.new( :encoding => 'windows-1251' ) { |x|
32
32
  x.send('w3s.request') {
33
33
  x.wmid @wmid
34
34
  x.testsign {
35
35
  x.wmid opt[:wmid]
36
- x.plan { x.cdata opt[:plan] }
36
+ x.plan { x.cdata plan_in }
37
37
  x.sign opt[:sign]
38
38
  }
39
- if classic?
40
- plan = @wmid + opt[:wmid] + plan_out + opt[:sign]
41
- x.sign sign(plan)
42
- end
39
+ x.sign sign("#{@wmid}#{opt[:wmid]}#{plan_out}#{opt[:sign]}") if classic?
43
40
  }
44
41
  }
45
42
  end
46
43
 
47
44
  def xml_send_message(opt)
48
45
  req = reqn()
49
- msgsubj = @ic_out.iconv(opt[:subj])
50
- msgtext = @ic_out.iconv(opt[:text])
46
+ subj_in, subj_out = filter_str(opt[:subj])
47
+ text_in, text_out = filter_str(opt[:text])
51
48
  Nokogiri::XML::Builder.new( :encoding => 'windows-1251' ) { |x|
52
49
  x.send('w3s.request') {
53
50
  x.wmid @wmid
54
51
  x.reqn req
55
52
  x.message do
56
53
  x.receiverwmid opt[:wmid]
57
- x.msgsubj { x.cdata opt[:subj] }
58
- x.msgtext { x.cdata opt[:text] }
59
- end
60
- if classic?
61
- @plan = opt[:wmid] + req + msgtext + msgsubj
62
- x.sign sign(@plan)
54
+ x.msgsubj { x.cdata subj_in }
55
+ x.msgtext { x.cdata text_in }
63
56
  end
57
+ x.sign sign("#{opt[:wmid]}#{req}#{text_out}#{subj_out}") if classic?
64
58
  }
65
59
  }
66
60
  end
@@ -75,59 +69,53 @@ module Webmoney::RequestXML # :nodoc:all
75
69
  x.wmid( opt[:wmid] || '' )
76
70
  x.purse( opt[:purse] || '' )
77
71
  end
78
- if classic?
79
- @plan = "#{opt[:wmid]}#{opt[:purse]}"
80
- x.sign sign(@plan)
81
- end
72
+ x.sign sign("#{opt[:wmid]}#{opt[:purse]}") if classic?
82
73
  }
83
74
  }
84
75
  end
85
76
 
86
77
  def xml_create_invoice(opt)
87
78
  req = reqn()
88
- desc = @ic_out.iconv(opt[:desc])
89
- address = @ic_out.iconv(opt[:address])[0...255].strip
79
+ desc_in, desc_out = filter_str(opt[:desc])
80
+ address_in, address_out = filter_str(opt[:address])
90
81
  amount = opt[:amount].to_f.to_s.gsub(/\.?0+$/, '')
91
82
  Nokogiri::XML::Builder.new( :encoding => 'windows-1251' ) { |x|
92
83
  x.send('w3s.request') {
93
- x.wmid @wmid
94
84
  x.reqn req
85
+ x.wmid @wmid
86
+ x.sign sign("#{opt[:orderid]}#{opt[:customerwmid]}#{opt[:storepurse]}#{amount}#{desc_out}#{address_out}#{opt[:period]||0}#{opt[:expiration]||0}#{req}") if classic?
95
87
  x.invoice do
96
88
  x.orderid opt[:orderid]
97
89
  x.customerwmid opt[:customerwmid]
98
90
  x.storepurse opt[:storepurse]
99
91
  x.amount amount
100
- x.desc desc
101
- x.address address
92
+ x.desc desc_in
93
+ x.address address_in
102
94
  x.period opt[:period].to_i
103
95
  x.expiration opt[:expiration].to_i
104
96
  end
105
- if classic?
106
- @plan = "#{opt[:orderid]}#{opt[:customerwmid]}#{opt[:storepurse]}" + amount
107
- @plan+= desc + address + "#{opt[:period].to_i}#{opt[:expiration].to_i}" + req
108
- x.sign sign(@plan)
109
- end
110
97
  }
111
98
  }
112
99
  end
113
100
 
114
101
  def xml_create_transaction(opt)
115
102
  req = reqn()
116
- desc = @ic_out.iconv(opt[:desc]) # description
103
+ desc_in, desc_out = filter_str(opt[:desc]) # description
104
+ pcode = opt[:pcode].strip if opt[:period] > 0 && opt[:pcode]
117
105
  Nokogiri::XML::Builder.new( :encoding => 'windows-1251' ) { |x|
118
106
  x.send('w3s.request') {
119
107
  x.reqn req
120
- x.wmid(@wmid) if classic?
121
- x.sign sign(@plan) if classic?
108
+ x.wmid(@wmid)
109
+ x.sign sign("#{req}#{opt[:transid]}#{opt[:pursesrc]}#{opt[:pursedest]}#{opt[:amount]}#{opt[:period]||0}#{pcode}#{desc_out}#{opt[:wminvid]||0}") if classic?
122
110
  x.trans {
123
111
  x.tranid opt[:transid] # transaction id - unique
124
112
  x.pursesrc opt[:pursesrc] # sender purse
125
113
  x.pursedest opt[:pursedest] # recipient purse
126
114
  x.amount opt[:amount]
127
115
  x.period( opt[:period] || 0 ) # protection period (0 - no protection)
128
- x.pcode( opt[:pcode].strip ) if opt[:period] > 0 && opt[:pcode] # protection code
129
- x.desc desc
130
- x.wminvid( opt[:wminvid] || 0 ) # invoice number (0 - without invoice)
116
+ x.pcode( pcode ) if pcode # protection code
117
+ x.desc desc_in
118
+ x.wminvid( wminvid ) # invoice number (0 - without invoice)
131
119
  }
132
120
  }
133
121
  }
@@ -137,8 +125,9 @@ module Webmoney::RequestXML # :nodoc:all
137
125
  req = reqn()
138
126
  Nokogiri::XML::Builder.new( :encoding => 'windows-1251' ) { |x|
139
127
  x.send('w3s.request') {
140
- x.wmid @wmid
141
128
  x.reqn req
129
+ x.wmid @wmid
130
+ x.sign sign("#{opt[:purse]}#{req}") if classic?
142
131
  x.getoutinvoices do
143
132
  x.purse opt[:purse]
144
133
  x.wminvid opt[:wminvid]
@@ -146,11 +135,6 @@ module Webmoney::RequestXML # :nodoc:all
146
135
  x.datestart opt[:datestart].strftime("%Y%m%d %H:%M:%S")
147
136
  x.datefinish opt[:datefinish].strftime("%Y%m%d %H:%M:%S")
148
137
  end
149
- if classic?
150
- # TODO
151
- @plan = opt[:purse] + req
152
- x.sign sign(@plan)
153
- end
154
138
  }
155
139
  }
156
140
  end
@@ -168,4 +152,23 @@ module Webmoney::RequestXML # :nodoc:all
168
152
  }
169
153
  end
170
154
 
155
+ def xml_i_trust(opt)
156
+ opt[:wmid] = @wmid
157
+ xml_trust_me(opt)
158
+ end
159
+
160
+ def xml_trust_me(opt)
161
+ req = reqn()
162
+ Nokogiri::XML::Builder.new { |x|
163
+ x.send('w3s.request') {
164
+ x.reqn req
165
+ x.wmid @wmid
166
+ x.sign sign("#{opt[:wmid]}#{req}")
167
+ x.gettrustlist do
168
+ x.wmid opt[:wmid]
169
+ end
170
+ }
171
+ }
172
+ end
173
+
171
174
  end
data/lib/webmoney.rb CHANGED
@@ -82,9 +82,28 @@ module Webmoney
82
82
 
83
83
  @rid = opt[:rid]
84
84
 
85
- # Iconv.new(to, from)
86
- @ic_in = Iconv.new('UTF-8', 'CP1251')
87
- @ic_out = Iconv.new('CP1251', 'UTF-8')
85
+ # Iconv will raise exception Iconv::IllegalSequence,
86
+ # when uncovertable character in input sequence. It is default behavior.
87
+ # With option :force_encoding Iconv initialized with //IGNORE option, and
88
+ # uncovertable characters will be cutted.
89
+ if opt[:force_encoding]
90
+ #Iconv.new(to, from)
91
+ @ic_out = Iconv.new('CP1251//IGNORE', 'UTF-8')
92
+ @ic_in = Iconv.new('UTF-8', 'CP1251')
93
+ instance_eval do
94
+ def filter_str(str)
95
+ str_out = @ic_out.iconv(str)
96
+ return @ic_in.iconv(str_out), str_out
97
+ end
98
+ end
99
+ else
100
+ @ic_out = Iconv.new('CP1251', 'UTF-8')
101
+ instance_eval do
102
+ def filter_str(str)
103
+ return str, @ic_out.iconv(str)
104
+ end
105
+ end
106
+ end
88
107
 
89
108
  prepare_interface_urls
90
109
 
@@ -97,7 +116,7 @@ module Webmoney
97
116
  def classic?
98
117
  !! @signer
99
118
  end
100
-
119
+
101
120
  # Send message through Queue and Thread
102
121
  #
103
122
  # Params: { :wmid, :subj, :text }
@@ -186,11 +205,11 @@ module Webmoney
186
205
  end
187
206
 
188
207
  # Create unique Request Number based on time,
189
- # return 16 digits string
208
+ # return 14 digits string
190
209
  def reqn
191
210
  t = Time.now
192
211
  msec = t.to_f.to_s.match(/\.(\d\d)/)[1] rescue '00'
193
- t.strftime('%Y%m%d%H%M%S') + msec
212
+ t.strftime('%y%m%d%H%M%S') + msec
194
213
  end
195
214
 
196
215
  def make_xml(iface, opt) # :nodoc:
data/rakefile CHANGED
@@ -1,24 +1,25 @@
1
1
  require 'rubygems'
2
2
  require 'rake'
3
3
  require 'rake/clean'
4
- begin
5
- require 'rake/extensiontask'
6
- rescue LoadError
7
- puts "Rake-compiler not available. Install it with: sudo gem install rake-compiler"
8
- exit 1
9
- end
10
- require 'spec/rake/spectask'
4
+ require 'rake/extensiontask'
11
5
 
12
6
  CLEAN.include ["ext/wmsigner/*.{so,o}", "ext/wmsigner/Makefile", "lib/wmsigner.so", "pkg", "tmp"]
13
7
 
14
8
  Rake::ExtensionTask.new('wmsigner')
15
9
 
16
- Spec::Rake::SpecTask.new do |task|
17
- task.libs << 'spec'
18
- task.spec_files = Dir.glob( 'spec/**/*_spec.rb' )
19
- task.verbose = true
10
+ require 'rspec/core'
11
+ require 'rspec/core/rake_task'
12
+ RSpec::Core::RakeTask.new(:spec) do |spec|
13
+ spec.pattern = FileList['spec/**/*_spec.rb']
14
+ end
15
+
16
+ RSpec::Core::RakeTask.new(:rcov) do |spec|
17
+ spec.pattern = 'spec/**/*_spec.rb'
18
+ spec.rcov = true
20
19
  end
21
20
 
21
+ task :default => :spec
22
+
22
23
  spec = begin
23
24
  require 'jeweler'
24
25
  Jeweler::Tasks.new do |gemspec|
@@ -27,7 +28,6 @@ spec = begin
27
28
  gemspec.authors = ["Alexander Oryol"]
28
29
  gemspec.email = "eagle.alex@gmail.com"
29
30
  gemspec.summary = "Webmoney interfaces and native wmsigner"
30
- gemspec.add_dependency('nokogiri')
31
31
  gemspec.files << %w( rakefile ChangeLog lib/WebMoneyCA.crt ) +
32
32
  Dir.glob( 'ext/**/*.{h,cpp,rb}' ) +
33
33
  Dir.glob( 'tools/*.rb' )
@@ -40,7 +40,4 @@ spec = begin
40
40
  gemspec.extensions = Dir.glob( 'ext/**/extconf.rb' )
41
41
  end
42
42
  end
43
-
44
- rescue LoadError
45
- puts "Jeweler not available. Install it with: sudo gem install jeweler -s http://gemcutter.org"
46
- end
43
+ end
data/spec/spec_helper.rb CHANGED
@@ -3,8 +3,7 @@
3
3
  # Please, see RUNNING_TESTS
4
4
 
5
5
  require 'rubygems'
6
- require 'test/unit'
7
- require 'spec'
6
+ require 'rspec'
8
7
  require 'ostruct'
9
8
  require 'yaml'
10
9
  require 'time'
@@ -0,0 +1,31 @@
1
+ #encoding: utf-8
2
+ require 'spec_helper'
3
+
4
+ describe 'filter_str' do
5
+
6
+ let(:test) { "ényképek-0001.xls" }
7
+
8
+ it "default behavior" do
9
+ @wm = TestWM.new
10
+ lambda { @wm.filter_str(test)}.should raise_error(Iconv::IllegalSequence)
11
+ end
12
+
13
+ it "with force_encoding" do
14
+ @wm = TestWM.new(:force_encoding => true)
15
+ input, output = @wm.filter_str(test)
16
+ output.should == Iconv.iconv('CP1251//IGNORE', 'UTF-8', test)[0]
17
+ input.should == Iconv.iconv('UTF-8', 'CP1251', output)[0]
18
+ end
19
+
20
+ it "should send message with ignore characters" do
21
+ @wm = TestWM.new(:force_encoding => true)
22
+ result = @wm.request( :send_message,
23
+ :wmid => @wm.wmid,
24
+ :subj => 'Wörter',
25
+ :text => 'ényképek-0001.xls')
26
+ result.should be_kind_of(Hash)
27
+ result[:id].should match(/^\d*$/)
28
+ ((result[:date] + 60) > Time.now).should be_true
29
+ end
30
+
31
+ end
@@ -23,60 +23,10 @@ describe Webmoney::Passport, "class" do
23
23
  res[:attestat].should have_key(key)
24
24
  end
25
25
 
26
- u_info = {
27
- :locked=>"0",
28
- :ctype=>"1",
29
- :citid=>"12918",
30
- :cap_owner=>"0",
31
- :region=>"Москва",
32
- :countryid=>"195",
33
- :city=>"Москва",
34
- :pasdoc=>"0",
35
- :nickname=>"Арбитр",
36
- :country=>"Россия",
37
- :inndoc=>"0",
38
- :sex=>"0",
39
- :email=>"", :pdateMMDDYYYY => "", :pday => "", :pmonth => "", :pyear => "",
40
- :iname=>"", :inn=>"", :okonx=>"", :bik=>"", :pbywhom=>"", :phonemobile=>"", :rcountry=>"",
41
- :bmonth=>"", :jadres=>"", :okpo=>"", :bday=>"", :pnomer=>"", :bankname=>"", :pcountry=>"", :pcountryid=>"",
42
- :jcountryid=>"", :ks=>"", :infoopen=>"", :icq=>"", :byear=>"", :oname=>"", :osnovainfo=>"", :dirfio=>"",
43
- :pdate=>"", :bplace=>"", :rs=>"", :rcity=>"", :adres=>"", :phone=>"", :buhfio=>"", :radres=>"", :fname=>"",
44
- :phonehome=>"", :jcity=>"", :name=>"", :pcity=>"", :jstatus=>"", :fax=>"", :zipcode=>"", :rcountryid=>"",
45
- :web=>"", :jzipcode=>"", :jcountry=>"", :jabberid=>""
46
- }
26
+ res[:userinfo].should have_key(:city)
27
+ res[:directory].should have_key(:jstatus)
28
+ res[:directory][:jstatus].should have_key(20)
47
29
 
48
- # a1 = res[:userinfo].keys.map(&:to_s).sort
49
- # a2 = u_info.keys.map(&:to_s).sort
50
- # puts ((a1|a2) - (a1 & a2)).inspect
51
-
52
- res[:userinfo].should == u_info
53
-
54
- res[:directory].should == {
55
- :ctype=>{
56
- 1=>"Частное лицо",
57
- 2=>"Юридическое лицо"
58
- },
59
- :jstatus=>{
60
- 20=>"Директор юридического лица",
61
- 21=>"Бухгалтер юридического лица",
62
- 22=>"Представитель юридического лица",
63
- 23=>"ИП"
64
- },
65
- :types=>{
66
- 100=>"Аттестат псевдонима",
67
- 110=>"Формальный аттестат",
68
- 120=>"Начальный аттестат",
69
- 130=>"Персональный аттестат",
70
- 135=>"Аттестат продавца",
71
- 136=>"Аттестат Capitaller",
72
- 140=>"Аттестат разработчика",
73
- 150=>"Аттестат регистратора",
74
- 170=>"Аттестат Гаранта",
75
- 190=>"Аттестат сервиса WMT",
76
- 200=>"Аттестат сервиса WMT",
77
- 300=>"Аттестат Оператора"
78
- }
79
- }
80
30
  end
81
31
 
82
32
  it "should return userinfo attributes with checked/locked" do
@@ -0,0 +1,25 @@
1
+ #encoding: utf-8
2
+ require 'spec_helper'
3
+
4
+ describe "trust (x15) interfaces" do
5
+
6
+ before(:each) do
7
+ @wm = webmoney()
8
+ end
9
+
10
+ it ":trust_me should return hash" do
11
+ wmid = WmConfig.second['wmid']
12
+ result = @wm.request(:trust_me, :wmid => wmid)
13
+ [:count, :invoices, :transactions, :balance, :history].each do |key|
14
+ result.should have_key(key)
15
+ end
16
+ end
17
+
18
+ it ":i_trust should return hash too" do
19
+ result = @wm.request(:i_trust)
20
+ [:count, :invoices, :transactions, :balance, :history].each do |key|
21
+ result.should have_key(key)
22
+ end
23
+ end
24
+
25
+ end
@@ -15,7 +15,7 @@ describe Webmoney, "class" do
15
15
  t1 = @wm.send(:reqn)
16
16
  sleep(0.1)
17
17
  t2 = @wm.send(:reqn)
18
- t1.should match(/^\d{16}$/)
18
+ t1.should match(/^\d{14}$/)
19
19
  (t2 > t1).should be_true
20
20
  end
21
21
 
@@ -31,12 +31,12 @@ describe Webmoney, "class" do
31
31
 
32
32
  it "should correct reqn" do
33
33
  Time.stub!(:now).and_return(Time.at(1244704683.69677))
34
- @wm.send(:reqn).should == '2009061111180369'
34
+ @wm.send(:reqn).should == '09061111180369'
35
35
  end
36
36
 
37
37
  it "should correct reqn with zero microsec" do
38
38
  Time.stub!(:now).and_return(Time.at(1244704683))
39
- @wm.send(:reqn).should == '2009061111180300'
39
+ @wm.send(:reqn).should == '09061111180300'
40
40
  end
41
41
 
42
42
  it "should raise error on incorrect arg" do
@@ -164,8 +164,8 @@ describe Webmoney, "class" do
164
164
  :amount => 1,
165
165
  :customerwmid => @wm.wmid,
166
166
  :storepurse => WmConfig.second['wmz'],
167
- :desc => "Test invoice",
168
- :address => "Address"
167
+ :desc => "Invoice текст",
168
+ :address => "Address адрес"
169
169
  )
170
170
  end
171
171
 
data/webmoney.gemspec CHANGED
@@ -1,84 +1,86 @@
1
1
  # Generated by jeweler
2
2
  # DO NOT EDIT THIS FILE DIRECTLY
3
- # Instead, edit Jeweler::Tasks in rakefile, and run the gemspec command
3
+ # Instead, edit Jeweler::Tasks in rakefile, and run 'rake gemspec'
4
4
  # -*- encoding: utf-8 -*-
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{webmoney}
8
- s.version = "0.0.10"
8
+ s.version = "0.0.11"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Alexander Oryol"]
12
- s.date = %q{2010-10-06}
12
+ s.date = %q{2011-02-18}
13
13
  s.email = %q{eagle.alex@gmail.com}
14
14
  s.extensions = ["ext/wmsigner/extconf.rb"]
15
15
  s.extra_rdoc_files = [
16
16
  "ChangeLog",
17
- "README"
17
+ "README"
18
18
  ]
19
19
  s.files = [
20
- ".gitignore",
21
- "ChangeLog",
22
- "Gemfile",
23
- "Gemfile.lock",
24
- "README",
25
- "RUNNING_TESTS",
26
- "VERSION",
27
- "ext/wmsigner/base64.cpp",
28
- "ext/wmsigner/base64.h",
29
- "ext/wmsigner/cmdbase.cpp",
30
- "ext/wmsigner/cmdbase.h",
31
- "ext/wmsigner/crypto.cpp",
32
- "ext/wmsigner/crypto.h",
33
- "ext/wmsigner/extconf.rb",
34
- "ext/wmsigner/md4.cpp",
35
- "ext/wmsigner/md4.h",
36
- "ext/wmsigner/rsalib1.cpp",
37
- "ext/wmsigner/rsalib1.h",
38
- "ext/wmsigner/signer.cpp",
39
- "ext/wmsigner/signer.h",
40
- "ext/wmsigner/stdafx.cpp",
41
- "ext/wmsigner/stdafx.h",
42
- "ext/wmsigner/wmsigner.cpp",
43
- "lib/certs/0b532bc2.0",
44
- "lib/certs/3c58f906.0",
45
- "lib/certs/AddTrust_External_Root.crt",
46
- "lib/certs/WebMoneyCA.crt",
47
- "lib/interfaces.rb",
48
- "lib/messenger.rb",
49
- "lib/passport.rb",
50
- "lib/purse.rb",
51
- "lib/request_result.rb",
52
- "lib/request_retval.rb",
53
- "lib/request_xml.rb",
54
- "lib/webmoney.rb",
55
- "lib/wmid.rb",
56
- "rakefile",
57
- "spec/spec",
58
- "spec/spec_helper.rb",
59
- "spec/unit/messenger_spec.rb",
60
- "spec/unit/passport_spec.rb",
61
- "spec/unit/purse_spec.rb",
62
- "spec/unit/signer_spec.rb",
63
- "spec/unit/time_spec.rb",
64
- "spec/unit/webmoney_spec.rb",
65
- "spec/unit/wmid_spec.rb",
66
- "webmoney.gemspec"
20
+ "ChangeLog",
21
+ "Gemfile",
22
+ "Gemfile.lock",
23
+ "README",
24
+ "RUNNING_TESTS",
25
+ "VERSION",
26
+ "ext/wmsigner/base64.cpp",
27
+ "ext/wmsigner/base64.h",
28
+ "ext/wmsigner/cmdbase.cpp",
29
+ "ext/wmsigner/cmdbase.h",
30
+ "ext/wmsigner/crypto.cpp",
31
+ "ext/wmsigner/crypto.h",
32
+ "ext/wmsigner/extconf.rb",
33
+ "ext/wmsigner/md4.cpp",
34
+ "ext/wmsigner/md4.h",
35
+ "ext/wmsigner/rsalib1.cpp",
36
+ "ext/wmsigner/rsalib1.h",
37
+ "ext/wmsigner/signer.cpp",
38
+ "ext/wmsigner/signer.h",
39
+ "ext/wmsigner/stdafx.cpp",
40
+ "ext/wmsigner/stdafx.h",
41
+ "ext/wmsigner/wmsigner.cpp",
42
+ "lib/certs/0b532bc2.0",
43
+ "lib/certs/3c58f906.0",
44
+ "lib/certs/AddTrust_External_Root.crt",
45
+ "lib/certs/WebMoneyCA.crt",
46
+ "lib/interfaces.rb",
47
+ "lib/messenger.rb",
48
+ "lib/passport.rb",
49
+ "lib/purse.rb",
50
+ "lib/request_result.rb",
51
+ "lib/request_retval.rb",
52
+ "lib/request_xml.rb",
53
+ "lib/webmoney.rb",
54
+ "lib/wmid.rb",
55
+ "rakefile",
56
+ "spec/spec",
57
+ "spec/spec_helper.rb",
58
+ "spec/unit/iconv_spec.rb",
59
+ "spec/unit/messenger_spec.rb",
60
+ "spec/unit/passport_spec.rb",
61
+ "spec/unit/purse_spec.rb",
62
+ "spec/unit/signer_spec.rb",
63
+ "spec/unit/time_spec.rb",
64
+ "spec/unit/trust_spec.rb",
65
+ "spec/unit/webmoney_spec.rb",
66
+ "spec/unit/wmid_spec.rb",
67
+ "webmoney.gemspec"
67
68
  ]
68
- s.rdoc_options = ["--charset=UTF-8"]
69
69
  s.require_paths = ["lib"]
70
70
  s.rubyforge_project = %q{webmoney}
71
71
  s.rubygems_version = %q{1.3.7}
72
72
  s.summary = %q{Webmoney interfaces and native wmsigner}
73
73
  s.test_files = [
74
+ "spec/spec_helper.rb",
75
+ "spec/unit/iconv_spec.rb",
76
+ "spec/unit/messenger_spec.rb",
77
+ "spec/unit/passport_spec.rb",
78
+ "spec/unit/purse_spec.rb",
79
+ "spec/unit/signer_spec.rb",
74
80
  "spec/unit/time_spec.rb",
75
- "spec/unit/purse_spec.rb",
76
- "spec/unit/signer_spec.rb",
77
- "spec/unit/messenger_spec.rb",
78
- "spec/unit/passport_spec.rb",
79
- "spec/unit/webmoney_spec.rb",
80
- "spec/unit/wmid_spec.rb",
81
- "spec/spec_helper.rb"
81
+ "spec/unit/trust_spec.rb",
82
+ "spec/unit/webmoney_spec.rb",
83
+ "spec/unit/wmid_spec.rb"
82
84
  ]
83
85
 
84
86
  if s.respond_to? :specification_version then
@@ -87,11 +89,23 @@ Gem::Specification.new do |s|
87
89
 
88
90
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
89
91
  s.add_runtime_dependency(%q<nokogiri>, [">= 0"])
92
+ s.add_development_dependency(%q<rspec>, ["~> 2.3.0"])
93
+ s.add_development_dependency(%q<bundler>, ["~> 1.0.0"])
94
+ s.add_development_dependency(%q<jeweler>, ["~> 1.5.2"])
95
+ s.add_development_dependency(%q<rake-compiler>, [">= 0"])
90
96
  else
91
97
  s.add_dependency(%q<nokogiri>, [">= 0"])
98
+ s.add_dependency(%q<rspec>, ["~> 2.3.0"])
99
+ s.add_dependency(%q<bundler>, ["~> 1.0.0"])
100
+ s.add_dependency(%q<jeweler>, ["~> 1.5.2"])
101
+ s.add_dependency(%q<rake-compiler>, [">= 0"])
92
102
  end
93
103
  else
94
104
  s.add_dependency(%q<nokogiri>, [">= 0"])
105
+ s.add_dependency(%q<rspec>, ["~> 2.3.0"])
106
+ s.add_dependency(%q<bundler>, ["~> 1.0.0"])
107
+ s.add_dependency(%q<jeweler>, ["~> 1.5.2"])
108
+ s.add_dependency(%q<rake-compiler>, [">= 0"])
95
109
  end
96
110
  end
97
111
 
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 0
7
7
  - 0
8
- - 10
9
- version: 0.0.10
8
+ - 11
9
+ version: 0.0.11
10
10
  platform: ruby
11
11
  authors:
12
12
  - Alexander Oryol
@@ -14,12 +14,11 @@ autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
16
 
17
- date: 2010-10-06 00:00:00 +04:00
17
+ date: 2011-02-18 00:00:00 +03:00
18
18
  default_executable:
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
21
21
  name: nokogiri
22
- prerelease: false
23
22
  requirement: &id001 !ruby/object:Gem::Requirement
24
23
  none: false
25
24
  requirements:
@@ -29,7 +28,66 @@ dependencies:
29
28
  - 0
30
29
  version: "0"
31
30
  type: :runtime
31
+ prerelease: false
32
32
  version_requirements: *id001
33
+ - !ruby/object:Gem::Dependency
34
+ name: rspec
35
+ requirement: &id002 !ruby/object:Gem::Requirement
36
+ none: false
37
+ requirements:
38
+ - - ~>
39
+ - !ruby/object:Gem::Version
40
+ segments:
41
+ - 2
42
+ - 3
43
+ - 0
44
+ version: 2.3.0
45
+ type: :development
46
+ prerelease: false
47
+ version_requirements: *id002
48
+ - !ruby/object:Gem::Dependency
49
+ name: bundler
50
+ requirement: &id003 !ruby/object:Gem::Requirement
51
+ none: false
52
+ requirements:
53
+ - - ~>
54
+ - !ruby/object:Gem::Version
55
+ segments:
56
+ - 1
57
+ - 0
58
+ - 0
59
+ version: 1.0.0
60
+ type: :development
61
+ prerelease: false
62
+ version_requirements: *id003
63
+ - !ruby/object:Gem::Dependency
64
+ name: jeweler
65
+ requirement: &id004 !ruby/object:Gem::Requirement
66
+ none: false
67
+ requirements:
68
+ - - ~>
69
+ - !ruby/object:Gem::Version
70
+ segments:
71
+ - 1
72
+ - 5
73
+ - 2
74
+ version: 1.5.2
75
+ type: :development
76
+ prerelease: false
77
+ version_requirements: *id004
78
+ - !ruby/object:Gem::Dependency
79
+ name: rake-compiler
80
+ requirement: &id005 !ruby/object:Gem::Requirement
81
+ none: false
82
+ requirements:
83
+ - - ">="
84
+ - !ruby/object:Gem::Version
85
+ segments:
86
+ - 0
87
+ version: "0"
88
+ type: :development
89
+ prerelease: false
90
+ version_requirements: *id005
33
91
  description:
34
92
  email: eagle.alex@gmail.com
35
93
  executables: []
@@ -40,7 +98,6 @@ extra_rdoc_files:
40
98
  - ChangeLog
41
99
  - README
42
100
  files:
43
- - .gitignore
44
101
  - ChangeLog
45
102
  - Gemfile
46
103
  - Gemfile.lock
@@ -79,11 +136,13 @@ files:
79
136
  - rakefile
80
137
  - spec/spec
81
138
  - spec/spec_helper.rb
139
+ - spec/unit/iconv_spec.rb
82
140
  - spec/unit/messenger_spec.rb
83
141
  - spec/unit/passport_spec.rb
84
142
  - spec/unit/purse_spec.rb
85
143
  - spec/unit/signer_spec.rb
86
144
  - spec/unit/time_spec.rb
145
+ - spec/unit/trust_spec.rb
87
146
  - spec/unit/webmoney_spec.rb
88
147
  - spec/unit/wmid_spec.rb
89
148
  - webmoney.gemspec
@@ -92,8 +151,8 @@ homepage:
92
151
  licenses: []
93
152
 
94
153
  post_install_message:
95
- rdoc_options:
96
- - --charset=UTF-8
154
+ rdoc_options: []
155
+
97
156
  require_paths:
98
157
  - lib
99
158
  required_ruby_version: !ruby/object:Gem::Requirement
@@ -120,11 +179,13 @@ signing_key:
120
179
  specification_version: 3
121
180
  summary: Webmoney interfaces and native wmsigner
122
181
  test_files:
123
- - spec/unit/time_spec.rb
124
- - spec/unit/purse_spec.rb
125
- - spec/unit/signer_spec.rb
182
+ - spec/spec_helper.rb
183
+ - spec/unit/iconv_spec.rb
126
184
  - spec/unit/messenger_spec.rb
127
185
  - spec/unit/passport_spec.rb
186
+ - spec/unit/purse_spec.rb
187
+ - spec/unit/signer_spec.rb
188
+ - spec/unit/time_spec.rb
189
+ - spec/unit/trust_spec.rb
128
190
  - spec/unit/webmoney_spec.rb
129
191
  - spec/unit/wmid_spec.rb
130
- - spec/spec_helper.rb
data/.gitignore DELETED
@@ -1,6 +0,0 @@
1
- .bundle
2
- doc/*
3
- lib/wmsigner.so
4
- pkg/*
5
- tmp/*
6
-