briq 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +7 -0
  2. data/lib/briq.rb +77 -0
  3. metadata +44 -0
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 50907e6d5e1d6f299e51a7eb64795c64cc212b25
4
+ data.tar.gz: d287a92e75de2e1ef212ddd8ddbf6fe54ca50dcf
5
+ SHA512:
6
+ metadata.gz: bf988757b1863b4d190635432a49a81582247430828e9963c2d4342581e76dbd40e2f49eaa12e5ee0bfab3a26960637bac65b6546398deaf51b1aabaa39c60de
7
+ data.tar.gz: efe2e17b6d173261e36d380e903d2017adc7ce3fbc1faa6f9d34600e4b684c0fce30a604eb4c418459a330dbb2bde8d66b4b8bac5619a3ef5f939d7b1a0d1d51
@@ -0,0 +1,77 @@
1
+ require 'httparty'
2
+ require 'json'
3
+ require 'date'
4
+ require 'uri'
5
+
6
+ class Briq
7
+ include HTTParty
8
+
9
+ def initialize(access_token=nil, org_name=nil)
10
+ # @access_token = access_token
11
+ @base_uri = "https://www.givebriq.com/v0/organizations/"
12
+ @org_name = URI.escape(org_name)
13
+ @auth = {:username => access_token, :password => ""}
14
+ @headers = {"Content-Type": "application/json"}
15
+ end
16
+
17
+ def get_organization
18
+ make_request '', 'get'
19
+ end
20
+
21
+ def list_users(per_page = 100, page = 1)
22
+ opts = {'per_page': per_page , 'page': page}
23
+ make_request '/users', 'get', query = opts
24
+ end
25
+
26
+ def get_user(user_id)
27
+ make_request "/users/#{user_id}", 'get'
28
+ end
29
+
30
+ def list_groups(per_page = 100, page = 1)
31
+ opts = {'per_page': per_page , 'page': page}
32
+ make_request '/groups', 'get', query = opts
33
+ end
34
+
35
+ def get_group(group_id)
36
+ make_request "/groups/#{group_id}", 'get'
37
+ end
38
+
39
+ def list_transactions(per_page = 100, page = 1)
40
+ opts = {'per_page': per_page , 'page': page}
41
+ make_request '/transactions', 'get', query = opts
42
+ end
43
+
44
+ def get_transaction(transaction_id)
45
+ make_request "/transactions/#{transaction_id}", 'get'
46
+ end
47
+
48
+ def create_transaction(from='', to='', amount = 1, comment = 'congrats', query = {})
49
+ if from == '' && to == ''
50
+ raise ArgumentError.new('Need at least a sender or a receiver')
51
+ elsif comment == ''
52
+ raise ArgumentError.new('Need a comment along with the briqs')
53
+ end
54
+ opts = {'from': from , 'to': to, 'amount': amount, 'comment': comment}
55
+ p opts
56
+ make_request '/transactions', 'post', query = query, body = opts
57
+ end
58
+
59
+ def delete_transaction(transaction_id)
60
+ make_request "/transactions/#{transaction_id}", 'delete'
61
+ end
62
+
63
+ private
64
+
65
+ def make_request(method = '', verb = '', query = {}, body = {})
66
+ r = self.class.send(
67
+ verb,
68
+ @base_uri + @org_name + method,
69
+ query: query,
70
+ body: body.to_json,
71
+ headers: @headers,
72
+ format: :plain,
73
+ basic_auth: @auth
74
+ )
75
+ JSON.parse r, symbolize_names: true if verb != 'delete'
76
+ end
77
+ end
metadata ADDED
@@ -0,0 +1,44 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: briq
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Briox
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2019-02-12 00:00:00.000000000 Z
12
+ dependencies: []
13
+ description: ''
14
+ email: lambert.brieuc@gmail.com
15
+ executables: []
16
+ extensions: []
17
+ extra_rdoc_files: []
18
+ files:
19
+ - lib/briq.rb
20
+ homepage: http://rubygems.org/gems/briq
21
+ licenses:
22
+ - MIT
23
+ metadata: {}
24
+ post_install_message:
25
+ rdoc_options: []
26
+ require_paths:
27
+ - lib
28
+ required_ruby_version: !ruby/object:Gem::Requirement
29
+ requirements:
30
+ - - ">="
31
+ - !ruby/object:Gem::Version
32
+ version: '0'
33
+ required_rubygems_version: !ruby/object:Gem::Requirement
34
+ requirements:
35
+ - - ">="
36
+ - !ruby/object:Gem::Version
37
+ version: '0'
38
+ requirements: []
39
+ rubyforge_project:
40
+ rubygems_version: 2.6.14
41
+ signing_key:
42
+ specification_version: 4
43
+ summary: A wrapper for the briq API
44
+ test_files: []