rmoolah 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 130ad6c3921f14fd25d07a23cf8c03e6f5250dcb
4
- data.tar.gz: ec74b4f0fa2e942711d037466724d4440e1e130e
3
+ metadata.gz: c41bfa853f04b54b57b64a660bf616394d8ada92
4
+ data.tar.gz: d3dcbba3ff5b642ad3d18b124704f18e2c0e4ffe
5
5
  SHA512:
6
- metadata.gz: d6bcd90783f8e0e8e8ff1c998a87690e24987a692307ddf6b8244f7c31c183db0b8cb1a0b28b81aaaec77cf7e563048d15d21048cc28139a0cc8886faa93bee9
7
- data.tar.gz: e14959271b1900a57a536871be543c02bc9df372b68de3ab3bbb9926158189cfd116345ffba42274217ce133b1d0459fb5f135bc6af7448594f2459475d37190
6
+ metadata.gz: fbd412283417d5de43cf32211bf4fa530e2c01503ff0b4eb680b8c6737813235cddab95854467933149162b9e30119e868557d245fa415ac9c6468eae41e5c34
7
+ data.tar.gz: f9d98ddc89693ca047dca46cfeda30c794570721f609e8c99112d521611591cf98cf1978498376752a274733f110b6d9fa46037bd852cf30a43361ceffc0f705
@@ -0,0 +1 @@
1
+ rmoolah
@@ -0,0 +1 @@
1
+ 2.1.1
data/README.md CHANGED
@@ -1,6 +1,11 @@
1
1
  # Rmoolah
2
2
 
