fountain 0.0.7 → 0.0.8
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/lib/fountain.rb +3 -0
- data/lib/fountain/api/labels.rb +2 -1
- data/lib/fountain/api/notes.rb +62 -0
- data/lib/fountain/gem_version.rb +1 -1
- data/lib/fountain/note.rb +51 -0
- data/lib/fountain/user.rb +41 -0
- metadata +4 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5e67324d155f205a33d8212314c60bb6827b3834
|
4
|
+
data.tar.gz: e722b569b49ba330f50303f5e2b5d3e23d842490
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: aa7d73513652eb15a2d6034894bb2bf4ba3375979eebadf59fe8fc14ef1232e8d0bdb76b5c11c90d4bdb1f263b080e78ffec5b5b9dd4ba33b45dcb978d6ee67c
|
7
|
+
data.tar.gz: ae8df6e25988b2a363bc51e352ca0089f89dd6822ca41c0ba3fa175a53cbc0693989da6817c98d9af7c74c1c5cc71d9184e38dbdd423bc0b6186fd724af8da3b
|
data/lib/fountain.rb
CHANGED
@@ -23,10 +23,13 @@ require 'fountain/booked_slot'
|
|
23
23
|
require 'fountain/document_signature'
|
24
24
|
require 'fountain/funnel'
|
25
25
|
require 'fountain/label'
|
26
|
+
require 'fountain/note'
|
26
27
|
require 'fountain/secure_document'
|
27
28
|
require 'fountain/stage'
|
28
29
|
require 'fountain/transition'
|
30
|
+
require 'fountain/user'
|
29
31
|
|
30
32
|
require 'fountain/api/request_helper'
|
31
33
|
require 'fountain/api/applicants'
|
32
34
|
require 'fountain/api/labels'
|
35
|
+
require 'fountain/api/notes'
|
data/lib/fountain/api/labels.rb
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
require 'date'
|
2
|
+
require 'cgi'
|
2
3
|
|
3
4
|
module Fountain
|
4
5
|
module Api
|
@@ -31,7 +32,7 @@ module Fountain
|
|
31
32
|
filtered_options[:completed_at] = filtered_options[:completed_at].strftime('%F')
|
32
33
|
end
|
33
34
|
response = request_json(
|
34
|
-
"/v2/applicants/#{applicant_id}/labels/#{
|
35
|
+
"/v2/applicants/#{applicant_id}/labels/#{CGI.escape(title)}",
|
35
36
|
method: :put,
|
36
37
|
body: filtered_options
|
37
38
|
)
|
@@ -0,0 +1,62 @@
|
|
1
|
+
module Fountain
|
2
|
+
module Api
|
3
|
+
#
|
4
|
+
# Fountain Note Management API
|
5
|
+
#
|
6
|
+
class Notes
|
7
|
+
extend RequestHelper
|
8
|
+
|
9
|
+
#
|
10
|
+
# List Notes for an Applicant
|
11
|
+
# @param [String] applicant_id ID of the Fountain applicant
|
12
|
+
# @return [[Fountain::Note]]
|
13
|
+
def self.list(applicant_id)
|
14
|
+
response = request_json("/v2/applicants/#{applicant_id}/notes")
|
15
|
+
response['notes'].map { |hash| Fountain::Note.new hash }
|
16
|
+
end
|
17
|
+
|
18
|
+
#
|
19
|
+
# Create a Note for an Applicant
|
20
|
+
# @param [String] applicant_id ID of the Fountain applicant
|
21
|
+
# @param [String] content Content for the note
|
22
|
+
# @return [Fountain::Note]
|
23
|
+
def self.create(applicant_id, content)
|
24
|
+
response = request_json(
|
25
|
+
"/v2/applicants/#{applicant_id}/notes",
|
26
|
+
method: :post,
|
27
|
+
body: { content: content }
|
28
|
+
)
|
29
|
+
Fountain::Note.new response
|
30
|
+
end
|
31
|
+
|
32
|
+
#
|
33
|
+
# Delete Applicant Note
|
34
|
+
# @param [String] applicant_id ID of the Fountain applicant
|
35
|
+
# @param [String] note_id ID of the Fountain note
|
36
|
+
# @return [Boolean]
|
37
|
+
def self.delete(applicant_id, note_id)
|
38
|
+
response = request(
|
39
|
+
"/v2/applicants/#{applicant_id}/notes/#{note_id}",
|
40
|
+
method: :delete
|
41
|
+
)
|
42
|
+
check_response response
|
43
|
+
true
|
44
|
+
end
|
45
|
+
|
46
|
+
#
|
47
|
+
# Update Applicant Note
|
48
|
+
# @param [String] applicant_id ID of the Fountain applicant
|
49
|
+
# @param [String] note_id ID of the Fountain note
|
50
|
+
# @param [String] content Content for the note
|
51
|
+
# @return [Fountain::Note]
|
52
|
+
def self.update(applicant_id, note_id, content)
|
53
|
+
response = request_json(
|
54
|
+
"/v2/applicants/#{applicant_id}/notes/#{note_id}",
|
55
|
+
method: :put,
|
56
|
+
body: { content: content }
|
57
|
+
)
|
58
|
+
Fountain::Note.new response
|
59
|
+
end
|
60
|
+
end
|
61
|
+
end
|
62
|
+
end
|
data/lib/fountain/gem_version.rb
CHANGED
@@ -0,0 +1,51 @@
|
|
1
|
+
module Fountain
|
2
|
+
#
|
3
|
+
# Fountain Note
|
4
|
+
#
|
5
|
+
class Note
|
6
|
+
# Raw note data
|
7
|
+
attr_reader :raw_data
|
8
|
+
|
9
|
+
#
|
10
|
+
# @param [Hash] data Raw note data
|
11
|
+
#
|
12
|
+
def initialize(data)
|
13
|
+
@raw_data = Util.stringify_hash_keys data
|
14
|
+
end
|
15
|
+
|
16
|
+
# Note ID
|
17
|
+
def id
|
18
|
+
raw_data['id']
|
19
|
+
end
|
20
|
+
|
21
|
+
# Content
|
22
|
+
def content
|
23
|
+
raw_data['content']
|
24
|
+
end
|
25
|
+
|
26
|
+
# Created at
|
27
|
+
def created_at
|
28
|
+
Time.parse raw_data['created_at']
|
29
|
+
end
|
30
|
+
|
31
|
+
# Updated at
|
32
|
+
def updated_at
|
33
|
+
Time.parse raw_data['updated_at']
|
34
|
+
end
|
35
|
+
|
36
|
+
# User
|
37
|
+
def user
|
38
|
+
return unless raw_data['user'].is_a? Hash
|
39
|
+
User.new raw_data['user']
|
40
|
+
end
|
41
|
+
|
42
|
+
def inspect
|
43
|
+
format(
|
44
|
+
'#<%<class_name>s:0x%<object_id>p @id="%<id>s">',
|
45
|
+
class_name: self.class.name,
|
46
|
+
object_id: object_id,
|
47
|
+
id: id
|
48
|
+
)
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
@@ -0,0 +1,41 @@
|
|
1
|
+
module Fountain
|
2
|
+
#
|
3
|
+
# Fountain User
|
4
|
+
#
|
5
|
+
class User
|
6
|
+
# Raw user data
|
7
|
+
attr_reader :raw_data
|
8
|
+
|
9
|
+
#
|
10
|
+
# @param [Hash] data Raw user data
|
11
|
+
#
|
12
|
+
def initialize(data)
|
13
|
+
@raw_data = Util.stringify_hash_keys data
|
14
|
+
end
|
15
|
+
|
16
|
+
# User ID
|
17
|
+
def id
|
18
|
+
raw_data['id']
|
19
|
+
end
|
20
|
+
|
21
|
+
# Name
|
22
|
+
def name
|
23
|
+
raw_data['name']
|
24
|
+
end
|
25
|
+
|
26
|
+
# Email
|
27
|
+
def email
|
28
|
+
raw_data['email']
|
29
|
+
end
|
30
|
+
|
31
|
+
def inspect
|
32
|
+
format(
|
33
|
+
'#<%<class_name>s:0x%<object_id>p @id="%<id>s" @name="%<name>s">',
|
34
|
+
class_name: self.class.name,
|
35
|
+
object_id: object_id,
|
36
|
+
id: id,
|
37
|
+
name: name
|
38
|
+
)
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
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.8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- abrom
|
@@ -114,6 +114,7 @@ files:
|
|
114
114
|
- lib/fountain.rb
|
115
115
|
- lib/fountain/api/applicants.rb
|
116
116
|
- lib/fountain/api/labels.rb
|
117
|
+
- lib/fountain/api/notes.rb
|
117
118
|
- lib/fountain/api/request_helper.rb
|
118
119
|
- lib/fountain/applicant.rb
|
119
120
|
- lib/fountain/applicants.rb
|
@@ -124,9 +125,11 @@ files:
|
|
124
125
|
- lib/fountain/funnel.rb
|
125
126
|
- lib/fountain/gem_version.rb
|
126
127
|
- lib/fountain/label.rb
|
128
|
+
- lib/fountain/note.rb
|
127
129
|
- lib/fountain/secure_document.rb
|
128
130
|
- lib/fountain/stage.rb
|
129
131
|
- lib/fountain/transition.rb
|
132
|
+
- lib/fountain/user.rb
|
130
133
|
- lib/fountain/util.rb
|
131
134
|
homepage: https://github.com/Studiosity/fountain-ruby
|
132
135
|
licenses:
|