panda_doc 0.4.3 → 0.5.0
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/.travis.yml +4 -3
- data/CHANGELOG.md +28 -1
- data/README.md +7 -2
- data/lib/panda_doc.rb +18 -7
- data/lib/panda_doc/api_client.rb +12 -8
- data/lib/panda_doc/coercions.rb +9 -0
- data/lib/panda_doc/configuration.rb +7 -18
- data/lib/panda_doc/document.rb +7 -1
- data/lib/panda_doc/failure_result.rb +3 -1
- data/lib/panda_doc/objects/base.rb +9 -0
- data/lib/panda_doc/objects/document.rb +17 -8
- data/lib/panda_doc/objects/error.rb +5 -5
- data/lib/panda_doc/objects/recipient.rb +8 -8
- data/lib/panda_doc/objects/session.rb +5 -5
- data/lib/panda_doc/objects/token.rb +10 -0
- data/lib/panda_doc/response_factory.rb +7 -15
- data/lib/panda_doc/success_result.rb +2 -0
- data/lib/panda_doc/types.rb +13 -0
- data/lib/panda_doc/version.rb +3 -1
- data/panda_doc.gemspec +10 -11
- metadata +33 -40
- data/lib/panda_doc/objects/status.rb +0 -9
- data/lib/panda_doc/responses/document.rb +0 -21
- data/lib/panda_doc/responses/error.rb +0 -10
- data/lib/panda_doc/responses/session.rb +0 -10
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c4dd2d6ef5bbab06ca01e6f77e93630d0aa88aa56f21a6568ee6039c44fb75aa
|
4
|
+
data.tar.gz: 3046fec26dd0ab07fa5831d5c43081b915bc3b5021a70765c1e05481692d4f95
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5bcfa0020c545ac0ff332fb532cf27df6cea7b6e645fe67182a4209d89ebcd80a0ca49b3568d43a920657dd2a6ff9c77f808dbe4064349a4752c7b6367653a14
|
7
|
+
data.tar.gz: 72726843bb0d147c50bfb8ada65eba7c45d60f7a0d93790019bb1d2b3fcc18b616c191159caa74752bd6aaa2f98e92847702d5901a567e6d8bedafd449b3c326
|
data/.travis.yml
CHANGED
data/CHANGELOG.md
CHANGED
@@ -4,6 +4,32 @@ All notable changes to this project will be documented in this file.
|
|
4
4
|
|
5
5
|
## [Unreleased]
|
6
6
|
|
7
|
+
## [0.5.0][] (2021-01-06)
|
8
|
+
|
9
|
+
New:
|
10
|
+
|
11
|
+
- Replace virtus with dry-struct.
|
12
|
+
- Drop support for ruby < 2.5.
|
13
|
+
- Add support for API-Key authentication.
|
14
|
+
```ruby
|
15
|
+
PandaDoc.configure do |config|
|
16
|
+
config.api_key = "API Key"
|
17
|
+
end
|
18
|
+
```
|
19
|
+
|
20
|
+
- Add `id`, `expiration_date` and `version` to the response Document Object.
|
21
|
+
- Add [Document details](https://developers.pandadoc.com/reference#document-details) endpoint
|
22
|
+
```ruby
|
23
|
+
document = PandaDoc::Document.details("uuid")
|
24
|
+
document.tokens.first.name
|
25
|
+
=> "Token.Name"
|
26
|
+
|
27
|
+
docuemnt.tokens.first.value
|
28
|
+
=> "Token Value"
|
29
|
+
```
|
30
|
+
|
31
|
+
- Add ruby 3.0 to test coverage.
|
32
|
+
|
7
33
|
## [0.4.3][] (2019-03-06)
|
8
34
|
|
9
35
|
Fixes:
|
@@ -123,7 +149,8 @@ Fixes:
|
|
123
149
|
|
124
150
|
- Initial release
|
125
151
|
|
126
|
-
[Unreleased]: https://github.com/opti/panda_doc/compare/v0.
|
152
|
+
[Unreleased]: https://github.com/opti/panda_doc/compare/v0.5.0...HEAD
|
153
|
+
[0.5.0]: https://github.com/opti/panda_doc/compare/v0.4.3...v0.5.0
|
127
154
|
[0.4.3]: https://github.com/opti/panda_doc/compare/v0.4.2...v0.4.3
|
128
155
|
[0.4.2]: https://github.com/opti/panda_doc/compare/v0.4.1...v0.4.2
|
129
156
|
[0.4.1]: https://github.com/opti/panda_doc/compare/v0.4.0...v0.4.1
|
data/README.md
CHANGED
@@ -25,8 +25,13 @@ Or install it yourself as:
|
|
25
25
|
|
26
26
|
## Configuration
|
27
27
|
|
28
|
-
|
29
|
-
|
28
|
+
Both [API-Key](https://developers.pandadoc.com/reference#api-key-authentication-process) and [oAuth2.0 access token](https://developers.pandadoc.com/reference#authentication-process) authentications are supported.
|
29
|
+
|
30
|
+
```ruby
|
31
|
+
PandaDoc.configure do |config|
|
32
|
+
config.api_key = "api key"
|
33
|
+
end
|
34
|
+
```
|
30
35
|
|
31
36
|
```ruby
|
32
37
|
PandaDoc.configure do |config|
|
data/lib/panda_doc.rb
CHANGED
@@ -1,27 +1,38 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require "forwardable"
|
4
|
+
require "json"
|
2
5
|
|
3
6
|
require "faraday"
|
4
7
|
require "faraday_middleware"
|
5
|
-
require "
|
6
|
-
require "
|
8
|
+
require "dry-struct"
|
9
|
+
require "dry-configurable"
|
7
10
|
|
8
11
|
require "panda_doc/api_client"
|
9
12
|
require "panda_doc/configuration"
|
13
|
+
require "panda_doc/coercions"
|
14
|
+
require "panda_doc/types"
|
10
15
|
require "panda_doc/failure_result"
|
11
16
|
require "panda_doc/success_result"
|
12
17
|
require "panda_doc/document"
|
13
18
|
require "panda_doc/response_factory"
|
14
|
-
require "panda_doc/objects/
|
19
|
+
require "panda_doc/objects/base"
|
15
20
|
require "panda_doc/objects/recipient"
|
21
|
+
require "panda_doc/objects/token"
|
16
22
|
require "panda_doc/objects/document"
|
17
23
|
require "panda_doc/objects/error"
|
18
24
|
require "panda_doc/objects/session"
|
19
|
-
require "panda_doc/responses/document"
|
20
|
-
require "panda_doc/responses/error"
|
21
|
-
require "panda_doc/responses/session"
|
22
25
|
|
23
26
|
require "panda_doc/version"
|
24
27
|
|
25
28
|
module PandaDoc
|
26
|
-
|
29
|
+
class << self
|
30
|
+
def configure(&block)
|
31
|
+
Configuration.configure(&block)
|
32
|
+
end
|
33
|
+
|
34
|
+
def configuration
|
35
|
+
Configuration.config
|
36
|
+
end
|
37
|
+
end
|
27
38
|
end
|
data/lib/panda_doc/api_client.rb
CHANGED
@@ -1,15 +1,15 @@
|
|
1
|
-
|
1
|
+
# frozen_string_literal: true
|
2
2
|
|
3
3
|
module PandaDoc
|
4
4
|
class ApiClient
|
5
5
|
|
6
6
|
class << self
|
7
|
-
def request(verb, path,
|
7
|
+
def request(verb, path, data = {})
|
8
8
|
if file = data.delete(:file)
|
9
9
|
data = { file: file, data: JSON.generate(data) }
|
10
10
|
end
|
11
11
|
|
12
|
-
new(multipart: !!file).public_send(verb, path, data)
|
12
|
+
new(multipart: !!file).public_send(verb, path, **data)
|
13
13
|
end
|
14
14
|
end
|
15
15
|
|
@@ -21,7 +21,11 @@ module PandaDoc
|
|
21
21
|
def initialize(multipart: false)
|
22
22
|
@url_prefix = "/public/v1"
|
23
23
|
@connection = Faraday.new(PandaDoc.configuration.endpoint) do |conn|
|
24
|
-
|
24
|
+
if PandaDoc.configuration.api_key
|
25
|
+
conn.authorization "API-Key", PandaDoc.configuration.api_key
|
26
|
+
else
|
27
|
+
conn.authorization :Bearer, PandaDoc.configuration.access_token
|
28
|
+
end
|
25
29
|
|
26
30
|
if multipart
|
27
31
|
conn.request :multipart
|
@@ -39,12 +43,12 @@ module PandaDoc
|
|
39
43
|
end
|
40
44
|
end
|
41
45
|
|
42
|
-
def post(path,
|
43
|
-
connection.post(normalized_path(path), data)
|
46
|
+
def post(path, data = {})
|
47
|
+
connection.post(normalized_path(path), **data)
|
44
48
|
end
|
45
49
|
|
46
|
-
def get(path,
|
47
|
-
connection.get(normalized_path(path), data)
|
50
|
+
def get(path, data = {})
|
51
|
+
connection.get(normalized_path(path), **data)
|
48
52
|
end
|
49
53
|
|
50
54
|
private
|
@@ -1,24 +1,13 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module PandaDoc
|
2
4
|
class Configuration
|
3
|
-
|
4
|
-
attr_accessor :logger
|
5
|
-
|
6
|
-
def endpoint
|
7
|
-
"https://api.pandadoc.com"
|
8
|
-
end
|
9
|
-
end
|
10
|
-
|
11
|
-
class << self
|
12
|
-
def configuration
|
13
|
-
@configuration ||= Configuration.new
|
14
|
-
end
|
5
|
+
extend Dry::Configurable
|
15
6
|
|
16
|
-
|
17
|
-
|
18
|
-
|
7
|
+
setting :access_token
|
8
|
+
setting :api_key
|
9
|
+
setting :logger
|
19
10
|
|
20
|
-
|
21
|
-
yield configuration
|
22
|
-
end
|
11
|
+
setting :endpoint, "https://api.pandadoc.com"
|
23
12
|
end
|
24
13
|
end
|
data/lib/panda_doc/document.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module PandaDoc
|
2
4
|
module Document
|
3
5
|
extend self
|
@@ -14,6 +16,10 @@ module PandaDoc
|
|
14
16
|
respond(ApiClient.request(:get, "/documents/#{uuid}"))
|
15
17
|
end
|
16
18
|
|
19
|
+
def details(uuid)
|
20
|
+
respond(ApiClient.request(:get, "/documents/#{uuid}/details"))
|
21
|
+
end
|
22
|
+
|
17
23
|
def session(uuid, **data)
|
18
24
|
respond(
|
19
25
|
ApiClient.request(:post, "/documents/#{uuid}/session", data),
|
@@ -31,7 +37,7 @@ module PandaDoc
|
|
31
37
|
failure(response)
|
32
38
|
|
33
39
|
SuccessResult.new(
|
34
|
-
ResponseFactory.
|
40
|
+
ResponseFactory.build(type).new(response.body)
|
35
41
|
)
|
36
42
|
end
|
37
43
|
|
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module PandaDoc
|
2
4
|
class FailureResult < StandardError
|
3
5
|
extend Forwardable
|
@@ -11,7 +13,7 @@ module PandaDoc
|
|
11
13
|
|
12
14
|
def initialize(response)
|
13
15
|
@response = response
|
14
|
-
@error =
|
16
|
+
@error = Objects::Error.new(response.body)
|
15
17
|
end
|
16
18
|
|
17
19
|
def to_s
|
@@ -1,14 +1,23 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module PandaDoc
|
2
4
|
module Objects
|
3
|
-
class Document
|
4
|
-
|
5
|
+
class Document < Base
|
6
|
+
attribute :id, Types::String
|
7
|
+
attribute? :uuid, Types::String
|
8
|
+
attribute :status, Types::Custom::DocumentStatus
|
9
|
+
attribute :name, Types::String
|
10
|
+
attribute? :recipients, Types::Array.of(Objects::Recipient)
|
11
|
+
attribute :date_created, Types::Params::DateTime
|
12
|
+
attribute :date_modified, Types::Params::DateTime
|
13
|
+
attribute? :expiration_date, Types::Params::DateTime.optional
|
14
|
+
attribute :version, Types::String.optional
|
15
|
+
|
16
|
+
attribute? :tokens, Types::Array.of(Objects::Token)
|
5
17
|
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
attribute :recipients, Array[Objects::Recipient]
|
10
|
-
attribute :created_at, DateTime
|
11
|
-
attribute :updated_at, DateTime
|
18
|
+
alias_method :created_at, :date_created
|
19
|
+
alias_method :updated_at, :date_modified
|
20
|
+
alias_method :expires_at, :expiration_date
|
12
21
|
end
|
13
22
|
end
|
14
23
|
end
|
@@ -1,10 +1,10 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module PandaDoc
|
2
4
|
module Objects
|
3
|
-
class Error
|
4
|
-
|
5
|
-
|
6
|
-
attribute :type, String
|
7
|
-
attribute :detail, String
|
5
|
+
class Error < Base
|
6
|
+
attribute? :type, Types::Coercible::String.optional
|
7
|
+
attribute? :detail, Types::Params::Hash.optional | Types::Coercible::String.optional
|
8
8
|
end
|
9
9
|
end
|
10
10
|
end
|
@@ -1,13 +1,13 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module PandaDoc
|
2
4
|
module Objects
|
3
|
-
class Recipient
|
4
|
-
|
5
|
-
|
6
|
-
attribute :
|
7
|
-
attribute :
|
8
|
-
attribute :
|
9
|
-
attribute :recipient_type, String
|
10
|
-
attribute :has_completed, Axiom::Types::Boolean
|
5
|
+
class Recipient < Base
|
6
|
+
attribute :email, Types::Coercible::String
|
7
|
+
attribute :first_name, Types::Coercible::String.optional
|
8
|
+
attribute :last_name, Types::Coercible::String.optional
|
9
|
+
attribute :recipient_type, Types::Coercible::String
|
10
|
+
attribute :has_completed, Types::Params::Bool
|
11
11
|
end
|
12
12
|
end
|
13
13
|
end
|
@@ -1,10 +1,10 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module PandaDoc
|
2
4
|
module Objects
|
3
|
-
class Session
|
4
|
-
|
5
|
-
|
6
|
-
attribute :id, String
|
7
|
-
attribute :expires_at, DateTime
|
5
|
+
class Session < Base
|
6
|
+
attribute :id, Types::Coercible::String
|
7
|
+
attribute :expires_at, Types::Params::DateTime
|
8
8
|
end
|
9
9
|
end
|
10
10
|
end
|
@@ -1,28 +1,20 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module PandaDoc
|
2
4
|
class ResponseFactory
|
3
5
|
attr_reader :type
|
4
6
|
private :type
|
5
7
|
|
8
|
+
def self.build(type)
|
9
|
+
new(type).build
|
10
|
+
end
|
11
|
+
|
6
12
|
def initialize(type)
|
7
13
|
@type = type.capitalize
|
8
14
|
end
|
9
15
|
|
10
16
|
def build
|
11
|
-
|
12
|
-
end
|
13
|
-
|
14
|
-
private
|
15
|
-
|
16
|
-
def response_class
|
17
|
-
class_for("Responses")
|
18
|
-
end
|
19
|
-
|
20
|
-
def object_class
|
21
|
-
class_for("Objects")
|
22
|
-
end
|
23
|
-
|
24
|
-
def class_for(namespace)
|
25
|
-
Object.const_get("PandaDoc::#{namespace}::#{type}")
|
17
|
+
PandaDoc::Objects.const_get(type)
|
26
18
|
end
|
27
19
|
end
|
28
20
|
end
|
data/lib/panda_doc/version.rb
CHANGED
data/panda_doc.gemspec
CHANGED
@@ -1,7 +1,6 @@
|
|
1
|
-
#
|
2
|
-
|
3
|
-
|
4
|
-
require 'panda_doc/version'
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative "lib/panda_doc/version"
|
5
4
|
|
6
5
|
Gem::Specification.new do |spec|
|
7
6
|
spec.name = "panda_doc"
|
@@ -16,13 +15,13 @@ Gem::Specification.new do |spec|
|
|
16
15
|
spec.license = "MIT"
|
17
16
|
|
18
17
|
spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
|
19
|
-
spec.bindir = "
|
20
|
-
spec.executables =
|
18
|
+
spec.bindir = "bin"
|
19
|
+
spec.executables = []
|
21
20
|
spec.require_paths = ["lib"]
|
22
21
|
|
23
|
-
spec.required_ruby_version = "
|
24
|
-
spec.add_dependency "faraday", "
|
25
|
-
spec.add_dependency "faraday_middleware", "
|
26
|
-
spec.add_dependency "
|
27
|
-
spec.add_dependency "
|
22
|
+
spec.required_ruby_version = ">= 2.5"
|
23
|
+
spec.add_dependency "faraday", ">= 0.9.2", "< 2.0"
|
24
|
+
spec.add_dependency "faraday_middleware", ">= 0.10.0", "< 2.0"
|
25
|
+
spec.add_dependency "dry-configurable", "~> 0.11"
|
26
|
+
spec.add_dependency "dry-struct", "~> 1.3"
|
28
27
|
end
|
metadata
CHANGED
@@ -1,89 +1,83 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: panda_doc
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.5.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Igor Pstyga
|
8
|
-
autorequire:
|
9
|
-
bindir:
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-01-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: faraday
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - "~>"
|
18
|
-
- !ruby/object:Gem::Version
|
19
|
-
version: '0.9'
|
20
17
|
- - ">="
|
21
18
|
- !ruby/object:Gem::Version
|
22
19
|
version: 0.9.2
|
20
|
+
- - "<"
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: '2.0'
|
23
23
|
type: :runtime
|
24
24
|
prerelease: false
|
25
25
|
version_requirements: !ruby/object:Gem::Requirement
|
26
26
|
requirements:
|
27
|
-
- - "~>"
|
28
|
-
- !ruby/object:Gem::Version
|
29
|
-
version: '0.9'
|
30
27
|
- - ">="
|
31
28
|
- !ruby/object:Gem::Version
|
32
29
|
version: 0.9.2
|
30
|
+
- - "<"
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: '2.0'
|
33
33
|
- !ruby/object:Gem::Dependency
|
34
34
|
name: faraday_middleware
|
35
35
|
requirement: !ruby/object:Gem::Requirement
|
36
36
|
requirements:
|
37
|
-
- - "~>"
|
38
|
-
- !ruby/object:Gem::Version
|
39
|
-
version: '0.10'
|
40
37
|
- - ">="
|
41
38
|
- !ruby/object:Gem::Version
|
42
39
|
version: 0.10.0
|
40
|
+
- - "<"
|
41
|
+
- !ruby/object:Gem::Version
|
42
|
+
version: '2.0'
|
43
43
|
type: :runtime
|
44
44
|
prerelease: false
|
45
45
|
version_requirements: !ruby/object:Gem::Requirement
|
46
46
|
requirements:
|
47
|
-
- - "~>"
|
48
|
-
- !ruby/object:Gem::Version
|
49
|
-
version: '0.10'
|
50
47
|
- - ">="
|
51
48
|
- !ruby/object:Gem::Version
|
52
49
|
version: 0.10.0
|
50
|
+
- - "<"
|
51
|
+
- !ruby/object:Gem::Version
|
52
|
+
version: '2.0'
|
53
53
|
- !ruby/object:Gem::Dependency
|
54
|
-
name:
|
54
|
+
name: dry-configurable
|
55
55
|
requirement: !ruby/object:Gem::Requirement
|
56
56
|
requirements:
|
57
57
|
- - "~>"
|
58
58
|
- !ruby/object:Gem::Version
|
59
|
-
version: '
|
60
|
-
- - ">="
|
61
|
-
- !ruby/object:Gem::Version
|
62
|
-
version: 1.0.5
|
59
|
+
version: '0.11'
|
63
60
|
type: :runtime
|
64
61
|
prerelease: false
|
65
62
|
version_requirements: !ruby/object:Gem::Requirement
|
66
63
|
requirements:
|
67
64
|
- - "~>"
|
68
65
|
- !ruby/object:Gem::Version
|
69
|
-
version: '
|
70
|
-
- - ">="
|
71
|
-
- !ruby/object:Gem::Version
|
72
|
-
version: 1.0.5
|
66
|
+
version: '0.11'
|
73
67
|
- !ruby/object:Gem::Dependency
|
74
|
-
name:
|
68
|
+
name: dry-struct
|
75
69
|
requirement: !ruby/object:Gem::Requirement
|
76
70
|
requirements:
|
77
|
-
- - "
|
71
|
+
- - "~>"
|
78
72
|
- !ruby/object:Gem::Version
|
79
|
-
version: 3
|
73
|
+
version: '1.3'
|
80
74
|
type: :runtime
|
81
75
|
prerelease: false
|
82
76
|
version_requirements: !ruby/object:Gem::Requirement
|
83
77
|
requirements:
|
84
|
-
- - "
|
78
|
+
- - "~>"
|
85
79
|
- !ruby/object:Gem::Version
|
86
|
-
version: 3
|
80
|
+
version: '1.3'
|
87
81
|
description: Ruby wrapper for PandaDoc.com API
|
88
82
|
email:
|
89
83
|
- igor.pstyga@gmail.com
|
@@ -105,43 +99,42 @@ files:
|
|
105
99
|
- bin/setup
|
106
100
|
- lib/panda_doc.rb
|
107
101
|
- lib/panda_doc/api_client.rb
|
102
|
+
- lib/panda_doc/coercions.rb
|
108
103
|
- lib/panda_doc/configuration.rb
|
109
104
|
- lib/panda_doc/document.rb
|
110
105
|
- lib/panda_doc/failure_result.rb
|
106
|
+
- lib/panda_doc/objects/base.rb
|
111
107
|
- lib/panda_doc/objects/document.rb
|
112
108
|
- lib/panda_doc/objects/error.rb
|
113
109
|
- lib/panda_doc/objects/recipient.rb
|
114
110
|
- lib/panda_doc/objects/session.rb
|
115
|
-
- lib/panda_doc/objects/
|
111
|
+
- lib/panda_doc/objects/token.rb
|
116
112
|
- lib/panda_doc/response_factory.rb
|
117
|
-
- lib/panda_doc/responses/document.rb
|
118
|
-
- lib/panda_doc/responses/error.rb
|
119
|
-
- lib/panda_doc/responses/session.rb
|
120
113
|
- lib/panda_doc/success_result.rb
|
114
|
+
- lib/panda_doc/types.rb
|
121
115
|
- lib/panda_doc/version.rb
|
122
116
|
- panda_doc.gemspec
|
123
117
|
homepage: https://github.com/opti/panda_doc
|
124
118
|
licenses:
|
125
119
|
- MIT
|
126
120
|
metadata: {}
|
127
|
-
post_install_message:
|
121
|
+
post_install_message:
|
128
122
|
rdoc_options: []
|
129
123
|
require_paths:
|
130
124
|
- lib
|
131
125
|
required_ruby_version: !ruby/object:Gem::Requirement
|
132
126
|
requirements:
|
133
|
-
- - "
|
127
|
+
- - ">="
|
134
128
|
- !ruby/object:Gem::Version
|
135
|
-
version: '2.
|
129
|
+
version: '2.5'
|
136
130
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
137
131
|
requirements:
|
138
132
|
- - ">="
|
139
133
|
- !ruby/object:Gem::Version
|
140
134
|
version: '0'
|
141
135
|
requirements: []
|
142
|
-
|
143
|
-
|
144
|
-
signing_key:
|
136
|
+
rubygems_version: 3.2.3
|
137
|
+
signing_key:
|
145
138
|
specification_version: 4
|
146
139
|
summary: Ruby wrapper for PandaDoc.com API
|
147
140
|
test_files: []
|
@@ -1,21 +0,0 @@
|
|
1
|
-
module PandaDoc
|
2
|
-
module Responses
|
3
|
-
class Document < Representable::Decorator
|
4
|
-
include Representable::Hash
|
5
|
-
|
6
|
-
property :uuid
|
7
|
-
property :status
|
8
|
-
property :name
|
9
|
-
property :created_at, as: :date_created
|
10
|
-
property :updated_at, as: :date_modified
|
11
|
-
|
12
|
-
collection :recipients, class: PandaDoc::Objects::Recipient do
|
13
|
-
property :email
|
14
|
-
property :first_name
|
15
|
-
property :last_name
|
16
|
-
property :recipient_type
|
17
|
-
property :has_completed
|
18
|
-
end
|
19
|
-
end
|
20
|
-
end
|
21
|
-
end
|