smartsheet 2.77.0 → 2.101.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.
Files changed (73) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +12 -12
  3. data/.rubocop.yml +4 -4
  4. data/.travis.yml +29 -15
  5. data/.yardopts +3 -3
  6. data/ADVANCED.md +78 -78
  7. data/CHANGELOG.md +133 -112
  8. data/Gemfile +6 -6
  9. data/LICENSE +202 -202
  10. data/README.md +248 -246
  11. data/Rakefile +29 -29
  12. data/bin/console +14 -14
  13. data/bin/setup +8 -8
  14. data/lib/smartsheet.rb +2 -2
  15. data/lib/smartsheet/api/body_builder.rb +25 -25
  16. data/lib/smartsheet/api/endpoint_spec.rb +54 -54
  17. data/lib/smartsheet/api/faraday_adapter/faraday_net_client.rb +45 -45
  18. data/lib/smartsheet/api/faraday_adapter/faraday_response.rb +70 -70
  19. data/lib/smartsheet/api/faraday_adapter/middleware/faraday_error_translator.rb +20 -20
  20. data/lib/smartsheet/api/faraday_adapter/middleware/response_parser.rb +25 -25
  21. data/lib/smartsheet/api/file_spec.rb +55 -55
  22. data/lib/smartsheet/api/header_builder.rb +96 -96
  23. data/lib/smartsheet/api/request.rb +42 -42
  24. data/lib/smartsheet/api/request_client.rb +43 -43
  25. data/lib/smartsheet/api/request_logger.rb +182 -182
  26. data/lib/smartsheet/api/request_spec.rb +57 -57
  27. data/lib/smartsheet/api/response_net_client_decorator.rb +54 -54
  28. data/lib/smartsheet/api/retry_logic.rb +40 -40
  29. data/lib/smartsheet/api/retry_net_client_decorator.rb +37 -37
  30. data/lib/smartsheet/api/url_builder.rb +25 -25
  31. data/lib/smartsheet/client.rb +193 -193
  32. data/lib/smartsheet/constants.rb +18 -18
  33. data/lib/smartsheet/endpoints/contacts/contacts.rb +30 -30
  34. data/lib/smartsheet/endpoints/events/events.rb +20 -20
  35. data/lib/smartsheet/endpoints/favorites/favorites.rb +159 -159
  36. data/lib/smartsheet/endpoints/folders/folders.rb +125 -125
  37. data/lib/smartsheet/endpoints/groups/groups.rb +83 -83
  38. data/lib/smartsheet/endpoints/home/home.rb +20 -20
  39. data/lib/smartsheet/endpoints/reports/reports.rb +100 -100
  40. data/lib/smartsheet/endpoints/reports/reports_share.rb +69 -69
  41. data/lib/smartsheet/endpoints/search/search.rb +30 -30
  42. data/lib/smartsheet/endpoints/server_info/server_info.rb +21 -21
  43. data/lib/smartsheet/endpoints/share/share.rb +58 -58
  44. data/lib/smartsheet/endpoints/sheets/automation_rules.rb +55 -55
  45. data/lib/smartsheet/endpoints/sheets/cells.rb +82 -82
  46. data/lib/smartsheet/endpoints/sheets/columns.rb +66 -66
  47. data/lib/smartsheet/endpoints/sheets/comments.rb +64 -64
  48. data/lib/smartsheet/endpoints/sheets/comments_attachments.rb +78 -78
  49. data/lib/smartsheet/endpoints/sheets/cross_sheet_references.rb +45 -45
  50. data/lib/smartsheet/endpoints/sheets/discussions.rb +84 -84
  51. data/lib/smartsheet/endpoints/sheets/discussions_attachments.rb +22 -22
  52. data/lib/smartsheet/endpoints/sheets/rows.rb +106 -106
  53. data/lib/smartsheet/endpoints/sheets/rows_attachments.rb +92 -92
  54. data/lib/smartsheet/endpoints/sheets/sheets.rb +514 -510
  55. data/lib/smartsheet/endpoints/sheets/sheets_attachments.rb +174 -174
  56. data/lib/smartsheet/endpoints/sheets/sheets_share.rb +69 -69
  57. data/lib/smartsheet/endpoints/sheets/sheets_summaries.rb +123 -0
  58. data/lib/smartsheet/endpoints/sights/sights.rb +101 -101
  59. data/lib/smartsheet/endpoints/sights/sights_share.rb +69 -69
  60. data/lib/smartsheet/endpoints/templates/templates.rb +29 -29
  61. data/lib/smartsheet/endpoints/token/token.rb +70 -66
  62. data/lib/smartsheet/endpoints/update_requests/sent_update_requests.rb +44 -44
  63. data/lib/smartsheet/endpoints/update_requests/update_requests.rb +74 -74
  64. data/lib/smartsheet/endpoints/users/alternate_emails.rb +79 -79
  65. data/lib/smartsheet/endpoints/users/users.rb +123 -77
  66. data/lib/smartsheet/endpoints/webhooks/webhooks.rb +71 -71
  67. data/lib/smartsheet/endpoints/workspaces/workspaces.rb +87 -87
  68. data/lib/smartsheet/endpoints/workspaces/workspaces_share.rb +70 -70
  69. data/lib/smartsheet/error.rb +69 -69
  70. data/lib/smartsheet/general_request.rb +74 -74
  71. data/lib/smartsheet/version.rb +5 -5
  72. data/smartsheet.gemspec +54 -54
  73. metadata +24 -12
