bloomerang_api 0.2.2
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/.rubocop.yml +18 -0
- data/CHANGELOG.md +37 -0
- data/CODE_OF_CONDUCT.md +84 -0
- data/Gemfile +10 -0
- data/Gemfile.lock +47 -0
- data/LICENSE.txt +21 -0
- data/README.md +204 -0
- data/Rakefile +8 -0
- data/bin/console +15 -0
- data/bin/setup +8 -0
- data/lib/bloomerang/address.rb +70 -0
- data/lib/bloomerang/appeal.rb +54 -0
- data/lib/bloomerang/base.rb +46 -0
- data/lib/bloomerang/campaign.rb +71 -0
- data/lib/bloomerang/configuration.rb +7 -0
- data/lib/bloomerang/constituent.rb +206 -0
- data/lib/bloomerang/custom_field.rb +56 -0
- data/lib/bloomerang/email.rb +64 -0
- data/lib/bloomerang/email_interest.rb +36 -0
- data/lib/bloomerang/fund.rb +55 -0
- data/lib/bloomerang/household.rb +94 -0
- data/lib/bloomerang/interaction.rb +82 -0
- data/lib/bloomerang/note.rb +65 -0
- data/lib/bloomerang/phone.rb +62 -0
- data/lib/bloomerang/pledge.rb +95 -0
- data/lib/bloomerang/refund.rb +64 -0
- data/lib/bloomerang/relationship.rb +80 -0
- data/lib/bloomerang/soft_credit.rb +64 -0
- data/lib/bloomerang/task.rb +88 -0
- data/lib/bloomerang/transaction.rb +113 -0
- data/lib/bloomerang/tribute.rb +66 -0
- data/lib/bloomerang/version.rb +5 -0
- data/lib/bloomerang.rb +40 -0
- data/lib/generators/bloomerang/USAGE +3 -0
- data/lib/generators/bloomerang/initializer/initializer_generator.rb +16 -0
- data/lib/generators/bloomerang/templates/bloomerang_config.rb +19 -0
- data/sig/bloomerang.rbs +4 -0
- metadata +97 -0
@@ -0,0 +1,66 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative "base"
|
4
|
+
|
5
|
+
module Bloomerang
|
6
|
+
### Bloomerang::Tribute
|
7
|
+
## https://bloomerang.co/product/integrations-data-management/api/rest-api/#/Tributes
|
8
|
+
# Id integer($int64)
|
9
|
+
# SortIndex integer($int32)
|
10
|
+
# Note string
|
11
|
+
# TributeType TributeType, string, Enum: [ InHonorOf, InMemoryOf ]
|
12
|
+
# NotificantAccountIds array[integer], The IDs of all notificants (constituents) associated with this tribute
|
13
|
+
# Name string
|
14
|
+
# IsDefault boolean, Is this the default?
|
15
|
+
# IsActive boolean, Is this active?
|
16
|
+
class Tribute < Base
|
17
|
+
### Fetch all tributes
|
18
|
+
## https://bloomerang.co/product/integrations-data-management/api/rest-api/#/Tributes/get_tributes
|
19
|
+
#
|
20
|
+
# Params:
|
21
|
+
# skip integer, default: 0, simple paging system
|
22
|
+
# take integer, default: 50, simple paging system
|
23
|
+
# id array[integer], separated by pipes: "1|2|3", Filters to tributes with the IDs in the list (pipe-separated)
|
24
|
+
# isActive boolean
|
25
|
+
def fetch(params = {})
|
26
|
+
get("tributes", params)
|
27
|
+
end
|
28
|
+
|
29
|
+
### Create a tribute
|
30
|
+
## https://bloomerang.co/product/integrations-data-management/api/rest-api/#/Tributes/post_tribute
|
31
|
+
#
|
32
|
+
# Params:
|
33
|
+
# body JSON object, see API for fields
|
34
|
+
def create(body)
|
35
|
+
post("tribute", {}, body)
|
36
|
+
end
|
37
|
+
|
38
|
+
### Fetch tribute by ID
|
39
|
+
## https://bloomerang.co/product/integrations-data-management/api/rest-api/#/Tributes/get_tribute__id_
|
40
|
+
#
|
41
|
+
# Params:
|
42
|
+
# id integer
|
43
|
+
def get(id)
|
44
|
+
get("tribute/#{id}")
|
45
|
+
end
|
46
|
+
|
47
|
+
### Update tribute
|
48
|
+
## https://bloomerang.co/product/integrations-data-management/api/rest-api/#/Tributes/put_tribute__id_
|
49
|
+
#
|
50
|
+
# Params:
|
51
|
+
# id integer
|
52
|
+
# body JSON object, see API for fields
|
53
|
+
def update(id, body)
|
54
|
+
put("tribute/#{id}", {}, body)
|
55
|
+
end
|
56
|
+
|
57
|
+
### Search for active tributes
|
58
|
+
## https://bloomerang.co/product/integrations-data-management/api/rest-api/#/Tributes/get_tributes_search
|
59
|
+
# skip integer, default: 0, simple paging system
|
60
|
+
# take integer, default: 50, simple paging system
|
61
|
+
# search string, The text to search (must be at least 3 characters)
|
62
|
+
def search_active(params = {})
|
63
|
+
get("tributes/search", params)
|
64
|
+
end
|
65
|
+
end
|
66
|
+
end
|
data/lib/bloomerang.rb
ADDED
@@ -0,0 +1,40 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative "bloomerang/version"
|
4
|
+
require_relative "bloomerang/base"
|
5
|
+
require_relative "bloomerang/configuration"
|
6
|
+
|
7
|
+
require_relative "bloomerang/address"
|
8
|
+
require_relative "bloomerang/appeal"
|
9
|
+
require_relative "bloomerang/campaign"
|
10
|
+
require_relative "bloomerang/constituent"
|
11
|
+
require_relative "bloomerang/custom_field"
|
12
|
+
require_relative "bloomerang/email"
|
13
|
+
require_relative "bloomerang/email_interest"
|
14
|
+
require_relative "bloomerang/fund"
|
15
|
+
require_relative "bloomerang/household"
|
16
|
+
require_relative "bloomerang/interaction"
|
17
|
+
require_relative "bloomerang/note"
|
18
|
+
require_relative "bloomerang/phone"
|
19
|
+
require_relative "bloomerang/pledge"
|
20
|
+
# require_relative "bloomerang/processor"
|
21
|
+
require_relative "bloomerang/refund"
|
22
|
+
require_relative "bloomerang/relationship"
|
23
|
+
require_relative "bloomerang/soft_credit"
|
24
|
+
require_relative "bloomerang/task"
|
25
|
+
require_relative "bloomerang/transaction"
|
26
|
+
require_relative "bloomerang/tribute"
|
27
|
+
# require_relative "bloomerang/user"
|
28
|
+
# require_relative "bloomerang/wallet_item"
|
29
|
+
|
30
|
+
module Bloomerang
|
31
|
+
class Error < StandardError; end
|
32
|
+
|
33
|
+
def self.configuration
|
34
|
+
@configuration ||= Configuration.new
|
35
|
+
end
|
36
|
+
|
37
|
+
def self.configure(&block)
|
38
|
+
yield(configuration)
|
39
|
+
end
|
40
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "rails/generators/base"
|
4
|
+
|
5
|
+
module Bloomerang
|
6
|
+
module Generators
|
7
|
+
class InitializerGenerator < Rails::Generators::Base
|
8
|
+
source_root File.expand_path("../../templates", __FILE__)
|
9
|
+
|
10
|
+
desc "Copy Bloomerang initializer file"
|
11
|
+
def create_initializer_file
|
12
|
+
copy_file "bloomerang_config.rb", "config/initializers/bloomerang.rb"
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
Bloomerang.configure do |config|
|
4
|
+
### Set your Bloomerang API key:
|
5
|
+
# Generate your v2.0 API key from your Bloomerang user settings:
|
6
|
+
# https://crm.bloomerang.co/Settings/User/Edit
|
7
|
+
#
|
8
|
+
# UNSECURE: DO NOT ADD THE KEY DIRECTLY TO THIS FILE!
|
9
|
+
# It will be exposed in your source code.
|
10
|
+
# Instead, use a secure method to store your API key
|
11
|
+
#
|
12
|
+
# Rails credentials example (preferred):
|
13
|
+
# Learn about encrypted credentials: https://edgeguides.rubyonrails.org/security.html#custom-credentials
|
14
|
+
# config.api_key = Rails.application.credentials.dig(:bloomerang, :api_key)
|
15
|
+
#
|
16
|
+
# ENV or dotenv example:
|
17
|
+
# Learn about dotenv gem: https://github.com/bkeepers/dotenv
|
18
|
+
# config.api_key = ENV["BLOOMERANG_API_KEY"]
|
19
|
+
end
|
data/sig/bloomerang.rbs
ADDED
metadata
ADDED
@@ -0,0 +1,97 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: bloomerang_api
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.2.2
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Chiperific
|
8
|
+
autorequire:
|
9
|
+
bindir: exe
|
10
|
+
cert_chain: []
|
11
|
+
date: 2023-01-22 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: faraday
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ">="
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '2.7'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ">="
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '2.7'
|
27
|
+
description: Unofficial Ruby API client for bloomerang.co, a donor management platform
|
28
|
+
email:
|
29
|
+
- chiperific@gmail.com
|
30
|
+
executables: []
|
31
|
+
extensions: []
|
32
|
+
extra_rdoc_files: []
|
33
|
+
files:
|
34
|
+
- ".rubocop.yml"
|
35
|
+
- CHANGELOG.md
|
36
|
+
- CODE_OF_CONDUCT.md
|
37
|
+
- Gemfile
|
38
|
+
- Gemfile.lock
|
39
|
+
- LICENSE.txt
|
40
|
+
- README.md
|
41
|
+
- Rakefile
|
42
|
+
- bin/console
|
43
|
+
- bin/setup
|
44
|
+
- lib/bloomerang.rb
|
45
|
+
- lib/bloomerang/address.rb
|
46
|
+
- lib/bloomerang/appeal.rb
|
47
|
+
- lib/bloomerang/base.rb
|
48
|
+
- lib/bloomerang/campaign.rb
|
49
|
+
- lib/bloomerang/configuration.rb
|
50
|
+
- lib/bloomerang/constituent.rb
|
51
|
+
- lib/bloomerang/custom_field.rb
|
52
|
+
- lib/bloomerang/email.rb
|
53
|
+
- lib/bloomerang/email_interest.rb
|
54
|
+
- lib/bloomerang/fund.rb
|
55
|
+
- lib/bloomerang/household.rb
|
56
|
+
- lib/bloomerang/interaction.rb
|
57
|
+
- lib/bloomerang/note.rb
|
58
|
+
- lib/bloomerang/phone.rb
|
59
|
+
- lib/bloomerang/pledge.rb
|
60
|
+
- lib/bloomerang/refund.rb
|
61
|
+
- lib/bloomerang/relationship.rb
|
62
|
+
- lib/bloomerang/soft_credit.rb
|
63
|
+
- lib/bloomerang/task.rb
|
64
|
+
- lib/bloomerang/transaction.rb
|
65
|
+
- lib/bloomerang/tribute.rb
|
66
|
+
- lib/bloomerang/version.rb
|
67
|
+
- lib/generators/bloomerang/USAGE
|
68
|
+
- lib/generators/bloomerang/initializer/initializer_generator.rb
|
69
|
+
- lib/generators/bloomerang/templates/bloomerang_config.rb
|
70
|
+
- sig/bloomerang.rbs
|
71
|
+
homepage: https://github.com/chiperific/bloomerang
|
72
|
+
licenses:
|
73
|
+
- MIT
|
74
|
+
metadata:
|
75
|
+
homepage_uri: https://github.com/chiperific/bloomerang
|
76
|
+
source_code_uri: https://github.com/chiperific/bloomerang_api
|
77
|
+
changelog_uri: https://github.com/chiperific/bloomerang_api/blob/main/CHANGELOG.md
|
78
|
+
post_install_message:
|
79
|
+
rdoc_options: []
|
80
|
+
require_paths:
|
81
|
+
- lib
|
82
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
83
|
+
requirements:
|
84
|
+
- - ">="
|
85
|
+
- !ruby/object:Gem::Version
|
86
|
+
version: 2.6.0
|
87
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
88
|
+
requirements:
|
89
|
+
- - ">="
|
90
|
+
- !ruby/object:Gem::Version
|
91
|
+
version: '0'
|
92
|
+
requirements: []
|
93
|
+
rubygems_version: 3.3.26
|
94
|
+
signing_key:
|
95
|
+
specification_version: 4
|
96
|
+
summary: Unofficial Ruby API client for Bloomerang.co
|
97
|
+
test_files: []
|