dotloop_api 2.0.0 → 3.0.1
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
- checksums.yaml.gz.sig +0 -0
- data/.rubocop.yml +2 -1
- data/.ruby-version +1 -0
- data/Gemfile +10 -0
- data/dotloop_api.gemspec +3 -11
- data/lib/dotloop_api/auth.rb +12 -12
- data/lib/dotloop_api/client.rb +4 -4
- data/lib/dotloop_api/end_points/activity.rb +1 -1
- data/lib/dotloop_api/end_points/contact.rb +1 -1
- data/lib/dotloop_api/end_points/detail.rb +1 -1
- data/lib/dotloop_api/end_points/document.rb +1 -1
- data/lib/dotloop_api/end_points/folder.rb +2 -2
- data/lib/dotloop_api/end_points/loop.rb +1 -1
- data/lib/dotloop_api/end_points/loop_template.rb +1 -1
- data/lib/dotloop_api/end_points/param_helper.rb +1 -1
- data/lib/dotloop_api/end_points/participant.rb +1 -1
- data/lib/dotloop_api/end_points/profile.rb +1 -1
- data/lib/dotloop_api/end_points/task.rb +1 -1
- data/lib/dotloop_api/end_points/task_list.rb +1 -1
- data/lib/dotloop_api/models/profile/loop/detail.rb +1 -1
- data/lib/dotloop_api/models/profile/loop/folder/document.rb +1 -1
- data/lib/dotloop_api/models/profile/loop/folder.rb +1 -1
- data/lib/dotloop_api/models/profile/loop/tasklist.rb +1 -1
- data/lib/dotloop_api/models/profile/loop.rb +5 -5
- data/lib/dotloop_api/models/profile.rb +16 -16
- data/lib/dotloop_api/version.rb +1 -1
- data.tar.gz.sig +0 -0
- metadata +6 -130
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9a18aa288212b96c03545a353aa2cbe69288d41fcaa9acad92b37a8fd3d4b4ee
|
4
|
+
data.tar.gz: b5df2749877178c8a8b4c6b4390e82df8cf9d0818cf10717c7f9f894ca06f591
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: def1e062ab41bdd7084d076a4e0a835f7c9428f330b44515fff09c22da26d68bb80d68737704a4402cf200d5d1b5261f10a9e8697231c5cb925c5f6b4093e066
|
7
|
+
data.tar.gz: bbc299ba0514b8fd7a7ff6524277e359dbb95819aea6e46684c0e49b0426954f1a9f221977dcf25b6cdb2b2f6560a3351be9af009884fd9bc6fdce5d1d703b04
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data/.rubocop.yml
CHANGED
data/.ruby-version
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
3.2.2
|
data/Gemfile
CHANGED
@@ -2,3 +2,13 @@ source 'https://rubygems.org'
|
|
2
2
|
|
3
3
|
# Specify your gem's dependencies in dotloop_api.gemspec
|
4
4
|
gemspec
|
5
|
+
|
6
|
+
gem 'bundler', '~> 2'
|
7
|
+
gem 'coveralls_reborn', '~> 0.25.0'
|
8
|
+
gem 'pry', '~> 0.14'
|
9
|
+
gem 'rake', '~> 13'
|
10
|
+
gem 'rspec', '~> 3'
|
11
|
+
gem 'rubocop', '~> 1'
|
12
|
+
gem 'simplecov', '~> 0.21'
|
13
|
+
gem 'travis', '~> 1.8'
|
14
|
+
gem 'webmock', '~> 3'
|
data/dotloop_api.gemspec
CHANGED
@@ -2,7 +2,7 @@ lib = File.expand_path('lib', __dir__)
|
|
2
2
|
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
3
3
|
require 'dotloop_api/version'
|
4
4
|
|
5
|
-
Gem::Specification.new do |spec|
|
5
|
+
Gem::Specification.new do |spec|
|
6
6
|
spec.name = 'dotloop_api'
|
7
7
|
spec.version = DotloopApi::VERSION
|
8
8
|
spec.authors = ['Loft47']
|
@@ -14,7 +14,7 @@ Gem::Specification.new do |spec| # rubocop:disable Metrics/BlockLength
|
|
14
14
|
spec.license = 'MIT'
|
15
15
|
spec.cert_chain = ['certs/gem-public_cert.pem']
|
16
16
|
spec.signing_key = File.expand_path('~/.ssh/gem-private_key.pem') if $PROGRAM_NAME.end_with?('gem')
|
17
|
-
spec.required_ruby_version = '~> 2
|
17
|
+
spec.required_ruby_version = '~> 3.2'
|
18
18
|
|
19
19
|
# Prevent pushing this gem to RubyGems.org. To allow pushes either set the 'allowed_push_host'
|
20
20
|
# to allow pushing to a single host or delete this section to allow pushing to any host.
|
@@ -30,13 +30,5 @@ Gem::Specification.new do |spec| # rubocop:disable Metrics/BlockLength
|
|
30
30
|
spec.add_runtime_dependency 'httparty', '~> 0.20'
|
31
31
|
spec.add_runtime_dependency 'plissken', '~> 2'
|
32
32
|
spec.add_runtime_dependency 'virtus', '~> 1.0'
|
33
|
-
spec.
|
34
|
-
spec.add_development_dependency 'coveralls_reborn', '~> 0.25.0'
|
35
|
-
spec.add_development_dependency 'pry', '~> 0.14'
|
36
|
-
spec.add_development_dependency 'rake', '~> 13'
|
37
|
-
spec.add_development_dependency 'rspec', '~> 3'
|
38
|
-
spec.add_development_dependency 'rubocop', '~> 1'
|
39
|
-
spec.add_development_dependency 'simplecov', '~> 0.21'
|
40
|
-
spec.add_development_dependency 'travis', '~> 1.8'
|
41
|
-
spec.add_development_dependency 'webmock', '~> 3'
|
33
|
+
spec.metadata['rubygems_mfa_required'] = 'true'
|
42
34
|
end
|
data/lib/dotloop_api/auth.rb
CHANGED
@@ -5,11 +5,11 @@ module DotloopApi
|
|
5
5
|
|
6
6
|
def initialize(client_id:, client_secret:, redirect_uri:, redirect_on_deny: true, application: 'dotloop')
|
7
7
|
@config = DotloopApi::Models::Config.new(
|
8
|
-
application
|
9
|
-
client_id
|
10
|
-
client_secret
|
11
|
-
redirect_on_deny
|
12
|
-
redirect_uri
|
8
|
+
application:,
|
9
|
+
client_id:,
|
10
|
+
client_secret:,
|
11
|
+
redirect_on_deny:,
|
12
|
+
redirect_uri:,
|
13
13
|
state: SecureRandom.uuid
|
14
14
|
)
|
15
15
|
end
|
@@ -22,18 +22,18 @@ module DotloopApi
|
|
22
22
|
|
23
23
|
def request(code:, state: nil)
|
24
24
|
check_state(state)
|
25
|
-
response = self.class.post("#{base_uri}token", query: request_params(code), headers
|
25
|
+
response = self.class.post("#{base_uri}token", query: request_params(code), headers:, timeout: 60)
|
26
26
|
handle_error(response)
|
27
27
|
@config.attributes = response.parsed_response
|
28
28
|
end
|
29
29
|
|
30
30
|
def request_from_url(url)
|
31
|
-
request(parse_url_response(url))
|
31
|
+
request(**parse_url_response(url))
|
32
32
|
end
|
33
33
|
|
34
34
|
def refresh
|
35
35
|
check_refresh_token
|
36
|
-
response = self.class.post("#{base_uri}token", query: refresh_params, headers
|
36
|
+
response = self.class.post("#{base_uri}token", query: refresh_params, headers:, timeout: 60)
|
37
37
|
handle_error(response)
|
38
38
|
@config.attributes = response.parsed_response
|
39
39
|
end
|
@@ -41,7 +41,7 @@ module DotloopApi
|
|
41
41
|
def revoke
|
42
42
|
check_revoke_token
|
43
43
|
params = { token: @config.access_token }
|
44
|
-
response = self.class.post("#{base_uri}token/revoke", query: params, headers
|
44
|
+
response = self.class.post("#{base_uri}token/revoke", query: params, headers:, timeout: 60)
|
45
45
|
handle_error(response)
|
46
46
|
clear_auth
|
47
47
|
end
|
@@ -56,14 +56,14 @@ module DotloopApi
|
|
56
56
|
{
|
57
57
|
'Content-Type': 'application/x-www-form-urlencoded',
|
58
58
|
'User-Agent': @config.application.to_s,
|
59
|
-
|
60
|
-
|
59
|
+
Accept: '*/*',
|
60
|
+
Authorization: "Basic #{encoded_client_id}"
|
61
61
|
}
|
62
62
|
end
|
63
63
|
|
64
64
|
def request_params(code)
|
65
65
|
{
|
66
|
-
code
|
66
|
+
code:,
|
67
67
|
grant_type: :authorization_code,
|
68
68
|
redirect_uri: @config.redirect_uri,
|
69
69
|
state: @config.state
|
data/lib/dotloop_api/client.rb
CHANGED
@@ -20,28 +20,28 @@ module DotloopApi
|
|
20
20
|
end
|
21
21
|
|
22
22
|
def patch(page, model)
|
23
|
-
response = self.class.patch(page, query: model.attributes, headers
|
23
|
+
response = self.class.patch(page, query: model.attributes, headers:, timeout: 60)
|
24
24
|
limits_from_headers(response.headers)
|
25
25
|
handle_dotloop_error(response.code) if response.code != 200
|
26
26
|
self.class.snakify(response.parsed_response)
|
27
27
|
end
|
28
28
|
|
29
29
|
def post(page, model)
|
30
|
-
response = self.class.post(page, query: model.attributes, headers
|
30
|
+
response = self.class.post(page, query: model.attributes, headers:, timeout: 60)
|
31
31
|
limits_from_headers(response.headers)
|
32
32
|
handle_dotloop_error(response.code) if response.code != 200
|
33
33
|
self.class.snakify(response.parsed_response)
|
34
34
|
end
|
35
35
|
|
36
36
|
def delete(page)
|
37
|
-
response = self.class.delete(page, headers
|
37
|
+
response = self.class.delete(page, headers:, timeout: 60)
|
38
38
|
limits_from_headers(response.headers)
|
39
39
|
handle_dotloop_error(response.code) if response.code != 200
|
40
40
|
self.class.snakify(response.parsed_response)
|
41
41
|
end
|
42
42
|
|
43
43
|
def raw(page, params = {})
|
44
|
-
response = self.class.get(page, query: params, headers
|
44
|
+
response = self.class.get(page, query: params, headers:, timeout: 60)
|
45
45
|
limits_from_headers(response.headers)
|
46
46
|
handle_dotloop_error(response.code) if response.code != 200
|
47
47
|
response.parsed_response
|
@@ -11,7 +11,7 @@ module DotloopApi
|
|
11
11
|
def initialize(client:, profile_id: nil, loop_id: nil)
|
12
12
|
@profile_id = profile_id
|
13
13
|
@loop_id = loop_id
|
14
|
-
super(client
|
14
|
+
super(client:, path:, type: DotloopApi::Models::Profile::Loop::Activity)
|
15
15
|
end
|
16
16
|
|
17
17
|
def path
|
@@ -2,7 +2,7 @@ module DotloopApi
|
|
2
2
|
module EndPoints
|
3
3
|
class Contact < DotloopApi::EndPoints::Batch
|
4
4
|
def initialize(client:)
|
5
|
-
super(client
|
5
|
+
super(client:, path: '/contact', type: DotloopApi::Models::Contact)
|
6
6
|
end
|
7
7
|
end
|
8
8
|
end
|
@@ -9,7 +9,7 @@ module DotloopApi
|
|
9
9
|
def initialize(client:, profile_id: nil, loop_id: nil)
|
10
10
|
@profile_id = profile_id
|
11
11
|
@loop_id = loop_id
|
12
|
-
super(client
|
12
|
+
super(client:, path:, type: DotloopApi::Models::Profile::Loop::Detail)
|
13
13
|
end
|
14
14
|
|
15
15
|
def find
|
@@ -9,7 +9,7 @@ module DotloopApi
|
|
9
9
|
@profile_id = profile_id
|
10
10
|
@loop_id = loop_id
|
11
11
|
@folder_id = folder_id
|
12
|
-
super(client
|
12
|
+
super(client:, path:, type: DotloopApi::Models::Profile::Loop::Folder::Document)
|
13
13
|
end
|
14
14
|
|
15
15
|
def path
|
@@ -8,12 +8,12 @@ module DotloopApi
|
|
8
8
|
def initialize(client:, profile_id: nil, loop_id: nil)
|
9
9
|
@profile_id = profile_id
|
10
10
|
@loop_id = loop_id
|
11
|
-
super(client
|
11
|
+
super(client:, path:, type: DotloopApi::Models::Profile::Loop::Folder)
|
12
12
|
end
|
13
13
|
|
14
14
|
def all(options = {})
|
15
15
|
options_to_params(options)
|
16
|
-
@client.get(path,
|
16
|
+
@client.get(path, **@params)[:data].map { |attrs| build_model(attrs) }
|
17
17
|
end
|
18
18
|
|
19
19
|
def path
|
@@ -9,7 +9,7 @@ module DotloopApi
|
|
9
9
|
|
10
10
|
def initialize(client:, profile_id: nil)
|
11
11
|
@profile_id = profile_id
|
12
|
-
super(client
|
12
|
+
super(client:, path:, type: DotloopApi::Models::Profile::LoopTemplate)
|
13
13
|
end
|
14
14
|
|
15
15
|
def path
|
@@ -6,7 +6,7 @@ module DotloopApi
|
|
6
6
|
def initialize(client:, profile_id: nil, loop_id: nil)
|
7
7
|
@profile_id = profile_id
|
8
8
|
@loop_id = loop_id
|
9
|
-
super(client
|
9
|
+
super(client:, path:, type: DotloopApi::Models::Profile::Loop::Participant)
|
10
10
|
end
|
11
11
|
|
12
12
|
def path
|
@@ -3,7 +3,7 @@ module DotloopApi
|
|
3
3
|
class Profile < DotloopApi::EndPoints::Base
|
4
4
|
undef_method :delete
|
5
5
|
def initialize(client:)
|
6
|
-
super(client
|
6
|
+
super(client:, path: '/profile', type: DotloopApi::Models::Profile)
|
7
7
|
end
|
8
8
|
end
|
9
9
|
end
|
@@ -11,7 +11,7 @@ module DotloopApi
|
|
11
11
|
@profile_id = profile_id
|
12
12
|
@loop_id = loop_id
|
13
13
|
@task_list_id = task_list_id
|
14
|
-
super(client
|
14
|
+
super(client:, path:, type: DotloopApi::Models::Profile::Loop::TaskList::Task)
|
15
15
|
end
|
16
16
|
|
17
17
|
def path
|
@@ -10,7 +10,7 @@ module DotloopApi
|
|
10
10
|
def initialize(client:, profile_id: nil, loop_id: nil)
|
11
11
|
@profile_id = profile_id
|
12
12
|
@loop_id = loop_id
|
13
|
-
super(client
|
13
|
+
super(client:, path:, type: DotloopApi::Models::Profile::Loop::TaskList)
|
14
14
|
end
|
15
15
|
|
16
16
|
def path
|
@@ -28,29 +28,29 @@ module DotloopApi
|
|
28
28
|
attr_accessor :client
|
29
29
|
|
30
30
|
def activities
|
31
|
-
DotloopApi::EndPoints::Activity.new(client
|
31
|
+
DotloopApi::EndPoints::Activity.new(client:, profile_id:, loop_id: id).all
|
32
32
|
end
|
33
33
|
|
34
34
|
def detail
|
35
35
|
@details = DotloopApi::EndPoints::Detail.new(
|
36
|
-
client
|
36
|
+
client:, profile_id:, loop_id: id
|
37
37
|
).find
|
38
38
|
end
|
39
39
|
|
40
40
|
def folders(options = {})
|
41
41
|
DotloopApi::EndPoints::Folder.new(
|
42
|
-
client
|
42
|
+
client:, profile_id:, loop_id: id
|
43
43
|
).all(options)
|
44
44
|
end
|
45
45
|
|
46
46
|
def participants
|
47
47
|
@all_participants = DotloopApi::EndPoints::Participant.new(
|
48
|
-
client
|
48
|
+
client:, profile_id:, loop_id: id
|
49
49
|
).all
|
50
50
|
end
|
51
51
|
|
52
52
|
def task_lists
|
53
|
-
DotloopApi::EndPoints::TaskList.new(client
|
53
|
+
DotloopApi::EndPoints::TaskList.new(client:, profile_id:, loop_id: id).all
|
54
54
|
end
|
55
55
|
end
|
56
56
|
end
|
@@ -3,32 +3,32 @@ module DotloopApi
|
|
3
3
|
class Profile
|
4
4
|
# define nested classes first for dependency resolution
|
5
5
|
class Loop
|
6
|
-
class Activity; end
|
6
|
+
class Activity; end # rubocop:disable Lint/EmptyClass
|
7
7
|
|
8
8
|
class Detail
|
9
|
-
class ContractDates; end
|
10
|
-
class ContractInfo; end
|
11
|
-
class Financials; end
|
12
|
-
class GeographicDescription; end
|
13
|
-
class ListingInformation; end
|
14
|
-
class OfferDates; end
|
15
|
-
class Property; end
|
16
|
-
class PropertyAddress; end
|
17
|
-
class Referral; end
|
9
|
+
class ContractDates; end # rubocop:disable Lint/EmptyClass
|
10
|
+
class ContractInfo; end # rubocop:disable Lint/EmptyClass
|
11
|
+
class Financials; end # rubocop:disable Lint/EmptyClass
|
12
|
+
class GeographicDescription; end # rubocop:disable Lint/EmptyClass
|
13
|
+
class ListingInformation; end # rubocop:disable Lint/EmptyClass
|
14
|
+
class OfferDates; end # rubocop:disable Lint/EmptyClass
|
15
|
+
class Property; end # rubocop:disable Lint/EmptyClass
|
16
|
+
class PropertyAddress; end # rubocop:disable Lint/EmptyClass
|
17
|
+
class Referral; end # rubocop:disable Lint/EmptyClass
|
18
18
|
end
|
19
19
|
|
20
20
|
class Folder
|
21
|
-
class Document; end
|
21
|
+
class Document; end # rubocop:disable Lint/EmptyClass
|
22
22
|
end
|
23
23
|
|
24
24
|
class Participant < ::DotloopApi::Models::Contact; end
|
25
25
|
|
26
26
|
class TaskList
|
27
|
-
class Task; end
|
27
|
+
class Task; end # rubocop:disable Lint/EmptyClass
|
28
28
|
end
|
29
29
|
end
|
30
30
|
|
31
|
-
class LoopTemplate; end
|
31
|
+
class LoopTemplate; end # rubocop:disable Lint/EmptyClass
|
32
32
|
|
33
33
|
PROFILE_TYPES = %w[ASSOCIATION COMPANY INDIVIDUAL NATIONAL_PARTNER OFFICE TEAM].freeze
|
34
34
|
include Virtus.model
|
@@ -51,17 +51,17 @@ module DotloopApi
|
|
51
51
|
end
|
52
52
|
|
53
53
|
def loop(id)
|
54
|
-
loop_endpoint.find(id:
|
54
|
+
loop_endpoint.find(id:)
|
55
55
|
end
|
56
56
|
|
57
57
|
def loop_templates
|
58
|
-
DotloopApi::EndPoints::LoopTemplate.new(client
|
58
|
+
DotloopApi::EndPoints::LoopTemplate.new(client:, profile_id: id).all
|
59
59
|
end
|
60
60
|
|
61
61
|
private
|
62
62
|
|
63
63
|
def loop_endpoint
|
64
|
-
DotloopApi::EndPoints::Loop.new(client
|
64
|
+
DotloopApi::EndPoints::Loop.new(client:, profile_id: id)
|
65
65
|
end
|
66
66
|
end
|
67
67
|
end
|
data/lib/dotloop_api/version.rb
CHANGED
data.tar.gz.sig
CHANGED
Binary file
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dotloop_api
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 3.0.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Loft47
|
@@ -34,7 +34,7 @@ cert_chain:
|
|
34
34
|
UyzDcZlUIYsg0YEfJoAEA8+i0f7YdJoCNefHMv0cfBZ7fb1+QVd+CZMW0MjdOpMR
|
35
35
|
BGRKAowqGARaXExDn/ww/1javLv4ss7RKZOw7Q==
|
36
36
|
-----END CERTIFICATE-----
|
37
|
-
date: 2023-
|
37
|
+
date: 2023-10-02 00:00:00.000000000 Z
|
38
38
|
dependencies:
|
39
39
|
- !ruby/object:Gem::Dependency
|
40
40
|
name: activesupport
|
@@ -92,132 +92,6 @@ dependencies:
|
|
92
92
|
- - "~>"
|
93
93
|
- !ruby/object:Gem::Version
|
94
94
|
version: '1.0'
|
95
|
-
- !ruby/object:Gem::Dependency
|
96
|
-
name: bundler
|
97
|
-
requirement: !ruby/object:Gem::Requirement
|
98
|
-
requirements:
|
99
|
-
- - "~>"
|
100
|
-
- !ruby/object:Gem::Version
|
101
|
-
version: '2'
|
102
|
-
type: :development
|
103
|
-
prerelease: false
|
104
|
-
version_requirements: !ruby/object:Gem::Requirement
|
105
|
-
requirements:
|
106
|
-
- - "~>"
|
107
|
-
- !ruby/object:Gem::Version
|
108
|
-
version: '2'
|
109
|
-
- !ruby/object:Gem::Dependency
|
110
|
-
name: coveralls_reborn
|
111
|
-
requirement: !ruby/object:Gem::Requirement
|
112
|
-
requirements:
|
113
|
-
- - "~>"
|
114
|
-
- !ruby/object:Gem::Version
|
115
|
-
version: 0.25.0
|
116
|
-
type: :development
|
117
|
-
prerelease: false
|
118
|
-
version_requirements: !ruby/object:Gem::Requirement
|
119
|
-
requirements:
|
120
|
-
- - "~>"
|
121
|
-
- !ruby/object:Gem::Version
|
122
|
-
version: 0.25.0
|
123
|
-
- !ruby/object:Gem::Dependency
|
124
|
-
name: pry
|
125
|
-
requirement: !ruby/object:Gem::Requirement
|
126
|
-
requirements:
|
127
|
-
- - "~>"
|
128
|
-
- !ruby/object:Gem::Version
|
129
|
-
version: '0.14'
|
130
|
-
type: :development
|
131
|
-
prerelease: false
|
132
|
-
version_requirements: !ruby/object:Gem::Requirement
|
133
|
-
requirements:
|
134
|
-
- - "~>"
|
135
|
-
- !ruby/object:Gem::Version
|
136
|
-
version: '0.14'
|
137
|
-
- !ruby/object:Gem::Dependency
|
138
|
-
name: rake
|
139
|
-
requirement: !ruby/object:Gem::Requirement
|
140
|
-
requirements:
|
141
|
-
- - "~>"
|
142
|
-
- !ruby/object:Gem::Version
|
143
|
-
version: '13'
|
144
|
-
type: :development
|
145
|
-
prerelease: false
|
146
|
-
version_requirements: !ruby/object:Gem::Requirement
|
147
|
-
requirements:
|
148
|
-
- - "~>"
|
149
|
-
- !ruby/object:Gem::Version
|
150
|
-
version: '13'
|
151
|
-
- !ruby/object:Gem::Dependency
|
152
|
-
name: rspec
|
153
|
-
requirement: !ruby/object:Gem::Requirement
|
154
|
-
requirements:
|
155
|
-
- - "~>"
|
156
|
-
- !ruby/object:Gem::Version
|
157
|
-
version: '3'
|
158
|
-
type: :development
|
159
|
-
prerelease: false
|
160
|
-
version_requirements: !ruby/object:Gem::Requirement
|
161
|
-
requirements:
|
162
|
-
- - "~>"
|
163
|
-
- !ruby/object:Gem::Version
|
164
|
-
version: '3'
|
165
|
-
- !ruby/object:Gem::Dependency
|
166
|
-
name: rubocop
|
167
|
-
requirement: !ruby/object:Gem::Requirement
|
168
|
-
requirements:
|
169
|
-
- - "~>"
|
170
|
-
- !ruby/object:Gem::Version
|
171
|
-
version: '1'
|
172
|
-
type: :development
|
173
|
-
prerelease: false
|
174
|
-
version_requirements: !ruby/object:Gem::Requirement
|
175
|
-
requirements:
|
176
|
-
- - "~>"
|
177
|
-
- !ruby/object:Gem::Version
|
178
|
-
version: '1'
|
179
|
-
- !ruby/object:Gem::Dependency
|
180
|
-
name: simplecov
|
181
|
-
requirement: !ruby/object:Gem::Requirement
|
182
|
-
requirements:
|
183
|
-
- - "~>"
|
184
|
-
- !ruby/object:Gem::Version
|
185
|
-
version: '0.21'
|
186
|
-
type: :development
|
187
|
-
prerelease: false
|
188
|
-
version_requirements: !ruby/object:Gem::Requirement
|
189
|
-
requirements:
|
190
|
-
- - "~>"
|
191
|
-
- !ruby/object:Gem::Version
|
192
|
-
version: '0.21'
|
193
|
-
- !ruby/object:Gem::Dependency
|
194
|
-
name: travis
|
195
|
-
requirement: !ruby/object:Gem::Requirement
|
196
|
-
requirements:
|
197
|
-
- - "~>"
|
198
|
-
- !ruby/object:Gem::Version
|
199
|
-
version: '1.8'
|
200
|
-
type: :development
|
201
|
-
prerelease: false
|
202
|
-
version_requirements: !ruby/object:Gem::Requirement
|
203
|
-
requirements:
|
204
|
-
- - "~>"
|
205
|
-
- !ruby/object:Gem::Version
|
206
|
-
version: '1.8'
|
207
|
-
- !ruby/object:Gem::Dependency
|
208
|
-
name: webmock
|
209
|
-
requirement: !ruby/object:Gem::Requirement
|
210
|
-
requirements:
|
211
|
-
- - "~>"
|
212
|
-
- !ruby/object:Gem::Version
|
213
|
-
version: '3'
|
214
|
-
type: :development
|
215
|
-
prerelease: false
|
216
|
-
version_requirements: !ruby/object:Gem::Requirement
|
217
|
-
requirements:
|
218
|
-
- - "~>"
|
219
|
-
- !ruby/object:Gem::Version
|
220
|
-
version: '3'
|
221
95
|
description: Ruby library for Dotloop API V2.
|
222
96
|
email:
|
223
97
|
- support@loft47.com
|
@@ -228,6 +102,7 @@ files:
|
|
228
102
|
- ".gitignore"
|
229
103
|
- ".rspec"
|
230
104
|
- ".rubocop.yml"
|
105
|
+
- ".ruby-version"
|
231
106
|
- ".travis.yml"
|
232
107
|
- CODE_OF_CONDUCT.md
|
233
108
|
- Gemfile
|
@@ -277,6 +152,7 @@ licenses:
|
|
277
152
|
- MIT
|
278
153
|
metadata:
|
279
154
|
allowed_push_host: https://rubygems.org
|
155
|
+
rubygems_mfa_required: 'true'
|
280
156
|
post_install_message:
|
281
157
|
rdoc_options: []
|
282
158
|
require_paths:
|
@@ -285,14 +161,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
285
161
|
requirements:
|
286
162
|
- - "~>"
|
287
163
|
- !ruby/object:Gem::Version
|
288
|
-
version: '2
|
164
|
+
version: '3.2'
|
289
165
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
290
166
|
requirements:
|
291
167
|
- - ">="
|
292
168
|
- !ruby/object:Gem::Version
|
293
169
|
version: '0'
|
294
170
|
requirements: []
|
295
|
-
rubygems_version: 3.
|
171
|
+
rubygems_version: 3.4.17
|
296
172
|
signing_key:
|
297
173
|
specification_version: 4
|
298
174
|
summary: DotloopApi library
|
metadata.gz.sig
CHANGED
Binary file
|