@@ -1,71 +1,71 @@
1
- require 'smartsheet/endpoints/share/share'
2
-
3
- module Smartsheet
4
- # Workspace Sharing Endpoints
5
- # @see https://smartsheet-platform.github.io/api-docs/?ruby#workspace-sharing API Workspace
6
- # Sharing Docs
7
- class WorkspacesShare
8
- attr_reader :client
9
- private :client
10
-
11
- URL = ['workspaces', :workspace_id].freeze
12
-
13
- def initialize(client)
14
- @client = client
15
- end
16
-
17
- def delete(workspace_id:, share_id:, params: {}, header_overrides: {})
18
- delete_share(
19
- share_id: share_id,
20
- url: URL,
21
- params: params,
22
- header_overrides: header_overrides,
23
- workspace_id: workspace_id
24
- )
25
- end
26
-
27
- def get(workspace_id:, share_id:, params: {}, header_overrides: {})
28
- get_share(
29
- share_id: share_id,
30
- url: URL,
31
- params: params,
32
- header_overrides: header_overrides,
33
- workspace_id: workspace_id
34
- )
35
- end
36
-
37
- def list(workspace_id:, params: {}, header_overrides: {})
38
- list_share(
39
- url: URL,
40
- header_overrides: header_overrides,
41
- params: params,
42
- workspace_id: workspace_id
43
- )
44
- end
45
-
46
- def create(workspace_id:, body:, params: {}, header_overrides: {})
47
- create_share(
48
- url: URL,
49
- header_overrides: header_overrides,
50
- params: params,
51
- body: body,
52
- workspace_id: workspace_id
53
- )
54
- end
55
-
56
- def update(workspace_id:, share_id:, body:, params: {}, header_overrides: {})
57
- update_share(
58
- share_id: share_id,
59
- url: URL,
60
- params: params,
61
- header_overrides: header_overrides,
62
- body: body,
63
- workspace_id: workspace_id
64
- )
65
- end
66
-
67
- private
68
-
69
- include Smartsheet::Share
70
- end
1
+ require 'smartsheet/endpoints/share/share'
2
+
3
+ module Smartsheet
4
+ # Workspace Sharing Endpoints
5
+ # @see https://smartsheet-platform.github.io/api-docs/?ruby#workspace-sharing API Workspace
6
+ # Sharing Docs
7
+ class WorkspacesShare
8
+ attr_reader :client
9
+ private :client
10
+
11
+ URL = ['workspaces', :workspace_id].freeze
12
+
13
+ def initialize(client)
14
+ @client = client
15
+ end
16
+
17
+ def delete(workspace_id:, share_id:, params: {}, header_overrides: {})
18
+ delete_share(
19
+ share_id: share_id,
20
+ url: URL,
21
+ params: params,
22
+ header_overrides: header_overrides,
23
+ workspace_id: workspace_id
24
+ )
25
+ end
26
+
27
+ def get(workspace_id:, share_id:, params: {}, header_overrides: {})
28
+ get_share(
29
+ share_id: share_id,
30
+ url: URL,
31
+ params: params,
32
+ header_overrides: header_overrides,
33
+ workspace_id: workspace_id
34
+ )
35
+ end
36
+
37
+ def list(workspace_id:, params: {}, header_overrides: {})
38
+ list_share(
39
+ url: URL,
40
+ header_overrides: header_overrides,
41
+ params: params,
42
+ workspace_id: workspace_id
43
+ )
44
+ end
45
+
46
+ def create(workspace_id:, body:, params: {}, header_overrides: {})
47
+ create_share(
48
+ url: URL,
49
+ header_overrides: header_overrides,
50
+ params: params,
51
+ body: body,
52
+ workspace_id: workspace_id
53
+ )
54
+ end
55
+
56
+ def update(workspace_id:, share_id:, body:, params: {}, header_overrides: {})
57
+ update_share(
58
+ share_id: share_id,
59
+ url: URL,
60
+ params: params,
61
+ header_overrides: header_overrides,
62
+ body: body,
63
+ workspace_id: workspace_id
64
+ )
65
+ end
66
+
67
+ private
68
+
69
+ include Smartsheet::Share
70
+ end
71
71
  end
