briq 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.
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: []