fountain 0.0.6 → 0.0.7
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 +4 -4
- data/README.md +53 -2
- data/lib/fountain.rb +2 -0
- data/lib/fountain/api/applicants.rb +1 -1
- data/lib/fountain/api/labels.rb +51 -0
- data/lib/fountain/gem_version.rb +1 -1
- data/lib/fountain/label.rb +35 -0
- metadata +4 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a99befaad758ca023d25977f69894c365f0ef0df
|
4
|
+
data.tar.gz: 65affa8bb6929cd6ed9cb239a2ab84abb1231a5e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 737b8f67303d80b8343649b926e034b058a50ae1c590c6ed26cebfa6b871aa86c7f01a2813e39dd9ec71318796adfeec26b2c1088a9a59e4cfc29fe86e2f7de1
|
7
|
+
data.tar.gz: 28677cf2804ec759ea3b9f14713c235081df80c01a6ace4d6c9e36e9d124fe1f28b7bd92b4c3fbf1e79e1f24c73497c40d352aa47b6618adc9a7d365f59918f9
|
data/README.md
CHANGED
@@ -1,7 +1,7 @@
|
|
1
|
-
[](https://travis-ci.org/Studiosity/fountain-ruby)
|
2
2
|
[](https://codeclimate.com/github/Studiosity/fountain-ruby/maintainability)
|
3
3
|
[](https://codeclimate.com/github/Studiosity/fountain-ruby/test_coverage)
|
4
|
-
[](https://badge.fury.io/rb/fountain)
|
5
5
|
|
6
6
|
# Fountain REST API for Ruby
|
7
7
|
|
@@ -18,3 +18,54 @@ gem 'fountain'
|
|
18
18
|
And then execute:
|
19
19
|
|
20
20
|
$ bundle
|
21
|
+
|
22
|
+
## Supported API calls
|
23
|
+
|
24
|
+
#### Applicant Management
|
25
|
+
List, create, delete, get, update applicant etc
|
26
|
+
|
27
|
+
See https://developer.fountain.com/docs/applicants
|
28
|
+
|
29
|
+
## Usage
|
30
|
+
|
31
|
+
First, initialise the Fountain API token
|
32
|
+
|
33
|
+
```ruby
|
34
|
+
Fountain.configure do |config|
|
35
|
+
config.api_token = 'YOUR-FOUNTAIN-API-TOKEN'
|
36
|
+
end
|
37
|
+
```
|
38
|
+
|
39
|
+
#### List all applicants
|
40
|
+
```ruby
|
41
|
+
applicants = Fountain::Api::Applicants.list
|
42
|
+
loop do
|
43
|
+
break if applicants.count.zero?
|
44
|
+
applicants.each do |applicant|
|
45
|
+
# Do something with the applicant
|
46
|
+
end
|
47
|
+
applicants = Fountain::Api::Applicants.list(cursor: applicants.next_cursor)
|
48
|
+
end
|
49
|
+
```
|
50
|
+
|
51
|
+
## Contributing
|
52
|
+
|
53
|
+
Bug reports and pull requests are welcome on GitHub at https://github.com/Studiosity/fountain-ruby.
|
54
|
+
|
55
|
+
Note that spec tests are appreciated to minimise regressions. Before submitting a PR, please ensure that:
|
56
|
+
|
57
|
+
```bash
|
58
|
+
$ rspec
|
59
|
+
```
|
60
|
+
|
61
|
+
and
|
62
|
+
|
63
|
+
```bash
|
64
|
+
$ rubocop
|
65
|
+
```
|
66
|
+
|
67
|
+
both succeed
|
68
|
+
|
69
|
+
## License
|
70
|
+
|
71
|
+
The gem is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).
|
data/lib/fountain.rb
CHANGED
@@ -22,9 +22,11 @@ require 'fountain/background_check'
|
|
22
22
|
require 'fountain/booked_slot'
|
23
23
|
require 'fountain/document_signature'
|
24
24
|
require 'fountain/funnel'
|
25
|
+
require 'fountain/label'
|
25
26
|
require 'fountain/secure_document'
|
26
27
|
require 'fountain/stage'
|
27
28
|
require 'fountain/transition'
|
28
29
|
|
29
30
|
require 'fountain/api/request_helper'
|
30
31
|
require 'fountain/api/applicants'
|
32
|
+
require 'fountain/api/labels'
|
@@ -0,0 +1,51 @@
|
|
1
|
+
require 'date'
|
2
|
+
|
3
|
+
module Fountain
|
4
|
+
module Api
|
5
|
+
#
|
6
|
+
# Fountain Label Management API
|
7
|
+
#
|
8
|
+
class Labels
|
9
|
+
extend RequestHelper
|
10
|
+
|
11
|
+
#
|
12
|
+
# List Labels for an Applicant
|
13
|
+
# @param [String] applicant_id ID of the Fountain applicant
|
14
|
+
# @return [[Fountain::Label]]
|
15
|
+
def self.applicant_labels(applicant_id)
|
16
|
+
response = request_json("/v2/applicants/#{applicant_id}/labels")
|
17
|
+
response['labels'].map { |hash| Fountain::Label.new hash }
|
18
|
+
end
|
19
|
+
|
20
|
+
#
|
21
|
+
# Update Label for an Applicant
|
22
|
+
# @param [String] applicant_id ID of the Fountain applicant
|
23
|
+
# @param [String] title ID of the Fountain applicant
|
24
|
+
# @param [Hash] update_options A hash of options to update applicant labels
|
25
|
+
# completed
|
26
|
+
# completed_at - Date the label was completed
|
27
|
+
# @return [[Fountain::Label]]
|
28
|
+
def self.update_applicant_label(applicant_id, title, update_options = {})
|
29
|
+
filtered_options = Util.slice_hash(update_options, :completed, :completed_at)
|
30
|
+
if filtered_options[:completed_at].is_a? Date
|
31
|
+
filtered_options[:completed_at] = filtered_options[:completed_at].strftime('%F')
|
32
|
+
end
|
33
|
+
response = request_json(
|
34
|
+
"/v2/applicants/#{applicant_id}/labels/#{URI.encode(title)}",
|
35
|
+
method: :put,
|
36
|
+
body: filtered_options
|
37
|
+
)
|
38
|
+
response['labels'].map { |hash| Fountain::Label.new hash }
|
39
|
+
end
|
40
|
+
|
41
|
+
#
|
42
|
+
# List Labels for a Stage
|
43
|
+
# @param [String] stage_id ID of the Fountain stage
|
44
|
+
# @return [[Fountain::Label]]
|
45
|
+
def self.stage_labels(stage_id)
|
46
|
+
response = request_json("/v2/stages/#{stage_id}/labels")
|
47
|
+
response['labels'].map { |hash| Fountain::Label.new hash }
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
data/lib/fountain/gem_version.rb
CHANGED
@@ -0,0 +1,35 @@
|
|
1
|
+
module Fountain
|
2
|
+
#
|
3
|
+
# Fountain Label
|
4
|
+
#
|
5
|
+
class Label
|
6
|
+
# Raw label data
|
7
|
+
attr_reader :raw_data
|
8
|
+
|
9
|
+
#
|
10
|
+
# @param [Hash] data Raw label data
|
11
|
+
#
|
12
|
+
def initialize(data)
|
13
|
+
@raw_data = Util.stringify_hash_keys data
|
14
|
+
end
|
15
|
+
|
16
|
+
# Label title
|
17
|
+
def title
|
18
|
+
raw_data['title']
|
19
|
+
end
|
20
|
+
|
21
|
+
# Completed
|
22
|
+
def completed
|
23
|
+
raw_data['completed']
|
24
|
+
end
|
25
|
+
|
26
|
+
def inspect
|
27
|
+
format(
|
28
|
+
'#<%<class_name>s:0x%<object_id>p @title="%<title>s">',
|
29
|
+
class_name: self.class.name,
|
30
|
+
object_id: object_id,
|
31
|
+
title: title
|
32
|
+
)
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fountain
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- abrom
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-03-
|
11
|
+
date: 2018-03-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -113,6 +113,7 @@ files:
|
|
113
113
|
- fountain.gemspec
|
114
114
|
- lib/fountain.rb
|
115
115
|
- lib/fountain/api/applicants.rb
|
116
|
+
- lib/fountain/api/labels.rb
|
116
117
|
- lib/fountain/api/request_helper.rb
|
117
118
|
- lib/fountain/applicant.rb
|
118
119
|
- lib/fountain/applicants.rb
|
@@ -122,6 +123,7 @@ files:
|
|
122
123
|
- lib/fountain/document_signature.rb
|
123
124
|
- lib/fountain/funnel.rb
|
124
125
|
- lib/fountain/gem_version.rb
|
126
|
+
- lib/fountain/label.rb
|
125
127
|
- lib/fountain/secure_document.rb
|
126
128
|
- lib/fountain/stage.rb
|
127
129
|
- lib/fountain/transition.rb
|