@@ -1,70 +1,70 @@
1
- require 'forwardable'
2
-
3
- module Smartsheet
4
- # Top-level Smartsheet Error
5
- class Error < StandardError; end
6
-
7
- # Errors for invalid requests, timeouts, etc.
8
- class RequestError < Error
9
- attr_reader :wrapped_exception
10
-
11
- def initialize(ex)
12
- super(ex.message)
13
- @wrapped_exception = ex
14
- end
15
- end
16
-
17
- # Errors for generic HTTP error codes
18
- # @!attribute [r] status_code
19
- # @return [Fixnum] HTTP status code
20
- # @!attribute [r] reason_phrase
21
- # @return [String] HTTP reason phrase
22
- # @!attribute [r] headers
23
- # @return [Hash] HTTP response headers
24
- class HttpResponseError < Error
25
- attr_reader :status_code, :reason_phrase, :headers
26
-
27
- def initialize(status_code:, reason_phrase:, headers:, message:)
28
- super(message)
29
-
30
- @status_code = status_code
31
- @reason_phrase = reason_phrase
32
- @headers = headers
33
- end
34
- end
35
-
36
- # Errors for Smartsheet API error objects
37
- # @see https://smartsheet-platform.github.io/api-docs/?ruby#error-object API Error Object Docs
38
- #
39
- # @!attribute [r] error_code
40
- # @return [Fixnum] Smartsheet error code
41
- # @see https://smartsheet-platform.github.io/api-docs/?ruby#complete-error-code-list API Error
42
- # Code Docs
43
- # @!attribute [r] message
44
- # @return [String] Smartsheet error message
45
- # @see https://smartsheet-platform.github.io/api-docs/?ruby#complete-error-code-list API Error
46
- # Code Docs
47
- # @!attribute [r] ref_id
48
- # @return [String] Smartsheet error reference ID
49
- # @!attribute [r] detail
50
- # @return [Hash, Array, nil] optional details for some error scenarios
51
- class ApiError < HttpResponseError
52
- extend Forwardable
53
-
54
- def initialize(error_response)
55
- super(
56
- status_code: error_response.status_code,
57
- reason_phrase: error_response.reason_phrase,
58
- headers: error_response.headers,
59
- message: error_response.message
60
- )
61
- @error_response = error_response
62
- end
63
-
64
- def_delegators :error_response, :error_code, :message, :ref_id, :detail
65
-
66
- private
67
-
68
- attr_reader :error_response
69
- end
1
+ require 'forwardable'
2
+
3
+ module Smartsheet
4
+ # Top-level Smartsheet Error
5
+ class Error < StandardError; end
6
+
7
+ # Errors for invalid requests, timeouts, etc.
8
+ class RequestError < Error
9
+ attr_reader :wrapped_exception
10
+
11
+ def initialize(ex)
12
+ super(ex.message)
13
+ @wrapped_exception = ex
14
+ end
15
+ end
16
+
17
+ # Errors for generic HTTP error codes
18
+ # @!attribute [r] status_code
19
+ # @return [Fixnum] HTTP status code
20
+ # @!attribute [r] reason_phrase
21
+ # @return [String] HTTP reason phrase
22
+ # @!attribute [r] headers
23
+ # @return [Hash] HTTP response headers
24
+ class HttpResponseError < Error
25
+ attr_reader :status_code, :reason_phrase, :headers
26
+
27
+ def initialize(status_code:, reason_phrase:, headers:, message:)
28
+ super(message)
29
+
30
+ @status_code = status_code
31
+ @reason_phrase = reason_phrase
32
+ @headers = headers
33
+ end
34
+ end
35
+
36
+ # Errors for Smartsheet API error objects
37
+ # @see https://smartsheet-platform.github.io/api-docs/?ruby#error-object API Error Object Docs
38
+ #
39
+ # @!attribute [r] error_code
40
+ # @return [Fixnum] Smartsheet error code
41
+ # @see https://smartsheet-platform.github.io/api-docs/?ruby#complete-error-code-list API Error
42
+ # Code Docs
43
+ # @!attribute [r] message
44
+ # @return [String] Smartsheet error message
45
+ # @see https://smartsheet-platform.github.io/api-docs/?ruby#complete-error-code-list API Error
46
+ # Code Docs
47
+ # @!attribute [r] ref_id
48
+ # @return [String] Smartsheet error reference ID
49
+ # @!attribute [r] detail
50
+ # @return [Hash, Array, nil] optional details for some error scenarios
51
+ class ApiError < HttpResponseError
52
+ extend Forwardable
53
+
54
+ def initialize(error_response)
55
+ super(
56
+ status_code: error_response.status_code,
57
+ reason_phrase: error_response.reason_phrase,
58
+ headers: error_response.headers,
59
+ message: error_response.message
60
+ )
61
+ @error_response = error_response
62
+ end
63
+
64
+ def_delegators :error_response, :error_code, :message, :ref_id, :detail
65
+
66
+ private
67
+
68
+ attr_reader :error_response
69
+ end
70
70
  end
