billogram 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 +17 -0
- data/Gemfile +4 -0
- data/LICENSE.txt +22 -0
- data/README.md +25 -0
- data/Rakefile +9 -0
- data/billogram.gemspec +29 -0
- data/lib/billogram.rb +24 -0
- data/lib/billogram/client.rb +22 -0
- data/lib/billogram/resource.rb +61 -0
- data/lib/billogram/resources/invoice.rb +6 -0
- data/lib/billogram/version.rb +3 -0
- data/test/billogram_test.rb +26 -0
- data/test/fakeweb_helper.rb +31 -0
- data/test/resource_test.rb +32 -0
- data/test/resources/invoice_test.rb +17 -0
- data/test/stubs/errors/403 +9 -0
- data/test/stubs/errors/404 +9 -0
- data/test/stubs/invoice/index +54 -0
- data/test/stubs/invoice/show +125 -0
- data/test/test_helper.rb +14 -0
- metadata +171 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 01b1c1e7b6c92ecce8df12e6677b5e21c1e20a57
|
4
|
+
data.tar.gz: e2d5a6d94146f3668670cf17a80fda2de712b03f
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 6ab92336c7e385b5797b67a2b9550da4f871d1fb0f61426a27bfc3bc98d102519517a42c9ba4235bc4afce6fdc54f5be33f6efbaa8d883af800d20dfc5d20301
|
7
|
+
data.tar.gz: 171be03c425b66915032ee90d8bf85687e2e575f394dc24d02618a1514dae4ca7b0539d349be79734435ebb1681aa093e6cd8b0427c182027684012dcfa0e2d8
|
data/.gitignore
ADDED
data/Gemfile
ADDED
data/LICENSE.txt
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
Copyright (c) 2015 Mark
|
2
|
+
|
3
|
+
MIT License
|
4
|
+
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
6
|
+
a copy of this software and associated documentation files (the
|
7
|
+
"Software"), to deal in the Software without restriction, including
|
8
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
9
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
10
|
+
permit persons to whom the Software is furnished to do so, subject to
|
11
|
+
the following conditions:
|
12
|
+
|
13
|
+
The above copyright notice and this permission notice shall be
|
14
|
+
included in all copies or substantial portions of the Software.
|
15
|
+
|
16
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
17
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
18
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
19
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
20
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
21
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
22
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/README.md
ADDED
@@ -0,0 +1,25 @@
|
|
1
|
+
# Billogram
|
2
|
+
|
3
|
+
A tiny Ruby wrapper for Billogram API.
|
4
|
+
|
5
|
+
## Installation
|
6
|
+
$ gem install billogram
|
7
|
+
|
8
|
+
## Configuration
|
9
|
+
Billogram.configure do |c|
|
10
|
+
c.api_user = '6302-nibH3Grm'
|
11
|
+
c.api_key = 'e4d1bf5fba2f6e9df97a636dd8c67d2f'
|
12
|
+
c.base_url = 'https://sandbox.billogram.com/api/v2'
|
13
|
+
end
|
14
|
+
|
15
|
+
## Usage
|
16
|
+
# Get an invoice by ID
|
17
|
+
@billgoram = Billogram::Invoice.get('gQjEEZL')
|
18
|
+
|
19
|
+
## Contributing
|
20
|
+
|
21
|
+
1. Fork it ( https://github.com/[my-github-username]/billogram/fork )
|
22
|
+
2. Create your feature branch (`git checkout -b my-new-feature`)
|
23
|
+
3. Commit your changes (`git commit -am 'Add some feature'`)
|
24
|
+
4. Push to the branch (`git push origin my-new-feature`)
|
25
|
+
5. Create a new Pull Request
|
data/Rakefile
ADDED
data/billogram.gemspec
ADDED
@@ -0,0 +1,29 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
lib = File.expand_path('../lib', __FILE__)
|
3
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
+
require 'billogram/version'
|
5
|
+
|
6
|
+
Gem::Specification.new do |spec|
|
7
|
+
spec.name = "billogram"
|
8
|
+
spec.version = Billogram::VERSION
|
9
|
+
spec.authors = ["Mark Birman"]
|
10
|
+
spec.email = ["birmanmark@gmail.com"]
|
11
|
+
spec.summary = %q{Ruby wrapper over Billogram API}
|
12
|
+
spec.description = %q{Ruby wrapper over Billogram API}
|
13
|
+
spec.homepage = ""
|
14
|
+
spec.license = "MIT"
|
15
|
+
|
16
|
+
spec.files = `git ls-files -z`.split("\x0")
|
17
|
+
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
18
|
+
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
19
|
+
spec.require_paths = ["lib"]
|
20
|
+
|
21
|
+
spec.add_development_dependency "bundler", "~> 1.7"
|
22
|
+
spec.add_development_dependency "rake", "~> 10.0"
|
23
|
+
spec.add_development_dependency "minitest"
|
24
|
+
spec.add_development_dependency "fakeweb", ["~> 1.3"]
|
25
|
+
|
26
|
+
spec.add_dependency "httparty"
|
27
|
+
spec.add_dependency "json"
|
28
|
+
spec.add_dependency "hashie"
|
29
|
+
end
|
data/lib/billogram.rb
ADDED
@@ -0,0 +1,24 @@
|
|
1
|
+
require "httparty"
|
2
|
+
require "hashie/mash"
|
3
|
+
require "forwardable"
|
4
|
+
|
5
|
+
Dir[File.dirname(__FILE__) + '/billogram/**/**.rb'].each do |file|
|
6
|
+
require file
|
7
|
+
end
|
8
|
+
|
9
|
+
module Billogram
|
10
|
+
CONFIG_KEYS = [:api_key, :api_user, :base_url].freeze
|
11
|
+
|
12
|
+
class << self
|
13
|
+
attr_accessor *CONFIG_KEYS
|
14
|
+
|
15
|
+
def configure
|
16
|
+
yield self
|
17
|
+
self
|
18
|
+
end
|
19
|
+
|
20
|
+
def client
|
21
|
+
@client ||= Client.new(api_user, api_key, base_url)
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
module Billogram
|
2
|
+
# https://github.com/lendai/billogram-api-clients/tree/master/ruby
|
3
|
+
class Client
|
4
|
+
include HTTParty
|
5
|
+
extend Forwardable
|
6
|
+
|
7
|
+
HEADERS = {
|
8
|
+
"Accept" => "application/json",
|
9
|
+
"Content-Type" => "application/json"
|
10
|
+
}
|
11
|
+
|
12
|
+
headers HEADERS
|
13
|
+
format :json
|
14
|
+
|
15
|
+
delegate [:get, :post, :put, :delete] => self
|
16
|
+
|
17
|
+
def initialize(username, password, base_uri = Billogram.base_url)
|
18
|
+
self.class.base_uri base_uri
|
19
|
+
self.class.basic_auth username, password
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
@@ -0,0 +1,61 @@
|
|
1
|
+
module Billogram
|
2
|
+
class Resource
|
3
|
+
class << self
|
4
|
+
attr_writer :endpoint
|
5
|
+
|
6
|
+
def endpoint
|
7
|
+
@endpoint || downcased_class_name
|
8
|
+
end
|
9
|
+
|
10
|
+
def get(id = '')
|
11
|
+
get_and_return_new("/#{endpoint}/#{id}")
|
12
|
+
end
|
13
|
+
|
14
|
+
private
|
15
|
+
|
16
|
+
def downcased_class_name
|
17
|
+
name.split('::').last.downcase
|
18
|
+
end
|
19
|
+
|
20
|
+
def get_and_return_new(url)
|
21
|
+
response = Billogram.client.get(url)
|
22
|
+
new response['data']
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
attr_reader :attributes
|
27
|
+
|
28
|
+
def initialize(attributes = {})
|
29
|
+
@attributes = Hashie::Mash.new(attributes)
|
30
|
+
end
|
31
|
+
|
32
|
+
def update(attributes = {})
|
33
|
+
Billogram.client.put("/#{endpoint}/#{id}", attributes)
|
34
|
+
end
|
35
|
+
|
36
|
+
def delete
|
37
|
+
Billogram.client.delete("/#{endpoint}/#{id}")
|
38
|
+
end
|
39
|
+
|
40
|
+
private
|
41
|
+
|
42
|
+
def method_missing(method, *args)
|
43
|
+
method_name = method.to_s
|
44
|
+
|
45
|
+
if method_name =~ /(=|\?)$/
|
46
|
+
case $1
|
47
|
+
when '='
|
48
|
+
attributes[$`] = args.first
|
49
|
+
when '?'
|
50
|
+
attributes[$`]
|
51
|
+
end
|
52
|
+
else
|
53
|
+
if attributes.respond_to?(method)
|
54
|
+
attributes[method]
|
55
|
+
else
|
56
|
+
super
|
57
|
+
end
|
58
|
+
end
|
59
|
+
end
|
60
|
+
end
|
61
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
require 'test_helper'
|
2
|
+
|
3
|
+
describe Billogram do
|
4
|
+
Billogram::CONFIG_KEYS.each do |method|
|
5
|
+
it "should respond to #{method}" do
|
6
|
+
Billogram.must_respond_to method
|
7
|
+
end
|
8
|
+
end
|
9
|
+
|
10
|
+
describe '.configure' do
|
11
|
+
it 'should set values' do
|
12
|
+
Billogram.configure do |config|
|
13
|
+
Billogram::CONFIG_KEYS.each do |method|
|
14
|
+
config.send("#{method}=", method.to_s)
|
15
|
+
Billogram.send(method).must_equal method.to_s
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
describe '.client' do
|
22
|
+
it 'should be instance of Billogram::Client' do
|
23
|
+
Billogram.client.must_be_kind_of Billogram::Client
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
@@ -0,0 +1,31 @@
|
|
1
|
+
require 'fakeweb'
|
2
|
+
|
3
|
+
def stub_file(stub)
|
4
|
+
File.join(File.dirname(__FILE__), 'stubs', stub)
|
5
|
+
end
|
6
|
+
|
7
|
+
def fake_it_all
|
8
|
+
FakeWeb.clean_registry
|
9
|
+
|
10
|
+
{
|
11
|
+
# GET URLs
|
12
|
+
:get => {
|
13
|
+
%r{https://\w+:\w+@billogram.com/api/v2/billogram/$} => File.join('invoice', 'index'),
|
14
|
+
%r{https://\w+:\w+@billogram.com/api/v2/billogram/\w+} => File.join('invoice', 'show')
|
15
|
+
},
|
16
|
+
# POST URLs
|
17
|
+
:post => {
|
18
|
+
'https://billogram.com/api/v2/billogram' => File.join('invoice', 'create'),
|
19
|
+
%r{https://billogram.com/api/v2/\w+/command/send} => File.join('invoice', 'send')
|
20
|
+
},
|
21
|
+
# PUT URLs
|
22
|
+
:put => {
|
23
|
+
%r{https://billogram.com/api/v2/\w+} => File.join('invoice', 'update')
|
24
|
+
}
|
25
|
+
}.
|
26
|
+
each do |method, requests|
|
27
|
+
requests.each do |url, response|
|
28
|
+
FakeWeb.register_uri(method, url, :response => stub_file(response))
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
@@ -0,0 +1,32 @@
|
|
1
|
+
require 'test_helper'
|
2
|
+
|
3
|
+
describe Billogram::Resource do
|
4
|
+
describe '.endpoint' do
|
5
|
+
it 'should set value' do
|
6
|
+
Billogram::Resource.endpoint = 'test_endpoint'
|
7
|
+
Billogram::Resource.endpoint.must_equal 'test_endpoint'
|
8
|
+
end
|
9
|
+
|
10
|
+
it 'should return downcased class name by default' do
|
11
|
+
Billogram::Resource.endpoint = nil
|
12
|
+
Billogram::Resource.endpoint.must_equal 'resource'
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
describe '.new' do
|
17
|
+
it 'should set attributes' do
|
18
|
+
resource = Billogram::Resource.new({string_attribute: 'test', zero_attribute: 0, integer_attribute: 2, false_attribute: false, nil_attribute: nil})
|
19
|
+
resource.string_attribute.must_equal 'test'
|
20
|
+
resource.zero_attribute.must_equal 0
|
21
|
+
resource.integer_attribute.must_equal 2
|
22
|
+
resource.false_attribute.must_equal false
|
23
|
+
resource.nil_attribute.must_equal nil
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
it 'should have setters for attributes' do
|
28
|
+
resource = Billogram::Resource.new({first: 'test'})
|
29
|
+
resource.first = 'first'
|
30
|
+
resource.first.must_equal 'first'
|
31
|
+
end
|
32
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
require 'test_helper'
|
2
|
+
|
3
|
+
describe Billogram::Invoice do
|
4
|
+
before(:each) do
|
5
|
+
configure_billogram
|
6
|
+
fake_it_all
|
7
|
+
@billogram = Billogram::Invoice.get('gQjEEZL')
|
8
|
+
end
|
9
|
+
|
10
|
+
it 'should return an instance of Billogram::Invoice' do
|
11
|
+
@billogram.must_be_kind_of Billogram::Invoice
|
12
|
+
end
|
13
|
+
|
14
|
+
it 'should return id' do
|
15
|
+
@billogram.id.must_equal 'gQjEEZL'
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,54 @@
|
|
1
|
+
HTTP/1.1 200 OK
|
2
|
+
Content-Type: application/json
|
3
|
+
|
4
|
+
{
|
5
|
+
"status":"OK",
|
6
|
+
"meta":{
|
7
|
+
"total_count":171,
|
8
|
+
"total_remaining_sum":"159145.00"
|
9
|
+
},
|
10
|
+
"data":[
|
11
|
+
{
|
12
|
+
"customer":{
|
13
|
+
"name":"Happy customer",
|
14
|
+
"email":null,
|
15
|
+
"org_no":null,
|
16
|
+
"customer_no":5
|
17
|
+
},
|
18
|
+
"due_date":"2014-11-01",
|
19
|
+
"total_sum":3148.0,
|
20
|
+
"created_at":"2014-10-19 21:32:12",
|
21
|
+
"invoice_date":"2014-10-17",
|
22
|
+
"updated_at":"2014-10-19 21:32:12",
|
23
|
+
"currency":"SEK",
|
24
|
+
"state":"Unattested",
|
25
|
+
"remaining_sum":3148.0,
|
26
|
+
"flags":[
|
27
|
+
],
|
28
|
+
"ocr_number":null,
|
29
|
+
"invoice_no":null,
|
30
|
+
"id":"u9PQW3E"
|
31
|
+
},
|
32
|
+
{
|
33
|
+
"customer":{
|
34
|
+
"name":"Systembolaget",
|
35
|
+
"email":"invoice@systembolaget.se",
|
36
|
+
"org_no":"",
|
37
|
+
"customer_no":1
|
38
|
+
},
|
39
|
+
"due_date":"2014-10-15",
|
40
|
+
"total_sum":72269.0,
|
41
|
+
"created_at":"2014-09-15 00:55:22",
|
42
|
+
"invoice_date":"2014-09-15",
|
43
|
+
"updated_at":"2014-09-15 01:07:19",
|
44
|
+
"currency":"SEK",
|
45
|
+
"state":"Unattested",
|
46
|
+
"remaining_sum":72269.0,
|
47
|
+
"flags":[
|
48
|
+
],
|
49
|
+
"ocr_number":null,
|
50
|
+
"invoice_no":null,
|
51
|
+
"id":"EjWs4CP"
|
52
|
+
}
|
53
|
+
]
|
54
|
+
}
|
@@ -0,0 +1,125 @@
|
|
1
|
+
HTTP/1.1 200 OK
|
2
|
+
Content-Type: application/json
|
3
|
+
|
4
|
+
{
|
5
|
+
"status":"OK",
|
6
|
+
"data":{
|
7
|
+
"due_days":15,
|
8
|
+
"info":{
|
9
|
+
"reference_number":null,
|
10
|
+
"our_reference":"John Doe",
|
11
|
+
"order_no":"AIB033",
|
12
|
+
"shipping_date":"2014-10-30",
|
13
|
+
"order_date":"2014-10-24",
|
14
|
+
"message":"Thank you!",
|
15
|
+
"delivery_date":"2014-10-30",
|
16
|
+
"your_reference":""
|
17
|
+
},
|
18
|
+
"attested_at":"2014-10-24 07:30:45",
|
19
|
+
"updated_at":"2015-01-23 23:44:17",
|
20
|
+
"currency":"SEK",
|
21
|
+
"detailed_sums":{
|
22
|
+
"credited_sum":0,
|
23
|
+
"net_sum":445,
|
24
|
+
"gross_sum":556.25,
|
25
|
+
"invoice_fee_vat":0,
|
26
|
+
"paid_sum":0,
|
27
|
+
"interest_fee":0,
|
28
|
+
"vat_sum":111.25,
|
29
|
+
"reminder_fee":0,
|
30
|
+
"invoice_fee":0,
|
31
|
+
"rounding":-0.25,
|
32
|
+
"regional_sweden":{
|
33
|
+
"rotavdrag_sum":0
|
34
|
+
},
|
35
|
+
"collector_paid_sum":0,
|
36
|
+
"remaining_sum":556
|
37
|
+
},
|
38
|
+
"id":"gQjEEZL",
|
39
|
+
"reminder_fee":"50",
|
40
|
+
"interest_rate":8.5,
|
41
|
+
"state":"Overdue",
|
42
|
+
"attachment":null,
|
43
|
+
"automatic_reminders":false,
|
44
|
+
"rounding_value":-0.25,
|
45
|
+
"ocr_number":"6409920018890569",
|
46
|
+
"events":[
|
47
|
+
{
|
48
|
+
"type":"BillogramCreated",
|
49
|
+
"created_at":"2014-10-24 07:30:42",
|
50
|
+
"data":null
|
51
|
+
},
|
52
|
+
{
|
53
|
+
"type":"BillogramSent",
|
54
|
+
"created_at":"2014-10-24 07:30:45",
|
55
|
+
"data":{
|
56
|
+
"letter_id":"Tk5NTQzQxNjQ14bccc9e8c0YTAwMjRmMGM3NANc8131024c90a0d24b1fc73",
|
57
|
+
"total_sum":556,
|
58
|
+
"scanning_central":null,
|
59
|
+
"remaining_sum":556,
|
60
|
+
"delivery_method":"Letter",
|
61
|
+
"invoice_no":190
|
62
|
+
}
|
63
|
+
},
|
64
|
+
{
|
65
|
+
"type":"Overdue",
|
66
|
+
"created_at":"2014-11-08 23:00:00",
|
67
|
+
"data":{
|
68
|
+
"remaining_sum":"556.00"
|
69
|
+
}
|
70
|
+
}
|
71
|
+
],
|
72
|
+
"due_date":"2014-11-08",
|
73
|
+
"invoice_fee_vat":0,
|
74
|
+
"invoice_date":"2014-10-24",
|
75
|
+
"reminder_count":0,
|
76
|
+
"interest_fee":0.0,
|
77
|
+
"invoice_no":190,
|
78
|
+
"customer":{
|
79
|
+
"name":"Cool Customer",
|
80
|
+
"vat_no":null,
|
81
|
+
"phone":"+46 40 44 65 787",
|
82
|
+
"customer_no":3,
|
83
|
+
"address":{
|
84
|
+
"city":"",
|
85
|
+
"country":"SE",
|
86
|
+
"attention":"",
|
87
|
+
"zipcode":"62156",
|
88
|
+
"careof":"",
|
89
|
+
"street_address":"Schweitzergr\u00e4nd 10A"
|
90
|
+
},
|
91
|
+
"email":null,
|
92
|
+
"org_no":null
|
93
|
+
},
|
94
|
+
"invoice_fee":0,
|
95
|
+
"url":"https://billogram.com/r/2001905699988640/N9PCC4",
|
96
|
+
"items":[
|
97
|
+
{
|
98
|
+
"count":5.0,
|
99
|
+
"item_no":"110-1",
|
100
|
+
"description":"75cl Bigger Lager 7,5% - Imperial Pilsner - All In Brewing/Toccalmatto",
|
101
|
+
"title":"Bigger Lager 7,5% 75cl",
|
102
|
+
"regional_sweden":{
|
103
|
+
"rotavdrag":false
|
104
|
+
},
|
105
|
+
"price":89.0,
|
106
|
+
"discount":0.0,
|
107
|
+
"unit":"unit",
|
108
|
+
"vat":25
|
109
|
+
}
|
110
|
+
],
|
111
|
+
"created_at":"2014-10-24 07:30:42",
|
112
|
+
"total_sum":556.0,
|
113
|
+
"delivery_method":"Letter",
|
114
|
+
"remaining_sum":556.0,
|
115
|
+
"flags":[
|
116
|
+
|
117
|
+
],
|
118
|
+
"regional_sweden":{
|
119
|
+
"rotavdrag_personal_number":null,
|
120
|
+
"rotavdrag":0,
|
121
|
+
"reversed_vat":null,
|
122
|
+
"rotavdrag_description":null
|
123
|
+
}
|
124
|
+
}
|
125
|
+
}
|
data/test/test_helper.rb
ADDED
@@ -0,0 +1,14 @@
|
|
1
|
+
require './lib/billogram'
|
2
|
+
require 'minitest/autorun'
|
3
|
+
require 'minitest/spec'
|
4
|
+
require 'fakeweb_helper.rb'
|
5
|
+
|
6
|
+
FakeWeb.allow_net_connect = false
|
7
|
+
|
8
|
+
def configure_billogram
|
9
|
+
Billogram.configure do |config|
|
10
|
+
config.base_url = 'https://billogram.com/api/v2/'
|
11
|
+
config.api_user = 'username'
|
12
|
+
config.api_key = 'password'
|
13
|
+
end
|
14
|
+
end
|
metadata
ADDED
@@ -0,0 +1,171 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: billogram
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.1
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Mark Birman
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2015-01-26 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.7'
|
20
|
+
type: :development
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '1.7'
|
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: minitest
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ">="
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ">="
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: fakeweb
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - "~>"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '1.3'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - "~>"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '1.3'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: httparty
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ">="
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0'
|
76
|
+
type: :runtime
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ">="
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: json
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - ">="
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0'
|
90
|
+
type: :runtime
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - ">="
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: hashie
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - ">="
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '0'
|
104
|
+
type: :runtime
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - ">="
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '0'
|
111
|
+
description: Ruby wrapper over Billogram API
|
112
|
+
email:
|
113
|
+
- birmanmark@gmail.com
|
114
|
+
executables: []
|
115
|
+
extensions: []
|
116
|
+
extra_rdoc_files: []
|
117
|
+
files:
|
118
|
+
- ".gitignore"
|
119
|
+
- Gemfile
|
120
|
+
- LICENSE.txt
|
121
|
+
- README.md
|
122
|
+
- Rakefile
|
123
|
+
- billogram.gemspec
|
124
|
+
- lib/billogram.rb
|
125
|
+
- lib/billogram/client.rb
|
126
|
+
- lib/billogram/resource.rb
|
127
|
+
- lib/billogram/resources/invoice.rb
|
128
|
+
- lib/billogram/version.rb
|
129
|
+
- test/billogram_test.rb
|
130
|
+
- test/fakeweb_helper.rb
|
131
|
+
- test/resource_test.rb
|
132
|
+
- test/resources/invoice_test.rb
|
133
|
+
- test/stubs/errors/403
|
134
|
+
- test/stubs/errors/404
|
135
|
+
- test/stubs/invoice/index
|
136
|
+
- test/stubs/invoice/show
|
137
|
+
- test/test_helper.rb
|
138
|
+
homepage: ''
|
139
|
+
licenses:
|
140
|
+
- MIT
|
141
|
+
metadata: {}
|
142
|
+
post_install_message:
|
143
|
+
rdoc_options: []
|
144
|
+
require_paths:
|
145
|
+
- lib
|
146
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
147
|
+
requirements:
|
148
|
+
- - ">="
|
149
|
+
- !ruby/object:Gem::Version
|
150
|
+
version: '0'
|
151
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
152
|
+
requirements:
|
153
|
+
- - ">="
|
154
|
+
- !ruby/object:Gem::Version
|
155
|
+
version: '0'
|
156
|
+
requirements: []
|
157
|
+
rubyforge_project:
|
158
|
+
rubygems_version: 2.2.2
|
159
|
+
signing_key:
|
160
|
+
specification_version: 4
|
161
|
+
summary: Ruby wrapper over Billogram API
|
162
|
+
test_files:
|
163
|
+
- test/billogram_test.rb
|
164
|
+
- test/fakeweb_helper.rb
|
165
|
+
- test/resource_test.rb
|
166
|
+
- test/resources/invoice_test.rb
|
167
|
+
- test/stubs/errors/403
|
168
|
+
- test/stubs/errors/404
|
169
|
+
- test/stubs/invoice/index
|
170
|
+
- test/stubs/invoice/show
|
171
|
+
- test/test_helper.rb
|