cwallet-ruby 0.0.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.
- checksums.yaml +7 -0
- data/.gitignore +13 -0
- data/.rspec +3 -0
- data/.travis.yml +7 -0
- data/CODE_OF_CONDUCT.md +74 -0
- data/Gemfile +6 -0
- data/LICENSE.txt +21 -0
- data/README.md +39 -0
- data/Rakefile +6 -0
- data/bin/console +14 -0
- data/bin/setup +8 -0
- data/cwallet-ruby.gemspec +29 -0
- data/lib/cwallet/wallet.rb +21 -0
- data/lib/cwallet/wallet/.DS_Store +0 -0
- data/lib/cwallet/wallet/adapters/em_http.rb +78 -0
- data/lib/cwallet/wallet/adapters/net_http.rb +66 -0
- data/lib/cwallet/wallet/api_client.rb +734 -0
- data/lib/cwallet/wallet/api_errors.rb +120 -0
- data/lib/cwallet/wallet/api_response.rb +41 -0
- data/lib/cwallet/wallet/client.rb +101 -0
- data/lib/cwallet/wallet/cpub.pub +9 -0
- data/lib/cwallet/wallet/models/account.rb +193 -0
- data/lib/cwallet/wallet/models/address.rb +12 -0
- data/lib/cwallet/wallet/models/api_object.rb +46 -0
- data/lib/cwallet/wallet/models/transaction.rb +20 -0
- data/lib/cwallet/wallet/version.rb +5 -0
- metadata +125 -0
@@ -0,0 +1,12 @@
|
|
1
|
+
module Cwallet
|
2
|
+
module Wallet
|
3
|
+
class Address < APIObject
|
4
|
+
def transactions(params = {})
|
5
|
+
@client.get("#{self['resource_path']}/transactions", params) do |resp|
|
6
|
+
out = resp.data.map { |item| Transaction.new(self, item) }
|
7
|
+
yield(out, resp) if block_given?
|
8
|
+
end
|
9
|
+
end
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
@@ -0,0 +1,46 @@
|
|
1
|
+
module Cwallet
|
2
|
+
module Wallet
|
3
|
+
# Response item abstract model
|
4
|
+
class APIObject < Hash
|
5
|
+
def initialize(client, data)
|
6
|
+
super()
|
7
|
+
update(data)
|
8
|
+
@client = client
|
9
|
+
end
|
10
|
+
|
11
|
+
def refresh!(params = {})
|
12
|
+
@client.get(self['resource_path'], params) do |resp|
|
13
|
+
update(resp.data)
|
14
|
+
yield(resp.data, resp) if block_given?
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
def update(data)
|
19
|
+
return if data.nil?
|
20
|
+
data.each { |key, val| self[key] = val } if data.is_a?(Hash)
|
21
|
+
end
|
22
|
+
|
23
|
+
def format(key, val)
|
24
|
+
return if val.nil?
|
25
|
+
# Looks like a number or currency
|
26
|
+
if val.class == Hash
|
27
|
+
APIObject.new(@client, val)
|
28
|
+
elsif key =~ /_at$/ && (Time.iso8601(val) rescue nil)
|
29
|
+
Time.parse(val)
|
30
|
+
elsif key == "amount" && val =~ /^.{0,1}\s*[0-9,]*\.{0,1}[0-9]*$/
|
31
|
+
BigDecimal(val.gsub(/[^0-9\.]/, ''))
|
32
|
+
else
|
33
|
+
val
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
def method_missing(method, *args, &blk)
|
38
|
+
format(method.to_s, self[method.to_s]) || super
|
39
|
+
end
|
40
|
+
|
41
|
+
def respond_to_missing?(method, include_all = false)
|
42
|
+
self.key?(method.to_s) || super
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
module Cwallet
|
2
|
+
module Wallet
|
3
|
+
class Transaction < APIObject
|
4
|
+
end
|
5
|
+
|
6
|
+
class Request < Transaction
|
7
|
+
def resend!(params = {})
|
8
|
+
@client.post("#{self['resource_path']}/resend", params) do |resp|
|
9
|
+
yield(resp.data, resp) if block_given?
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
13
|
+
def cancel!(params = {})
|
14
|
+
@client.delete("#{self['resource_path']}", params) do |resp|
|
15
|
+
yield(resp.data, resp) if block_given?
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
metadata
ADDED
@@ -0,0 +1,125 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: cwallet-ruby
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.1
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Duc Le
|
8
|
+
autorequire:
|
9
|
+
bindir: exe
|
10
|
+
cert_chain: []
|
11
|
+
date: 2018-10-11 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: bundler
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '1.16'
|
20
|
+
type: :development
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '1.16'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: rake
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '10.0'
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '10.0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: rspec
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '3.0'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '3.0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: pry-byebug
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - ">="
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ">="
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0'
|
69
|
+
description: Client API for cwallet
|
70
|
+
email:
|
71
|
+
- leminhducktvn@gmail.com
|
72
|
+
executables: []
|
73
|
+
extensions: []
|
74
|
+
extra_rdoc_files: []
|
75
|
+
files:
|
76
|
+
- ".gitignore"
|
77
|
+
- ".rspec"
|
78
|
+
- ".travis.yml"
|
79
|
+
- CODE_OF_CONDUCT.md
|
80
|
+
- Gemfile
|
81
|
+
- LICENSE.txt
|
82
|
+
- README.md
|
83
|
+
- Rakefile
|
84
|
+
- bin/console
|
85
|
+
- bin/setup
|
86
|
+
- cwallet-ruby.gemspec
|
87
|
+
- lib/cwallet/wallet.rb
|
88
|
+
- lib/cwallet/wallet/.DS_Store
|
89
|
+
- lib/cwallet/wallet/adapters/em_http.rb
|
90
|
+
- lib/cwallet/wallet/adapters/net_http.rb
|
91
|
+
- lib/cwallet/wallet/api_client.rb
|
92
|
+
- lib/cwallet/wallet/api_errors.rb
|
93
|
+
- lib/cwallet/wallet/api_response.rb
|
94
|
+
- lib/cwallet/wallet/client.rb
|
95
|
+
- lib/cwallet/wallet/cpub.pub
|
96
|
+
- lib/cwallet/wallet/models/account.rb
|
97
|
+
- lib/cwallet/wallet/models/address.rb
|
98
|
+
- lib/cwallet/wallet/models/api_object.rb
|
99
|
+
- lib/cwallet/wallet/models/transaction.rb
|
100
|
+
- lib/cwallet/wallet/version.rb
|
101
|
+
homepage: https://www.ducle.me
|
102
|
+
licenses:
|
103
|
+
- MIT
|
104
|
+
metadata: {}
|
105
|
+
post_install_message:
|
106
|
+
rdoc_options: []
|
107
|
+
require_paths:
|
108
|
+
- lib
|
109
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
110
|
+
requirements:
|
111
|
+
- - ">="
|
112
|
+
- !ruby/object:Gem::Version
|
113
|
+
version: '0'
|
114
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
115
|
+
requirements:
|
116
|
+
- - ">="
|
117
|
+
- !ruby/object:Gem::Version
|
118
|
+
version: '0'
|
119
|
+
requirements: []
|
120
|
+
rubyforge_project:
|
121
|
+
rubygems_version: 2.6.11
|
122
|
+
signing_key:
|
123
|
+
specification_version: 4
|
124
|
+
summary: Client API for cwallet
|
125
|
+
test_files: []
|