@@ -1,75 +1,75 @@
1
- require 'smartsheet/api/file_spec'
2
-
3
- module Smartsheet
4
- module GeneralRequest
5
- # Create a custom request using a provided method and URL path
6
- # @example Make a GET request to 'https://api.smartsheet.com/2.0/sheets/list'
7
- # client.request(method: :get, url_path: 'sheets/list')
8
- def request(method:, url_path:, body: nil, params: {}, header_overrides: {})
9
- spec = body.nil? ? {} : {body_type: :json}
10
- endpoint_spec = Smartsheet::API::EndpointSpec.new(method, [url_path], **spec)
11
- request_spec = Smartsheet::API::RequestSpec.new(
12
- header_overrides: header_overrides,
13
- body: body,
14
- params: params
15
- )
16
- client.make_request(endpoint_spec, request_spec)
17
- end
18
-
19
- # Create a custom request using a provided method, URL path, and file details
20
- # @example Make a POST request to 'https://api.smartsheet.com/2.0/sheets/1/attachments' with a file
21
- # client.request_with_file(
22
- # method: :get,
23
- # url_path: 'sheets/1/attachments',
24
- # file: File.open('my-file.docx'),
25
- # file_length: 1000,
26
- # filename: 'my-uploaded-file.docx',
27
- # content_type: 'application/vnd.openxmlformats-officedocument.wordprocessingml.document'
28
- # )
29
- def request_with_file(
30
- method:,
31
- url_path:,
32
- file:,
33
- file_length:,
34
- filename:,
35
- content_type: '',
36
- params: {},
37
- header_overrides: {}
38
- )
39
- endpoint_spec = Smartsheet::API::EndpointSpec.new(method, [url_path], body_type: :file)
40
- request_spec = Smartsheet::API::RequestSpec.new(
41
- header_overrides: header_overrides,
42
- params: params,
43
- file_spec: Smartsheet::API::ObjectFileSpec.new(file, filename, file_length, content_type)
44
- )
45
- client.make_request(endpoint_spec, request_spec)
46
- end
47
-
48
- # Create a custom request using a provided method, URL path, and filepath details
49
- # @example Make a POST request to 'https://api.smartsheet.com/2.0/sheets/1/attachments' with a file
50
- # client.request_with_file_from_path(
51
- # method: :get,
52
- # url_path: 'sheets/1/attachments',
53
- # path: './my-file.docx',
54
- # filename: 'my-uploaded-file.docx',
55
- # content_type: 'application/vnd.openxmlformats-officedocument.wordprocessingml.document'
56
- # )
57
- def request_with_file_from_path(
58
- method:,
59
- url_path:,
60
- path:,
61
- filename: nil,
62
- content_type: '',
63
- params: {},
64
- header_overrides: {}
65
- )
66
- endpoint_spec = Smartsheet::API::EndpointSpec.new(method, [url_path], body_type: :file)
67
- request_spec = Smartsheet::API::RequestSpec.new(
68
- header_overrides: header_overrides,
69
- params: params,
70
- file_spec: Smartsheet::API::PathFileSpec.new(path, filename, content_type)
71
- )
72
- client.make_request(endpoint_spec, request_spec)
73
- end
74
- end
1
+ require 'smartsheet/api/file_spec'
2
+
3
+ module Smartsheet
4
+ module GeneralRequest
5
+ # Create a custom request using a provided method and URL path
6
+ # @example Make a GET request to 'https://api.smartsheet.com/2.0/sheets/list'
7
+ # client.request(method: :get, url_path: 'sheets/list')
8
+ def request(method:, url_path:, body: nil, params: {}, header_overrides: {})
9
+ spec = body.nil? ? {} : {body_type: :json}
10
+ endpoint_spec = Smartsheet::API::EndpointSpec.new(method, [url_path], **spec)
11
+ request_spec = Smartsheet::API::RequestSpec.new(
12
+ header_overrides: header_overrides,
13
+ body: body,
14
+ params: params
15
+ )
16
+ client.make_request(endpoint_spec, request_spec)
17
+ end
18
+
19
+ # Create a custom request using a provided method, URL path, and file details
20
+ # @example Make a POST request to 'https://api.smartsheet.com/2.0/sheets/1/attachments' with a file
21
+ # client.request_with_file(
22
+ # method: :get,
23
+ # url_path: 'sheets/1/attachments',
24
+ # file: File.open('my-file.docx'),
25
+ # file_length: 1000,
26
+ # filename: 'my-uploaded-file.docx',
27
+ # content_type: 'application/vnd.openxmlformats-officedocument.wordprocessingml.document'
28
+ # )
29
+ def request_with_file(
30
+ method:,
31
+ url_path:,
32
+ file:,
33
+ file_length:,
34
+ filename:,
35
+ content_type: '',
36
+ params: {},
37
+ header_overrides: {}
38
+ )
39
+ endpoint_spec = Smartsheet::API::EndpointSpec.new(method, [url_path], body_type: :file)
40
+ request_spec = Smartsheet::API::RequestSpec.new(
41
+ header_overrides: header_overrides,
42
+ params: params,
43
+ file_spec: Smartsheet::API::ObjectFileSpec.new(file, filename, file_length, content_type)
44
+ )
45
+ client.make_request(endpoint_spec, request_spec)
46
+ end
47
+
48
+ # Create a custom request using a provided method, URL path, and filepath details
49
+ # @example Make a POST request to 'https://api.smartsheet.com/2.0/sheets/1/attachments' with a file
50
+ # client.request_with_file_from_path(
51
+ # method: :get,
52
+ # url_path: 'sheets/1/attachments',
53
+ # path: './my-file.docx',
54
+ # filename: 'my-uploaded-file.docx',
55
+ # content_type: 'application/vnd.openxmlformats-officedocument.wordprocessingml.document'
56
+ # )
57
+ def request_with_file_from_path(
58
+ method:,
59
+ url_path:,
60
+ path:,
61
+ filename: nil,
62
+ content_type: '',
63
+ params: {},
64
+ header_overrides: {}
65
+ )
66
+ endpoint_spec = Smartsheet::API::EndpointSpec.new(method, [url_path], body_type: :file)
67
+ request_spec = Smartsheet::API::RequestSpec.new(
68
+ header_overrides: header_overrides,
69
+ params: params,
70
+ file_spec: Smartsheet::API::PathFileSpec.new(path, filename, content_type)
71
+ )
72
+ client.make_request(endpoint_spec, request_spec)
73
+ end
74
+ end
75
75
  end
