fountain 0.0.9 → 0.0.13
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 +5 -5
- data/.gitignore +1 -0
- data/.rubocop.yml +17 -3
- data/.travis.yml +4 -5
- data/CHANGELOG.md +57 -0
- data/Gemfile +2 -0
- data/Rakefile +2 -0
- data/bin/console +1 -0
- data/fountain.gemspec +7 -3
- data/lib/fountain/api/applicants.rb +3 -0
- data/lib/fountain/api/available_slots.rb +2 -0
- data/lib/fountain/api/funnels.rb +46 -0
- data/lib/fountain/api/labels.rb +2 -0
- data/lib/fountain/api/notes.rb +3 -0
- data/lib/fountain/api/request_helper.rb +5 -2
- data/lib/fountain/applicant.rb +4 -0
- data/lib/fountain/applicants.rb +2 -0
- data/lib/fountain/background_check.rb +2 -0
- data/lib/fountain/configuration.rb +2 -0
- data/lib/fountain/document_signature.rb +2 -0
- data/lib/fountain/field.rb +43 -0
- data/lib/fountain/funnel.rb +53 -0
- data/lib/fountain/funnels.rb +43 -0
- data/lib/fountain/gem_version.rb +3 -1
- data/lib/fountain/label.rb +2 -0
- data/lib/fountain/location.rb +28 -0
- data/lib/fountain/note.rb +3 -0
- data/lib/fountain/secure_document.rb +2 -0
- data/lib/fountain/slot.rb +4 -2
- data/lib/fountain/slots.rb +2 -0
- data/lib/fountain/stage.rb +7 -0
- data/lib/fountain/transition.rb +2 -0
- data/lib/fountain/user.rb +2 -0
- data/lib/fountain/util.rb +4 -2
- data/lib/fountain.rb +13 -0
- metadata +44 -17
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 5d78d33209aa2c3222155ea3643333a0df696466b1589d503adcaa28ded7aeea
|
4
|
+
data.tar.gz: 4a6ff22d217ee2cae43e6093fa218c450ea673924a71ffcec4bb2b9bd73ebc2b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 957fe69e2f9b464fe77bf245f4778e931d071febb8178e476de852c0beb606d2adf49aac0a7c2d1b6c8b926125fa3873f0d66f7119033994137437be0c366fee
|
7
|
+
data.tar.gz: e227563179603e1f2e571f22369616bdd3915e58cb8362f195101e53c63325002933d1cb3419eedd12cc476c1d449f639d9b8f235862509182754c5249c0e683
|
data/.gitignore
CHANGED
data/.rubocop.yml
CHANGED
@@ -1,11 +1,25 @@
|
|
1
|
+
require:
|
2
|
+
- rubocop-rake
|
3
|
+
- rubocop-rspec
|
4
|
+
|
5
|
+
AllCops:
|
6
|
+
NewCops: enable
|
7
|
+
TargetRubyVersion: 2.5
|
8
|
+
|
9
|
+
Layout/LineLength:
|
10
|
+
Max: 120
|
11
|
+
|
1
12
|
Metrics/BlockLength:
|
2
13
|
Exclude:
|
3
14
|
- "**/*_spec.rb"
|
4
15
|
|
5
|
-
Metrics/LineLength:
|
6
|
-
Max: 120
|
7
|
-
|
8
16
|
Metrics/MethodLength:
|
9
17
|
Max: 15
|
10
18
|
Exclude:
|
11
19
|
- "**/*_spec.rb"
|
20
|
+
|
21
|
+
RSpec/ExampleLength:
|
22
|
+
Max: 15
|
23
|
+
|
24
|
+
RSpec/MultipleExpectations:
|
25
|
+
Max: 5
|
data/.travis.yml
CHANGED
@@ -5,11 +5,10 @@ env:
|
|
5
5
|
language: ruby
|
6
6
|
|
7
7
|
rvm:
|
8
|
-
- 2.1
|
9
|
-
- 2.2
|
10
|
-
- 2.3
|
11
|
-
- 2.4
|
12
8
|
- 2.5
|
9
|
+
- 2.6
|
10
|
+
- 2.7
|
11
|
+
- 3.0
|
13
12
|
|
14
13
|
before_install:
|
15
14
|
- gem update bundler
|
@@ -24,7 +23,7 @@ before_script:
|
|
24
23
|
- ./cc-test-reporter before-build
|
25
24
|
|
26
25
|
script:
|
27
|
-
- rubocop
|
26
|
+
- bundle exec rubocop
|
28
27
|
- bundle exec rake
|
29
28
|
|
30
29
|
after_script:
|
data/CHANGELOG.md
ADDED
@@ -0,0 +1,57 @@
|
|
1
|
+
# Changelog
|
2
|
+
|
3
|
+
## Unreleased
|
4
|
+
- None
|
5
|
+
|
6
|
+
## [0.0.12](releases/tag/v0.0.12) - 2020-03-01
|
7
|
+
### Fixed
|
8
|
+
- Address CVE-2020-8130 - `rake` OS command injection vulnerability
|
9
|
+
|
10
|
+
## [0.0.11](releases/tag/v0.0.11) - 2018-06-02
|
11
|
+
### Fixed
|
12
|
+
- Update applicants and notes APIs to check correct return status for create actions
|
13
|
+
|
14
|
+
## [0.0.10](releases/tag/v0.0.10) - 2018-03-24
|
15
|
+
### Added
|
16
|
+
- Funnel management API support
|
17
|
+
|
18
|
+
## [0.0.9](releases/tag/v0.0.9) - 2018-03-24
|
19
|
+
### Added
|
20
|
+
- Session/slot management API support
|
21
|
+
|
22
|
+
## [0.0.8](releases/tag/v0.0.8) - 2018-03-24
|
23
|
+
### Added
|
24
|
+
- Note management API support
|
25
|
+
### Fixed
|
26
|
+
- Replace deprecated URI.encode with CGI.escape
|
27
|
+
|
28
|
+
## [0.0.7](releases/tag/v0.0.7) - 2018-03-24
|
29
|
+
### Added
|
30
|
+
- Label management API support
|
31
|
+
|
32
|
+
## [0.0.6](releases/tag/v0.0.6) - 2018-03-22
|
33
|
+
### Added
|
34
|
+
- Create applicant support
|
35
|
+
- Delete applicant support
|
36
|
+
- Get applicant support
|
37
|
+
- get_secure_documents applicant support
|
38
|
+
- Secure document type
|
39
|
+
- Advance applicant support
|
40
|
+
- Interview sessions for applicant support
|
41
|
+
- Transition history for applicant support
|
42
|
+
|
43
|
+
## [0.0.5](releases/tag/v0.0.5) - 2018-03-20
|
44
|
+
### Fixed
|
45
|
+
- Applicants inspect method
|
46
|
+
|
47
|
+
## [0.0.4](releases/tag/v0.0.4) - 2018-03-20
|
48
|
+
### Added
|
49
|
+
- Applicants inspect method
|
50
|
+
|
51
|
+
## [0.0.3](releases/tag/v0.0.3) - 2018-03-20
|
52
|
+
### Added
|
53
|
+
- Applicants wrapper to contain pagination cursors
|
54
|
+
|
55
|
+
## [0.0.2](releases/tag/v0.0.2) - 2018-03-19
|
56
|
+
### Added
|
57
|
+
- Support for applicant list and update
|
data/Gemfile
CHANGED
data/Rakefile
CHANGED
data/bin/console
CHANGED
data/fountain.gemspec
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
lib = File.expand_path('lib', __dir__)
|
2
4
|
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
3
5
|
|
@@ -13,15 +15,17 @@ Gem::Specification.new do |spec|
|
|
13
15
|
spec.description = 'Fountain REST API v2 wrapper for Ruby'
|
14
16
|
spec.homepage = 'https://github.com/Studiosity/fountain-ruby'
|
15
17
|
spec.license = 'MIT'
|
18
|
+
spec.required_ruby_version = ['>= 2.5.0', '< 3.1.0']
|
16
19
|
|
17
20
|
spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(spec|docs)/}) }
|
18
21
|
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
19
22
|
spec.require_paths = ['lib']
|
20
23
|
|
21
|
-
spec.add_development_dependency '
|
22
|
-
spec.add_development_dependency 'rake', '~> 10.0'
|
24
|
+
spec.add_development_dependency 'rake', '~> 12.3', '>= 12.3.3'
|
23
25
|
spec.add_development_dependency 'rspec', '~> 3.0'
|
24
|
-
spec.add_development_dependency 'rubocop', '~>
|
26
|
+
spec.add_development_dependency 'rubocop', '~> 1.21'
|
27
|
+
spec.add_development_dependency 'rubocop-rake', '~> 0.6'
|
28
|
+
spec.add_development_dependency 'rubocop-rspec', '~> 2.5'
|
25
29
|
spec.add_development_dependency 'simplecov', '~> 0.16'
|
26
30
|
spec.add_development_dependency 'webmock', '~> 2.3'
|
27
31
|
end
|
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module Fountain
|
2
4
|
module Api
|
3
5
|
#
|
@@ -48,6 +50,7 @@ module Fountain
|
|
48
50
|
response = request_json(
|
49
51
|
'/v2/applicants',
|
50
52
|
method: :post,
|
53
|
+
expected_response: [Net::HTTPCreated, Net::HTTPOK],
|
51
54
|
body: {
|
52
55
|
name: name, email: email, phone_number: phone_number
|
53
56
|
}.merge(filtered_params)
|
@@ -0,0 +1,46 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Fountain
|
4
|
+
module Api
|
5
|
+
#
|
6
|
+
# Fountain Funnel Management API
|
7
|
+
#
|
8
|
+
class Funnels
|
9
|
+
extend RequestHelper
|
10
|
+
|
11
|
+
#
|
12
|
+
# List all Funnels
|
13
|
+
# @param [Hash] list_options A hash of options when listing funnels
|
14
|
+
# @return [Fountain::Funnels]
|
15
|
+
def self.list(list_options = {})
|
16
|
+
page_query = list_options[:page] ? "?page=#{list_options[:page]}" : ''
|
17
|
+
response = request_json("/v2/funnels#{page_query}")
|
18
|
+
Fountain::Funnels.new response
|
19
|
+
end
|
20
|
+
|
21
|
+
#
|
22
|
+
# Update Funnel
|
23
|
+
# @param [String] funnel_id ID of the Fountain funnel
|
24
|
+
# @param [Hash] update_options A hash of options when updating a funnel
|
25
|
+
# custom_id
|
26
|
+
# @return [Fountain::Funnel]
|
27
|
+
def self.update(funnel_id, update_options = {})
|
28
|
+
response = request_json(
|
29
|
+
"/v2/funnels/#{funnel_id}",
|
30
|
+
method: :put,
|
31
|
+
body: Util.slice_hash(update_options, :custom_id)
|
32
|
+
)
|
33
|
+
Fountain::Funnel.new response
|
34
|
+
end
|
35
|
+
|
36
|
+
#
|
37
|
+
# List all Funnel stages
|
38
|
+
# @param [String] funnel_id ID of the Fountain funnel
|
39
|
+
# @return [[Fountain::Stage]]
|
40
|
+
def self.list_stages(funnel_id)
|
41
|
+
response = request_json("/v2/funnels/#{funnel_id}/stages")
|
42
|
+
response['stages'].map { |hash| Fountain::Stage.new hash }
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
data/lib/fountain/api/labels.rb
CHANGED
data/lib/fountain/api/notes.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module Fountain
|
2
4
|
module Api
|
3
5
|
#
|
@@ -24,6 +26,7 @@ module Fountain
|
|
24
26
|
response = request_json(
|
25
27
|
"/v2/applicants/#{applicant_id}/notes",
|
26
28
|
method: :post,
|
29
|
+
expected_response: [Net::HTTPCreated, Net::HTTPOK],
|
27
30
|
body: { content: content }
|
28
31
|
)
|
29
32
|
Fountain::Note.new response
|
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'uri'
|
2
4
|
require 'openssl'
|
3
5
|
require 'net/http'
|
@@ -38,7 +40,7 @@ module Fountain
|
|
38
40
|
def check_response(response, expected_response = nil)
|
39
41
|
expected_response ||= Net::HTTPOK
|
40
42
|
case response
|
41
|
-
when expected_response then nil
|
43
|
+
when *[expected_response].flatten then nil
|
42
44
|
when Net::HTTPUnauthorized then raise Fountain::AuthenticationError
|
43
45
|
when Net::HTTPNotFound then raise Fountain::NotFoundError
|
44
46
|
else raise HTTPError, "Invalid http response code: #{response.code}"
|
@@ -93,7 +95,7 @@ module Fountain
|
|
93
95
|
end
|
94
96
|
|
95
97
|
def create_get_request(path, headers, body)
|
96
|
-
path +=
|
98
|
+
path += "?#{body.map { |k, v| "#{k}=#{v}" }.join('&')}" if body
|
97
99
|
Net::HTTP::Get.new(path, headers)
|
98
100
|
end
|
99
101
|
|
@@ -101,6 +103,7 @@ module Fountain
|
|
101
103
|
headers = options[:headers]
|
102
104
|
headers ||= {}
|
103
105
|
raise Fountain::MissingApiKeyError if Fountain.api_token.nil?
|
106
|
+
|
104
107
|
headers['X-ACCESS-TOKEN'] = Fountain.api_token
|
105
108
|
headers
|
106
109
|
end
|
data/lib/fountain/applicant.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module Fountain
|
2
4
|
#
|
3
5
|
# Fountain Applicant
|
@@ -56,12 +58,14 @@ module Fountain
|
|
56
58
|
# Background checks
|
57
59
|
def background_checks
|
58
60
|
return [] unless raw_data['background_checks'].is_a? Array
|
61
|
+
|
59
62
|
raw_data['background_checks'].map { |check| BackgroundCheck.new check }
|
60
63
|
end
|
61
64
|
|
62
65
|
# Document signatures
|
63
66
|
def document_signatures
|
64
67
|
return [] unless raw_data['document_signatures'].is_a? Array
|
68
|
+
|
65
69
|
raw_data['document_signatures'].map { |signature| DocumentSignature.new signature }
|
66
70
|
end
|
67
71
|
|
data/lib/fountain/applicants.rb
CHANGED
@@ -0,0 +1,43 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Fountain
|
4
|
+
#
|
5
|
+
# Fountain Field
|
6
|
+
#
|
7
|
+
class Field
|
8
|
+
# Raw field data
|
9
|
+
attr_reader :raw_data
|
10
|
+
|
11
|
+
#
|
12
|
+
# @param [Hash] data Raw field data
|
13
|
+
#
|
14
|
+
def initialize(data)
|
15
|
+
@raw_data = Util.stringify_hash_keys data
|
16
|
+
end
|
17
|
+
|
18
|
+
# Question
|
19
|
+
def question
|
20
|
+
raw_data['question']
|
21
|
+
end
|
22
|
+
|
23
|
+
# Type
|
24
|
+
def type
|
25
|
+
raw_data['type']
|
26
|
+
end
|
27
|
+
|
28
|
+
# Key
|
29
|
+
def key
|
30
|
+
raw_data['key']
|
31
|
+
end
|
32
|
+
|
33
|
+
def inspect
|
34
|
+
format(
|
35
|
+
'#<%<class_name>s:0x%<object_id>p @type="%<type>s" @question="%<title>s">',
|
36
|
+
class_name: self.class.name,
|
37
|
+
object_id: object_id,
|
38
|
+
type: type,
|
39
|
+
question: question
|
40
|
+
)
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
data/lib/fountain/funnel.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module Fountain
|
2
4
|
#
|
3
5
|
# Fountain Funnel
|
@@ -28,6 +30,57 @@ module Fountain
|
|
28
30
|
raw_data['custom_id']
|
29
31
|
end
|
30
32
|
|
33
|
+
# Address
|
34
|
+
def address
|
35
|
+
raw_data['address']
|
36
|
+
end
|
37
|
+
|
38
|
+
# Time zone
|
39
|
+
def time_zone
|
40
|
+
raw_data['time_zone']
|
41
|
+
end
|
42
|
+
|
43
|
+
# Description
|
44
|
+
def description
|
45
|
+
raw_data['description']
|
46
|
+
end
|
47
|
+
|
48
|
+
# Requirements
|
49
|
+
def requirements
|
50
|
+
raw_data['requirements']
|
51
|
+
end
|
52
|
+
|
53
|
+
# Fields
|
54
|
+
def fields
|
55
|
+
return [] unless raw_data['fields'].is_a? Array
|
56
|
+
|
57
|
+
raw_data['fields'].map { |hash| Field.new hash }
|
58
|
+
end
|
59
|
+
|
60
|
+
# Stages
|
61
|
+
def stages
|
62
|
+
return [] unless raw_data['stages'].is_a? Array
|
63
|
+
|
64
|
+
raw_data['stages'].map { |hash| Stage.new hash }
|
65
|
+
end
|
66
|
+
|
67
|
+
# Private
|
68
|
+
def private?
|
69
|
+
raw_data['is_private']
|
70
|
+
end
|
71
|
+
|
72
|
+
# Active
|
73
|
+
def active?
|
74
|
+
raw_data['active']
|
75
|
+
end
|
76
|
+
|
77
|
+
# Location
|
78
|
+
def location
|
79
|
+
return unless raw_data['location'].is_a? Hash
|
80
|
+
|
81
|
+
Location.new raw_data['location']
|
82
|
+
end
|
83
|
+
|
31
84
|
def inspect
|
32
85
|
format(
|
33
86
|
'#<%<class_name>s:0x%<object_id>p @id="%<id>s" @title="%<title>s">',
|
@@ -0,0 +1,43 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Fountain
|
4
|
+
#
|
5
|
+
# Fountain Funnel collection
|
6
|
+
#
|
7
|
+
class Funnels
|
8
|
+
extend Forwardable
|
9
|
+
|
10
|
+
# Collection current page
|
11
|
+
attr_reader :current_page
|
12
|
+
|
13
|
+
# Collection last page
|
14
|
+
attr_reader :last_page
|
15
|
+
|
16
|
+
# Funnel collection
|
17
|
+
attr_reader :funnels
|
18
|
+
|
19
|
+
def_delegators :funnels, :each, :map, :count, :size, :[]
|
20
|
+
|
21
|
+
#
|
22
|
+
# @param [Hash] data Raw funnel data
|
23
|
+
#
|
24
|
+
def initialize(data)
|
25
|
+
raw_data = Util.stringify_hash_keys data
|
26
|
+
pagination = raw_data['pagination']
|
27
|
+
if pagination.is_a? Hash
|
28
|
+
@current_page = pagination['current']
|
29
|
+
@last_page = pagination['last']
|
30
|
+
end
|
31
|
+
@funnels = raw_data['funnels'].map { |attr| Funnel.new attr }
|
32
|
+
end
|
33
|
+
|
34
|
+
def inspect
|
35
|
+
format(
|
36
|
+
'#<%<class_name>s:0x%<object_id>p @count="%<count>s">',
|
37
|
+
class_name: self.class.name,
|
38
|
+
object_id: object_id,
|
39
|
+
count: count
|
40
|
+
)
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
data/lib/fountain/gem_version.rb
CHANGED
data/lib/fountain/label.rb
CHANGED
@@ -0,0 +1,28 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Fountain
|
4
|
+
#
|
5
|
+
# Fountain Location
|
6
|
+
#
|
7
|
+
class Location
|
8
|
+
# Raw location data
|
9
|
+
attr_reader :raw_data
|
10
|
+
|
11
|
+
#
|
12
|
+
# @param [Hash] data Raw location data
|
13
|
+
#
|
14
|
+
def initialize(data)
|
15
|
+
@raw_data = Util.stringify_hash_keys data
|
16
|
+
end
|
17
|
+
|
18
|
+
# Location ID
|
19
|
+
def id
|
20
|
+
raw_data['id']
|
21
|
+
end
|
22
|
+
|
23
|
+
# Name
|
24
|
+
def name
|
25
|
+
raw_data['name']
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
data/lib/fountain/note.rb
CHANGED
data/lib/fountain/slot.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module Fountain
|
2
4
|
#
|
3
5
|
# Fountain Slot
|
@@ -44,8 +46,8 @@ module Fountain
|
|
44
46
|
end
|
45
47
|
|
46
48
|
# Showed up
|
47
|
-
def showed_up
|
48
|
-
raw_data['showed_up'] == 'true'
|
49
|
+
def showed_up?
|
50
|
+
raw_data['showed_up'].to_s == 'true'
|
49
51
|
end
|
50
52
|
|
51
53
|
def inspect
|
data/lib/fountain/slots.rb
CHANGED
data/lib/fountain/stage.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module Fountain
|
2
4
|
#
|
3
5
|
# Fountain Stage
|
@@ -23,6 +25,11 @@ module Fountain
|
|
23
25
|
raw_data['title']
|
24
26
|
end
|
25
27
|
|
28
|
+
# Type
|
29
|
+
def type
|
30
|
+
raw_data['type']
|
31
|
+
end
|
32
|
+
|
26
33
|
def inspect
|
27
34
|
format(
|
28
35
|
'#<%<class_name>s:0x%<object_id>p @id="%<id>s" @title="%<title>s">',
|
data/lib/fountain/transition.rb
CHANGED
data/lib/fountain/user.rb
CHANGED
data/lib/fountain/util.rb
CHANGED
@@ -1,8 +1,12 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module Fountain
|
2
4
|
#
|
3
5
|
# Fountain generic utility functions
|
4
6
|
#
|
5
7
|
module Util
|
8
|
+
module_function
|
9
|
+
|
6
10
|
#
|
7
11
|
# Stringify symbolized hash keys
|
8
12
|
# @param [Hash] hash A string/symbol keyed hash
|
@@ -20,7 +24,6 @@ module Fountain
|
|
20
24
|
end
|
21
25
|
new_hash
|
22
26
|
end
|
23
|
-
module_function :stringify_hash_keys
|
24
27
|
|
25
28
|
#
|
26
29
|
# Slice keys from hash
|
@@ -37,6 +40,5 @@ module Fountain
|
|
37
40
|
end
|
38
41
|
new_hash
|
39
42
|
end
|
40
|
-
module_function :slice_hash
|
41
43
|
end
|
42
44
|
end
|
data/lib/fountain.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'fountain/gem_version'
|
2
4
|
|
3
5
|
require 'json'
|
@@ -7,12 +9,19 @@ require 'fountain/util'
|
|
7
9
|
|
8
10
|
module Fountain
|
9
11
|
class Error < StandardError; end
|
12
|
+
|
10
13
|
class HTTPError < Error; end
|
14
|
+
|
11
15
|
class NotFoundError < HTTPError; end
|
16
|
+
|
12
17
|
class AuthenticationError < HTTPError; end
|
18
|
+
|
13
19
|
class InvalidMethodError < HTTPError; end
|
20
|
+
|
14
21
|
class JsonParseError < Error; end
|
22
|
+
|
15
23
|
class MissingApiKeyError < Error; end
|
24
|
+
|
16
25
|
class StatusError < Error; end
|
17
26
|
end
|
18
27
|
|
@@ -20,8 +29,11 @@ require 'fountain/applicant'
|
|
20
29
|
require 'fountain/applicants'
|
21
30
|
require 'fountain/background_check'
|
22
31
|
require 'fountain/document_signature'
|
32
|
+
require 'fountain/field'
|
23
33
|
require 'fountain/funnel'
|
34
|
+
require 'fountain/funnels'
|
24
35
|
require 'fountain/label'
|
36
|
+
require 'fountain/location'
|
25
37
|
require 'fountain/note'
|
26
38
|
require 'fountain/secure_document'
|
27
39
|
require 'fountain/slot'
|
@@ -33,5 +45,6 @@ require 'fountain/user'
|
|
33
45
|
require 'fountain/api/request_helper'
|
34
46
|
require 'fountain/api/applicants'
|
35
47
|
require 'fountain/api/available_slots'
|
48
|
+
require 'fountain/api/funnels'
|
36
49
|
require 'fountain/api/labels'
|
37
50
|
require 'fountain/api/notes'
|
metadata
CHANGED
@@ -1,71 +1,91 @@
|
|
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.13
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- abrom
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-09-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
|
-
name:
|
14
|
+
name: rake
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '
|
19
|
+
version: '12.3'
|
20
|
+
- - ">="
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: 12.3.3
|
20
23
|
type: :development
|
21
24
|
prerelease: false
|
22
25
|
version_requirements: !ruby/object:Gem::Requirement
|
23
26
|
requirements:
|
24
27
|
- - "~>"
|
25
28
|
- !ruby/object:Gem::Version
|
26
|
-
version: '
|
29
|
+
version: '12.3'
|
30
|
+
- - ">="
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: 12.3.3
|
27
33
|
- !ruby/object:Gem::Dependency
|
28
|
-
name:
|
34
|
+
name: rspec
|
29
35
|
requirement: !ruby/object:Gem::Requirement
|
30
36
|
requirements:
|
31
37
|
- - "~>"
|
32
38
|
- !ruby/object:Gem::Version
|
33
|
-
version: '
|
39
|
+
version: '3.0'
|
34
40
|
type: :development
|
35
41
|
prerelease: false
|
36
42
|
version_requirements: !ruby/object:Gem::Requirement
|
37
43
|
requirements:
|
38
44
|
- - "~>"
|
39
45
|
- !ruby/object:Gem::Version
|
40
|
-
version: '
|
46
|
+
version: '3.0'
|
41
47
|
- !ruby/object:Gem::Dependency
|
42
|
-
name:
|
48
|
+
name: rubocop
|
43
49
|
requirement: !ruby/object:Gem::Requirement
|
44
50
|
requirements:
|
45
51
|
- - "~>"
|
46
52
|
- !ruby/object:Gem::Version
|
47
|
-
version: '
|
53
|
+
version: '1.21'
|
48
54
|
type: :development
|
49
55
|
prerelease: false
|
50
56
|
version_requirements: !ruby/object:Gem::Requirement
|
51
57
|
requirements:
|
52
58
|
- - "~>"
|
53
59
|
- !ruby/object:Gem::Version
|
54
|
-
version: '
|
60
|
+
version: '1.21'
|
55
61
|
- !ruby/object:Gem::Dependency
|
56
|
-
name: rubocop
|
62
|
+
name: rubocop-rake
|
57
63
|
requirement: !ruby/object:Gem::Requirement
|
58
64
|
requirements:
|
59
65
|
- - "~>"
|
60
66
|
- !ruby/object:Gem::Version
|
61
|
-
version: '0.
|
67
|
+
version: '0.6'
|
62
68
|
type: :development
|
63
69
|
prerelease: false
|
64
70
|
version_requirements: !ruby/object:Gem::Requirement
|
65
71
|
requirements:
|
66
72
|
- - "~>"
|
67
73
|
- !ruby/object:Gem::Version
|
68
|
-
version: '0.
|
74
|
+
version: '0.6'
|
75
|
+
- !ruby/object:Gem::Dependency
|
76
|
+
name: rubocop-rspec
|
77
|
+
requirement: !ruby/object:Gem::Requirement
|
78
|
+
requirements:
|
79
|
+
- - "~>"
|
80
|
+
- !ruby/object:Gem::Version
|
81
|
+
version: '2.5'
|
82
|
+
type: :development
|
83
|
+
prerelease: false
|
84
|
+
version_requirements: !ruby/object:Gem::Requirement
|
85
|
+
requirements:
|
86
|
+
- - "~>"
|
87
|
+
- !ruby/object:Gem::Version
|
88
|
+
version: '2.5'
|
69
89
|
- !ruby/object:Gem::Dependency
|
70
90
|
name: simplecov
|
71
91
|
requirement: !ruby/object:Gem::Requirement
|
@@ -105,6 +125,7 @@ files:
|
|
105
125
|
- ".gitignore"
|
106
126
|
- ".rubocop.yml"
|
107
127
|
- ".travis.yml"
|
128
|
+
- CHANGELOG.md
|
108
129
|
- Gemfile
|
109
130
|
- LICENSE
|
110
131
|
- README.md
|
@@ -114,6 +135,7 @@ files:
|
|
114
135
|
- lib/fountain.rb
|
115
136
|
- lib/fountain/api/applicants.rb
|
116
137
|
- lib/fountain/api/available_slots.rb
|
138
|
+
- lib/fountain/api/funnels.rb
|
117
139
|
- lib/fountain/api/labels.rb
|
118
140
|
- lib/fountain/api/notes.rb
|
119
141
|
- lib/fountain/api/request_helper.rb
|
@@ -122,9 +144,12 @@ files:
|
|
122
144
|
- lib/fountain/background_check.rb
|
123
145
|
- lib/fountain/configuration.rb
|
124
146
|
- lib/fountain/document_signature.rb
|
147
|
+
- lib/fountain/field.rb
|
125
148
|
- lib/fountain/funnel.rb
|
149
|
+
- lib/fountain/funnels.rb
|
126
150
|
- lib/fountain/gem_version.rb
|
127
151
|
- lib/fountain/label.rb
|
152
|
+
- lib/fountain/location.rb
|
128
153
|
- lib/fountain/note.rb
|
129
154
|
- lib/fountain/secure_document.rb
|
130
155
|
- lib/fountain/slot.rb
|
@@ -145,15 +170,17 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
145
170
|
requirements:
|
146
171
|
- - ">="
|
147
172
|
- !ruby/object:Gem::Version
|
148
|
-
version:
|
173
|
+
version: 2.5.0
|
174
|
+
- - "<"
|
175
|
+
- !ruby/object:Gem::Version
|
176
|
+
version: 3.1.0
|
149
177
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
150
178
|
requirements:
|
151
179
|
- - ">="
|
152
180
|
- !ruby/object:Gem::Version
|
153
181
|
version: '0'
|
154
182
|
requirements: []
|
155
|
-
|
156
|
-
rubygems_version: 2.6.14
|
183
|
+
rubygems_version: 3.0.6
|
157
184
|
signing_key:
|
158
185
|
specification_version: 4
|
159
186
|
summary: Fountain REST API v2 wrapper for Ruby
|