3
- TODO: Write a gem description
3
+ [![Build Status](https://travis-ci.org/egze/rmoolah.svg?branch=master)](https://travis-ci.org/egze/rmoolah)
4
+
5
+ With moolah.io you can process payments in-store and online. Rmoolah is a API wrapper for moolah.io
6
+
7
+ Developed by [@egze] for [9flats.com]
8
+
4
9
 
5
10
  ## Installation
6
11
 
@@ -42,10 +47,17 @@ transaction.status
42
47
  => "pending"
43
48
  ```
44
49
 
50
+ Look at tests for further examples.
51
+
45
52
  ## Contributing
46
53
 
47
- 1. Fork it ( https://github.com/[my-github-username]/rmoolah/fork )
54
+ 1. Fork it ( https://github.com/egze/rmoolah/fork )
48
55
  2. Create your feature branch (`git checkout -b my-new-feature`)
49
56
  3. Commit your changes (`git commit -am 'Add some feature'`)
50
57
  4. Push to the branch (`git push origin my-new-feature`)
51
58
  5. Create a new Pull Request
59
+
60
+
61
+
62
+ [@egze]:http://www.github.com/egze/
63
+ [9flats.com]:http://www.9flats.com/
@@ -0,0 +1,73 @@
1
+ module Rmoolah
2
+
3
+ class Transaction
4
+
5
+ include HTTParty
6
+
7
+ debug_output $stderr
8
+
9
+ base_uri 'https://moolah.io'
10
+
11
+ class << self
12
+ def fetch(tx)
13
+ self.new(nil, nil, nil, nil, nil).fetch(tx)
14
+ end
15
+ end
16
+
17
+ attr_reader :tx,
18
+ :address,
19
+ :amount_requested,
20
+ :currency_requested,
21
+ :amount_to_pay,
22
+ :currency_to_pay,
23
+ :url,
24
+ :guid,
25
+ :product,
26
+ :return_url,
27
+ :ipn,
28
+ :status,
29
+ :received
30
+
31
+ def initialize(guid, amount_requested, currency_requested, product, return_url, ipn = nil)
32
+ @guid = guid
33
+ @amount_requested = amount_requested
34
+ @currency_requested = currency_requested
35
+ @product = product
36
+ @return_url = return_url
37
+ @ipn = ipn
38
+ end
39
+
40
+ def create
41
+ response = self.class.get("/api/pay", query: {
42
+ guid: guid,
43
+ amount: amount_requested,
44
+ currency: currency_requested,
45
+ product: product,
46
+ return: return_url
47
+ })
48
+ update!(response.body)
49
+ self
50
+ end
51
+
52
+ def fetch(tx = @tx)
53
+ response = self.class.get("/api/pay/check/#{tx}")
54
+ update!(response.body)
55
+ self
56
+ end
57
+
58
+ private
59
+ def update!(json)
60
+ h = JSON.parse(json)
61
+ @status ||= h['status']
62
+ @tx ||= h['tx']
63
+ @url ||= h['url']
64
+ @address ||= h['address']
65
+ @amount_to_pay ||= h['amount']
66
+ @currency_to_pay ||= h['currency']
67
+ @received ||= h['received']
68
+ self
69
+ end
70
+
71
+ end
72
+
73
+ end
@@ -1,3 +1,3 @@
1
1
  module Rmoolah
2
- VERSION = "0.0.1"
2
+ VERSION = "0.0.2"
3
3
  end
@@ -0,0 +1 @@
1
+ {"address":"DMU2tcx9Fe8nsDXEUA2SkBynJt1KXXXXXX","amount":1337.1337,"currency":"DOGE","tx":"322fabc5-1111-1111-1111-688eb8271204","url":"https:\/\/moolah.io\/api\/tx\/322fabc5-1111-1111-1111-688eb8271204"}
@@ -0,0 +1 @@
1
+ {"address":"DMU2tcx9Fe8nsDXEUA2SkBynJt1KXXXXXX","received":0,"status":"pending","tx":"322fabc5-1111-1111-1111-688eb8271204"}
@@ -0,0 +1,11 @@
1
+ require 'rubygems'
2
+
3
+ $LOAD_PATH.unshift(File.dirname(__FILE__))
4
+ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
5
+ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), 'fixtures'))
6
+
7
+ gem 'minitest'
8
+
9
+ require "minitest/autorun"
10
+ require 'webmock/minitest'
11
+ require 'rmoolah'
@@ -0,0 +1,24 @@
1
+ require 'helper'
2
+
3
+ class TestTransaction < MiniTest::Unit::TestCase
4
+
5
+ def test_should_create_transaction
6
+ stub_request(:get, /.*moolah.*/).to_return(:body => File.new(File.dirname(__FILE__) + '/fixtures/create_success.json'), :status => 200)
7
+ tr = Rmoolah::Transaction.new("abababab", 50, "USD", "My Product", "http://cligs.com", "http://cligs.com").create
8
+ assert_equal "DMU2tcx9Fe8nsDXEUA2SkBynJt1KXXXXXX", tr.address
9
+ assert_equal 1337.1337, tr.amount_to_pay
10
+ assert_equal "DOGE", tr.currency_to_pay
11
+ assert_equal "322fabc5-1111-1111-1111-688eb8271204", tr.tx
12
+ assert_equal 'https://moolah.io/api/tx/322fabc5-1111-1111-1111-688eb8271204', tr.url
13
+ end
14
+
15
+ def test_should_fetch_transaction
16
+ stub_request(:get, /.*moolah.*/).to_return(:body => File.new(File.dirname(__FILE__) + '/fixtures/fetch_success.json'), :status => 200)
17
+ tr = Rmoolah::Transaction.fetch("322fabc5-1111-1111-1111-688eb8271204")
18
+ assert_equal "DMU2tcx9Fe8nsDXEUA2SkBynJt1KXXXXXX", tr.address
19
+ assert_equal 0, tr.received
20
+ assert_equal "pending", tr.status
21
+ assert_equal "322fabc5-1111-1111-1111-688eb8271204", tr.tx
22
+ end
23
+
24
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rmoolah
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Aleksandr Lossenko
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-05-13 00:00:00.000000000 Z
11
+ date: 2014-05-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: httparty
@@ -89,13 +89,20 @@ extensions: []
89
89
  extra_rdoc_files: []
90
90
  files:
91
91
  - ".gitignore"
92
+ - ".ruby-gemset"
93
+ - ".ruby-version"
92
94
  - Gemfile
93
95
  - LICENSE.txt
94
96
  - README.md
95
97
  - Rakefile
96
98
  - lib/rmoolah.rb
99
+ - lib/rmoolah/transaction.rb
97
100
  - lib/rmoolah/version.rb
98
101
  - rmoolah.gemspec
102
+ - test/fixtures/create_success.json
103
+ - test/fixtures/fetch_success.json
104
+ - test/helper.rb
105
+ - test/test_transaction.rb
99
106
  homepage: https://github.com/egze/rmoolah
100
107
  licenses:
101
108
  - MIT
@@ -120,4 +127,8 @@ rubygems_version: 2.2.2
120
127
  signing_key:
121
128
  specification_version: 4
122
129
  summary: API wrapper for moolah.io
123
- test_files: []
130
+ test_files:
131
+ - test/fixtures/create_success.json
132
+ - test/fixtures/fetch_success.json
133
+ - test/helper.rb
134
+ - test/test_transaction.rb