@@ -1,5 +1,5 @@
1
- require 'smartsheet/constants'
2
-
3
- module Smartsheet
4
- VERSION = Constants::VERSION
5
- end
1
+ require 'smartsheet/constants'
2
+
3
+ module Smartsheet
4
+ VERSION = Constants::VERSION
5
+ end
@@ -1,54 +1,54 @@
1
- # coding: utf-8
2
-
3
- lib = File.expand_path('../lib', __FILE__)
4
- $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
5
- require 'smartsheet/version'
6
-
7
- Gem::Specification.new do |spec|
8
- spec.name = 'smartsheet'
9
- spec.version = Smartsheet::VERSION
10
- spec.author = 'Smartsheet'
11
- spec.email = 'api@smartsheet.com'
12
-
13
- spec.summary = 'An SDK to simplify connecting to the Smartsheet API from Ruby applications.'
14
- spec.description = <<-EOF
15
- This is an SDK to simplify connecting to the Smartsheet API
16
- (http://www.smartsheet.com/developers/api-documentation) from Ruby applications.
17
- EOF
18
- spec.homepage = 'https://github.com/smartsheet-platform/smartsheet-ruby-sdk'
19
- spec.license = 'Apache-2.0'
20
-
21
- # Prevent pushing this gem to RubyGems.org. To allow pushes either set the 'allowed_push_host'
22
- # to allow pushing to a single host or delete this section to allow pushing to any host.
23
- unless spec.respond_to?(:metadata)
24
- raise 'RubyGems 2.0 or newer is required to protect against public gem pushes.'
25
- end
26
-
27
- spec.files = `git ls-files -z`.split("\x0").reject do |f|
28
- f.match(/^(test|spec|features)/)
29
- end
30
- spec.bindir = 'bin'
31
- spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
32
- spec.require_paths = ['lib']
33
-
34
- spec.required_ruby_version = '~> 2.2'
35
-
36
- spec.add_dependency 'faraday', '~> 0.13.1'
37
- spec.add_dependency 'faraday_middleware', '~> 0.10.0'
38
- spec.add_dependency 'plissken', '~> 1.2'
39
- spec.add_dependency 'awrence', '~> 1.0'
40
-
41
- spec.add_development_dependency 'bundler', '~> 1.15'
42
- spec.add_development_dependency 'coveralls', '~> 0.8.21'
43
- spec.add_development_dependency 'cli', '~> 1.3'
44
- spec.add_development_dependency 'rake', '~> 10.0'
45
- spec.add_development_dependency 'minitest', '~> 5.0'
46
- spec.add_development_dependency 'mocha', '~> 1.3'
47
- spec.add_development_dependency 'timecop', '~> 0.9.1'
48
- spec.add_development_dependency 'rubocop', '~> 0.49'
49
- spec.add_development_dependency 'reek', '~> 4.7'
50
- spec.add_development_dependency 'rubycritic', '~> 3.4'
51
- spec.add_development_dependency 'yard', '~> 0.9'
52
- spec.add_development_dependency 'redcarpet', '~> 3.4'
53
- spec.add_development_dependency 'github-markup', '~> 1.6'
54
- end
1
+ # coding: utf-8
2
+
3
+ lib = File.expand_path('../lib', __FILE__)
4
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
5
+ require 'smartsheet/version'
6
+
7
+ Gem::Specification.new do |spec|
8
+ spec.name = 'smartsheet'
9
+ spec.version = Smartsheet::VERSION
10
+ spec.author = 'Smartsheet'
11
+ spec.email = 'api@smartsheet.com'
12
+
13
+ spec.summary = 'An SDK to simplify connecting to the Smartsheet API from Ruby applications.'
14
+ spec.description = <<-EOF
15
+ This is an SDK to simplify connecting to the Smartsheet API
16
+ (http://www.smartsheet.com/developers/api-documentation) from Ruby applications.
17
+ EOF
18
+ spec.homepage = 'https://github.com/smartsheet-platform/smartsheet-ruby-sdk'
19
+ spec.license = 'Apache-2.0'
20
+
21
+ # Prevent pushing this gem to RubyGems.org. To allow pushes either set the 'allowed_push_host'
22
+ # to allow pushing to a single host or delete this section to allow pushing to any host.
23
+ unless spec.respond_to?(:metadata)
24
+ raise 'RubyGems 2.0 or newer is required to protect against public gem pushes.'
25
+ end
26
+
27
+ spec.files = `git ls-files -z`.split("\x0").reject do |f|
28
+ f.match(/^(test|spec|features)/)
29
+ end
30
+ spec.bindir = 'bin'
31
+ spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
32
+ spec.require_paths = ['lib']
33
+
34
+ spec.required_ruby_version = '~> 2.2'
35
+
36
+ spec.add_dependency 'faraday', '>= 0.13.1', '< 2'
37
+ spec.add_dependency 'faraday_middleware', '>= 0.10.0', '< 2'
38
+ spec.add_dependency 'plissken', '~> 1.2'
39
+ spec.add_dependency 'awrence', '~> 1.0'
40
+
41
+ spec.add_development_dependency 'bundler', '>= 1.17'
42
+ spec.add_development_dependency 'coveralls', '~> 0.8.21'
43
+ spec.add_development_dependency 'cli', '~> 1.3'
44
+ spec.add_development_dependency 'rake', '~> 10.0'
45
+ spec.add_development_dependency 'minitest', '~> 5.0'
46
+ spec.add_development_dependency 'mocha', '~> 1.3'
47
+ spec.add_development_dependency 'timecop', '~> 0.9.1'
48
+ spec.add_development_dependency 'rubocop', '~> 0.49'
49
+ spec.add_development_dependency 'reek', '~> 4.7'
50
+ spec.add_development_dependency 'rubycritic', '~> 3.4'
51
+ spec.add_development_dependency 'yard', '~> 0.9'
52
+ spec.add_development_dependency 'redcarpet', '~> 3.4'
53
+ spec.add_development_dependency 'github-markup', '~> 1.6'
54
+ end