rock_rms 0.0.2 → 0.0.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/rock_rms/client.rb +5 -3
- data/lib/rock_rms/resources/batch.rb +34 -0
- data/lib/rock_rms/resources/donation.rb +6 -5
- data/lib/rock_rms/resources/fund.rb +1 -1
- data/lib/rock_rms/resources/person.rb +12 -1
- data/lib/rock_rms/responses/donation.rb +2 -1
- data/lib/rock_rms/version.rb +1 -1
- data/rock_rms.gemspec +1 -0
- metadata +18 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 92eae9f2816d3de7c67efad778e7fd05a590c881
|
4
|
+
data.tar.gz: cc901d2931b7bb5847f094ef7fecfcec83b2fd3e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4a298ad04b5cd53f9e32be677e217bbc9c4a5464b62df59cf8fdb2a814b884aa9021af99f518bbc1a41689f8fa72b8bb20daf4d0182df3eaf2ed454e9c0f14b8
|
7
|
+
data.tar.gz: e5a568e37a6d90034765d45f4452db28a2e7e7dabbbaf7845bd881c4b0f9e9d693aa8a8ed68081661575feda1c03a8b2bf03912cedc469542f8d23c0028e6532
|
data/lib/rock_rms/client.rb
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
require 'faraday'
|
2
2
|
require 'faraday_middleware'
|
3
|
+
require 'faraday_middleware/parse_oj'
|
3
4
|
require_relative 'version'
|
4
5
|
|
5
6
|
Dir[File.expand_path('../resources/*.rb', __FILE__)].each{|f| require f}
|
@@ -7,6 +8,7 @@ Dir[File.expand_path('../responses/*.rb', __FILE__)].each{|f| require f}
|
|
7
8
|
|
8
9
|
module RockRMS
|
9
10
|
class Client
|
11
|
+
include RockRMS::Client::Batch
|
10
12
|
include RockRMS::Client::Donation
|
11
13
|
include RockRMS::Client::Fund
|
12
14
|
include RockRMS::Client::PaymentMethod
|
@@ -15,7 +17,7 @@ module RockRMS
|
|
15
17
|
attr_reader :url, :username, :password, :logger, :cookie, :connection
|
16
18
|
|
17
19
|
def initialize(url:, username:, password:, logger: true)
|
18
|
-
@url = url
|
20
|
+
@url = "#{url}/api/"
|
19
21
|
@username = username
|
20
22
|
@password = password
|
21
23
|
@logger = logger
|
@@ -23,7 +25,7 @@ module RockRMS
|
|
23
25
|
end
|
24
26
|
|
25
27
|
def auth
|
26
|
-
connection.post("Auth/Login", {
|
28
|
+
connection.post("#{@url}Auth/Login", {
|
27
29
|
'Username' => username,
|
28
30
|
'Password' => password,
|
29
31
|
'Persisted' => true
|
@@ -66,7 +68,7 @@ module RockRMS
|
|
66
68
|
Faraday.new(url: url, headers: headers) do |conn|
|
67
69
|
conn.request :json
|
68
70
|
conn.response :logger if logger
|
69
|
-
conn.response :
|
71
|
+
conn.response :oj
|
70
72
|
conn.adapter Faraday.default_adapter
|
71
73
|
end
|
72
74
|
end
|
@@ -0,0 +1,34 @@
|
|
1
|
+
module RockRMS
|
2
|
+
class Client
|
3
|
+
module Batch
|
4
|
+
|
5
|
+
def list_batches(options = {})
|
6
|
+
res = get(batches_path, options)
|
7
|
+
end
|
8
|
+
|
9
|
+
def find_batch(id)
|
10
|
+
res = get(batches_path(id))
|
11
|
+
end
|
12
|
+
|
13
|
+
def create_batch(options = {})
|
14
|
+
options = {
|
15
|
+
"Name" => options[:name],
|
16
|
+
"BatchStartDateTime" => options[:start_time],
|
17
|
+
"BatchEndDateTime" => options[:end_time],
|
18
|
+
}
|
19
|
+
post(batches_path, options)
|
20
|
+
end
|
21
|
+
|
22
|
+
def update_batch(id, options = {})
|
23
|
+
patch(batches_path(id), options)
|
24
|
+
end
|
25
|
+
|
26
|
+
private
|
27
|
+
|
28
|
+
def batches_path(id = nil)
|
29
|
+
id ? "FinancialBatches/#{id}" : "FinancialBatches"
|
30
|
+
end
|
31
|
+
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
@@ -12,27 +12,28 @@ module RockRMS
|
|
12
12
|
raw ? res : RockRMS::Donation.format(res)
|
13
13
|
end
|
14
14
|
|
15
|
-
def
|
15
|
+
def find_donation(id)
|
16
16
|
res = get(transaction_path(id))
|
17
17
|
RockRMS::Donation.format(res)
|
18
18
|
end
|
19
19
|
|
20
|
-
def create_donation(authorized_person_id:, amount:, date:, fund_id:)
|
20
|
+
def create_donation(payment_type:, authorized_person_id:, amount:, date:, fund_id:, batch_id:)
|
21
21
|
options = {
|
22
22
|
"TransactionDateTime" => date,
|
23
23
|
"AuthorizedPersonAliasId" => authorized_person_id,
|
24
24
|
"TransactionDetails" => [{
|
25
25
|
"Amount" => amount,
|
26
|
-
"AccountId" => fund_id
|
26
|
+
"AccountId" => fund_id,
|
27
27
|
}],
|
28
28
|
"TransactionTypeValueId" => 53, # transaction type "contribution", "registration"
|
29
|
-
"FinancialPaymentDetailId" =>
|
29
|
+
"FinancialPaymentDetailId" => payment_type,
|
30
|
+
"BatchId" => batch_id
|
30
31
|
}
|
31
32
|
post(transaction_path, options)
|
32
33
|
end
|
33
34
|
|
34
35
|
def update_transaction(id, options={})
|
35
|
-
|
36
|
+
patch(transaction_path(id), options)
|
36
37
|
end
|
37
38
|
|
38
39
|
def delete_transaction(id)
|
@@ -17,10 +17,21 @@ module RockRMS
|
|
17
17
|
end
|
18
18
|
|
19
19
|
def find_person_by_name(full_name)
|
20
|
-
res = get("People/Search?name=#{full_name}&includeHtml=false&includeDetails=
|
20
|
+
res = get("People/Search?name=#{full_name}&includeHtml=false&includeDetails=true&includeBusinesses=false&includeDeceased=false")
|
21
21
|
RockRMS::Person.format(res)
|
22
22
|
end
|
23
23
|
|
24
|
+
def create_person(first_name:, last_name:, email:)
|
25
|
+
options = {
|
26
|
+
"IsSystem" => false,
|
27
|
+
"FirstName" => first_name,
|
28
|
+
"LastName" => last_name,
|
29
|
+
"Email" => email,
|
30
|
+
"Gender" => 1
|
31
|
+
}
|
32
|
+
post(people_path, options)
|
33
|
+
end
|
34
|
+
|
24
35
|
def update_person(id, options = {})
|
25
36
|
put(people_path(id), options)
|
26
37
|
end
|
@@ -14,7 +14,8 @@ module RockRMS
|
|
14
14
|
date: donation["TransactionDateTime"],
|
15
15
|
amount: donation["TransactionDetails"].reduce(0){|sum, td| sum + td["Amount"]},
|
16
16
|
person_id: donation["AuthorizedPersonAliasId"],
|
17
|
-
fund: ""
|
17
|
+
fund: "",
|
18
|
+
batch_id: donation["BatchId"]
|
18
19
|
}
|
19
20
|
end
|
20
21
|
end
|
data/lib/rock_rms/version.rb
CHANGED
data/rock_rms.gemspec
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rock_rms
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Taylor Brooks
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-07-
|
11
|
+
date: 2017-07-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: faraday
|
@@ -38,6 +38,20 @@ dependencies:
|
|
38
38
|
- - ">="
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: faraday_middleware-parse_oj
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ">="
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
48
|
+
type: :runtime
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ">="
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
41
55
|
- !ruby/object:Gem::Dependency
|
42
56
|
name: json
|
43
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -80,6 +94,7 @@ files:
|
|
80
94
|
- README.md
|
81
95
|
- lib/rock_rms.rb
|
82
96
|
- lib/rock_rms/client.rb
|
97
|
+
- lib/rock_rms/resources/batch.rb
|
83
98
|
- lib/rock_rms/resources/donation.rb
|
84
99
|
- lib/rock_rms/resources/fund.rb
|
85
100
|
- lib/rock_rms/resources/payment_method.rb
|
@@ -109,7 +124,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
109
124
|
version: '0'
|
110
125
|
requirements: []
|
111
126
|
rubyforge_project:
|
112
|
-
rubygems_version: 2.
|
127
|
+
rubygems_version: 2.4.8
|
113
128
|
signing_key:
|
114
129
|
specification_version: 4
|
115
130
|
summary: A Ruby wrapper for the Rock RMS API
|