plate_api 1.2.0 → 1.2.6

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c4adf706bf694ce9826fd9ed0e2b6a5376038cb7efd99167bebddee74bf2ff2b
4
- data.tar.gz: a90b502c510ca13f87e464ba026ab53ad16737f77ad6954d23b075afcfbc0bea
3
+ metadata.gz: 4d7353c1eddabde505f9f31f8f0f3939b439a0988d7e758357370a7b49c43e7b
4
+ data.tar.gz: 5e21a75f33de4346ec8da239d568ec3434b370d1515b1d5bd8b5b3922695937e
5
5
  SHA512:
6
- metadata.gz: a84c77342116a513c6e8f16b62b9059ef069afe29910d7e5aa74abfc14e94da3328f1f80a31c4633ff9320c4e454dd81e63e48a0c29919664636af92e5ebdd1d
7
- data.tar.gz: b0a78eab66e3da0a6e0b7350c80bb624f35b01e56bdd703b63997404a2e929282155acd9b5d2c86ba1d9d5d06909a04c44286dafb050c7b6d57921dd96790546
6
+ metadata.gz: b530d2fa2aff8acf661d333dd6559dc3d8974af6bcc50d19f770ebf603af12b7e193e74e575693d48d0ccf56f046ecc3730b48e99609dd17e06d300a34b1c5c9
7
+ data.tar.gz: 98c2873014f3aedfb12aeb889e7647a931449aef26a81a07eebb8a2c75c6c14fe63e0686cdc80f21a8e4a9102d0c6286b0d7ec72509dd45c0474e51b2632803d
data/.travis.yml CHANGED
@@ -6,7 +6,7 @@ sudo: false
6
6
  language: ruby
7
7
  rvm:
8
8
  - 2.5.1
9
- before_install: gem install bundler -v 1.16.1
9
+ before_install: gem install bundler -v 2.1.4
10
10
  before_script:
11
11
  - curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 > ./cc-test-reporter
12
12
  - chmod +x ./cc-test-reporter
data/Dockerfile ADDED
@@ -0,0 +1,6 @@
1
+ FROM ruby:2.7
2
+
3
+ RUN mkdir /plate_api
4
+ WORKDIR /plate_api
5
+ COPY . /plate_api
6
+ RUN bin/setup
data/Gemfile.lock CHANGED
@@ -1,9 +1,9 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- plate_api (1.2.0)
4
+ plate_api (1.2.5)
5
5
  faraday (~> 1.0.1)
6
- mimemagic (~> 0.3.3)
6
+ mime-types (~> 3.3.1)
7
7
 
8
8
  GEM
9
9
  remote: https://rubygems.org/
@@ -30,7 +30,9 @@ GEM
30
30
  hashdiff (1.0.1)
31
31
  i18n (1.8.2)
32
32
  concurrent-ruby (~> 1.0)
33
- mimemagic (0.3.5)
33
+ mime-types (3.3.1)
34
+ mime-types-data (~> 3.2015)
35
+ mime-types-data (3.2021.1115)
34
36
  minitest (5.14.1)
35
37
  multipart-post (2.1.1)
36
38
  public_suffix (4.0.5)
data/README.md CHANGED
@@ -145,6 +145,12 @@ After checking out the repo, run `bin/setup` to install dependencies. Then, run
145
145
 
146
146
  To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
147
147
 
148
+ ## Run Specs with Docker
149
+ ```bash
150
+ docker build -t plate_api_gem .
151
+ docker run --rm -v $(pwd):/plate_api -it plate_api_gem rspec
152
+ ```
153
+
148
154
  ## License
149
155
 
150
156
  The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
@@ -7,38 +7,42 @@ module PlateApi
7
7
  def initialize(handling_class, api_connector)
8
8
  raise ArgumentError, "`handling_class` given for #new is not valid" unless handling_class
9
9
  raise ArgumentError, "`api_connector` given for #new is not valid" unless api_connector
10
+
10
11
  @handling_class = handling_class
11
12
  @api_connector = api_connector
12
13
  end
13
14
 
14
15
  def find(id)
15
16
  raise ArgumentError, "`id` given for #find is not valid" unless id
17
+
16
18
  result = @api_connector.get(resource_path(id))
17
19
  if result["data"]
18
- return new_object(result["data"])
20
+ new_object(result["data"])
19
21
  else
20
- raise Error::Response, result
22
+ raise ResponseError, result
21
23
  end
22
24
  end
23
25
 
24
26
  def update(id, attributes)
25
27
  raise ArgumentError, "`id` given for #update is not valid" unless id
26
- raise ArgumentError, "`attributes` given for #update is not valid" unless attributes.is_a? Hash
27
- result = @api_connector.put(resource_path(id), {"data" => attributes})
28
+ raise ArgumentError, "`attributes` given for #update is not valid" unless attributes.is_a?(Hash)
29
+
30
+ result = @api_connector.put(resource_path(id), { "data" => attributes })
28
31
 
29
32
  if result["data"]
30
- return new_object(result["data"])
33
+ new_object(result["data"])
31
34
  else
32
- raise Error::Response, result
35
+ raise ResponseError, result
33
36
  end
34
37
  end
35
38
 
36
- def create(parent, attributes, create_method=:post)
39
+ def create(parent, attributes, create_method = :post)
37
40
  raise ArgumentError, "`parent` given for #create is not valid" unless parent
38
- raise ArgumentError, "`attributes` given for #create is not valid" unless attributes.is_a? Hash
41
+ raise ArgumentError, "`attributes` given for #create is not valid" unless attributes.is_a?(Hash)
42
+
39
43
  parameters = case create_method
40
44
  when :post
41
- {"data" => attributes}
45
+ { "data" => attributes }
42
46
  when :post_multipart
43
47
  attributes
44
48
  end
@@ -46,45 +50,70 @@ module PlateApi
46
50
  result = @api_connector.send(create_method, collection_path(parent.class, parent.id), parameters)
47
51
 
48
52
  if result["data"]
49
- return new_object(result["data"])
53
+ new_object(result["data"])
50
54
  else
51
- raise Error::Response, result
55
+ raise ResponseError, result
52
56
  end
53
57
  end
54
58
 
55
59
  def delete(id)
56
60
  raise ArgumentError, "`id` given for #find is not valid" unless id
61
+
57
62
  result = @api_connector.delete(resource_path(id))
58
63
  if result["data"]
59
- return new_object(result["data"])
64
+ new_object(result["data"])
60
65
  else
61
- raise Error::Response, result
66
+ raise ResponseError, result
62
67
  end
63
68
  end
64
69
 
65
- def index(parent_class, parent_id, extra_params={})
70
+ def index(parent_class, parent_id, extra_params = {}, return_raw = false)
66
71
  raise ArgumentError, "`parent_id` given for #index is not valid" unless parent_id
67
72
  raise ArgumentError, "`parent_class` given for #index is not valid" unless parent_class
68
73
 
69
74
  result = @api_connector.get(collection_path(parent_class, parent_id), extra_params)
70
- if result["data"]
71
- return result["data"].map{|x| new_object(x)}
72
- else
73
- raise Error::Response, result
75
+ raise ResponseError, result unless result["data"]
76
+ return result if return_raw
77
+
78
+ result["data"].map { |x| new_object(x) }
79
+ end
80
+
81
+ def index_block(parent_class, parent_id, extra_params = {}, &block)
82
+ extra_params[:page] = extra_params.delete("page") if extra_params["page"]
83
+ extra_params[:page] = 1 unless extra_params[:page]
84
+
85
+ pagination = index_block_iteration(parent_class, parent_id, extra_params, &block)
86
+ return unless pagination
87
+
88
+ while pagination["page"] < pagination["total_pages"]
89
+ extra_params.merge!(page: (pagination["page"] + 1))
90
+ pagination = index_block_iteration(parent_class, parent_id, extra_params, &block)
91
+ break unless pagination
74
92
  end
75
93
  end
76
94
 
77
95
  def index_total_count(parent)
78
96
  result = @api_connector.get(collection_path(parent.class, parent.id), per_page: 1)
79
97
  if result["meta"]
80
- return result["meta"]["pagination"]["total_records"]
98
+ result["meta"]["pagination"]["total_records"]
81
99
  else
82
- raise Error::Response, result
100
+ raise ResponseError, result
83
101
  end
84
102
  end
85
103
 
86
104
  private
87
105
 
106
+ def index_block_iteration(parent_class, parent_id, params)
107
+ result = index(parent_class, parent_id, params, true)
108
+ objects = result["data"].map { |x| new_object(x) }
109
+ meta = result["meta"]
110
+ yield(objects, meta)
111
+
112
+ # Returns pagination metadata so it can be used to
113
+ # iterate through the pages.
114
+ meta["pagination"] if meta
115
+ end
116
+
88
117
  # Construct a new object of @handling_class, given a succesful api_response
89
118
  def new_object(api_response)
90
119
  @handling_class.new(
@@ -99,15 +128,15 @@ module PlateApi
99
128
  "#{@handling_class.api_name}/#{id}"
100
129
  end
101
130
 
102
- def collection_path(parent_class=nil, parent_id=nil)
103
- if (parent_class != nil) ^ (parent_id != nil)
131
+ def collection_path(parent_class = nil, parent_id = nil)
132
+ if (!parent_class.nil?) ^ (!parent_id.nil?)
104
133
  raise ArgumentError, "An invalid combination `parent_class` and `parent_id` is given. Provide both or none."
105
134
  end
106
135
 
107
136
  if parent_class
108
137
  "#{parent_class.api_name}/#{parent_id}/#{@handling_class.api_name}"
109
138
  else
110
- "#{@handling_class.api_name}"
139
+ @handling_class.api_name.to_s
111
140
  end
112
141
  end
113
142
  end
@@ -6,7 +6,7 @@ module PlateApi::PlateObject
6
6
  HasOneRelations = {}
7
7
  HasManyRelations = {}
8
8
 
9
- def initialize(id, attributes, relations, object_handler=nil)
9
+ def initialize(id, attributes, relations, object_handler = nil)
10
10
  @id = id
11
11
  @object_handler = object_handler
12
12
  initialize_state(attributes, relations)
@@ -17,24 +17,27 @@ module PlateApi::PlateObject
17
17
  end
18
18
 
19
19
  def reload
20
- raise ArgumentError.new("No object_handler is set.") unless @object_handler
20
+ raise ArgumentError, "No object_handler is set." unless @object_handler
21
+
21
22
  reinitialize(@object_handler.find(@id))
22
- return self
23
+ self
23
24
  end
24
25
 
25
26
  def update(attributes)
26
- raise ArgumentError.new("Input `attributes` is not a Hash") unless attributes.is_a? Hash
27
- raise ArgumentError.new("No object_handler is attached to this object") unless @object_handler
27
+ raise ArgumentError, "Input `attributes` is not a Hash" unless attributes.is_a?(Hash)
28
+ raise ArgumentError, "No object_handler is attached to this object" unless @object_handler
29
+
28
30
  if new_object = @object_handler.update(@id, attributes)
29
31
  reinitialize(new_object)
30
32
  else
31
- raise ArgumentError.new("The update was unsuccesful.")
33
+ raise ArgumentError, "The update was unsuccesful."
32
34
  end
33
- return self
35
+ self
34
36
  end
35
37
 
36
38
  def delete
37
- raise ArgumentError.new("No object_handler is attached to this object") unless @object_handler
39
+ raise ArgumentError, "No object_handler is attached to this object" unless @object_handler
40
+
38
41
  @object_handler.delete(@id)
39
42
  end
40
43
 
@@ -46,18 +49,25 @@ module PlateApi::PlateObject
46
49
  to_s
47
50
  end
48
51
 
49
- def method_missing(m, *args, &block)
50
- if attributes[m.to_s]
51
- return attributes[m.to_s]
52
- elsif attributes["content"] && attributes["content"][m.to_s]
53
- return attributes["content"][m.to_s]["value"]
52
+ def method_missing(method_name, *args, &block)
53
+ if attributes[method_name.to_s]
54
+ attributes[method_name.to_s]
55
+ elsif attributes["content"] && attributes["content"][method_name.to_s]
56
+ attributes["content"][method_name.to_s]["value"]
54
57
  else
55
58
  super
56
59
  end
57
60
  end
58
61
 
62
+ def respond_to_missing?(method_name, include_private = false)
63
+ return true if attributes[method_name.to_s]
64
+ return true if attributes["content"] && attributes["content"][method_name.to_s]
65
+
66
+ super
67
+ end
68
+
59
69
  def ==(other)
60
- return other.id == @id && other.class == self.class
70
+ other.id == @id && other.class == self.class
61
71
  end
62
72
 
63
73
  private
@@ -72,56 +82,68 @@ module PlateApi::PlateObject
72
82
  @relations = relations
73
83
  end
74
84
 
75
- def self.has_one(name, klass)
76
- HasOneRelations[self.name] ||= {}
77
- self.attr_accessor "#{name}_id"
78
- HasOneRelations[self.name][name.to_s] = klass
79
- define_has_one_method(name, klass)
80
- end
85
+ def set_relation_ids(relations_attributes)
86
+ HasOneRelations[self.class.name] ||= {}
81
87
 
82
- def self.define_has_one_method(name, klass)
83
- define_method(name.to_s) do
84
- id = self.send("#{name}_id")
85
- return nil unless id
86
- @object_handler.api_connector.handler(Object.const_get(klass)).find(id)
88
+ return unless relations_attributes
89
+
90
+ self.class::HasOneRelations[self.class.name].keys.each do |relation_name|
91
+ val = relations_attributes["#{relation_name}_id"]
92
+ if val
93
+ send("#{relation_name}_id=", val)
94
+ end
87
95
  end
88
96
  end
89
97
 
90
- def self.has_many(plural_name, singular_name, klass, define_create_method=false)
91
- HasManyRelations[self.name] ||= {}
92
- HasManyRelations[self.name][plural_name.to_s] = klass
93
- define_has_many_methods(plural_name, klass)
94
- define_create_method(singular_name, klass) if define_create_method
95
- end
98
+ class << self
99
+ private
96
100
 
97
- def self.define_has_many_methods(plural_name, klass)
98
- define_method(plural_name.to_s) do |params={}|
99
- @object_handler.api_connector.handler(
100
- Object.const_get(klass)
101
- ).index(self.class, @id, params)
101
+ def has_one(name, klass)
102
+ HasOneRelations[self.name] ||= {}
103
+ attr_accessor("#{name}_id")
104
+ HasOneRelations[self.name][name.to_s] = klass
105
+ define_has_one_method(name, klass)
102
106
  end
103
107
 
104
- define_method("#{plural_name}_total_count") do
105
- @object_handler.api_connector.handler(
106
- Object.const_get(klass)
107
- ).index_total_count(self)
108
+ def define_has_one_method(name, klass)
109
+ define_method(name.to_s) do
110
+ id = send("#{name}_id")
111
+ return nil unless id
112
+
113
+ @object_handler.api_connector.handler(Object.const_get(klass)).find(id)
114
+ end
108
115
  end
109
- end
110
116
 
111
- def self.define_create_method(singular_name, klass)
112
- define_method("create_#{singular_name}") do |create_attributes|
113
- @object_handler.api_connector.handler(Object.const_get(klass)).create(self, create_attributes)
117
+ def has_many(plural_name, singular_name, klass, define_create_method = false)
118
+ HasManyRelations[name] ||= {}
119
+ HasManyRelations[name][plural_name.to_s] = klass
120
+ define_has_many_methods(plural_name, klass)
121
+ define_create_method(singular_name, klass) if define_create_method
114
122
  end
115
- end
116
123
 
117
- def set_relation_ids(relations_attributes)
118
- HasOneRelations[self.class.name] ||= {}
124
+ def define_has_many_methods(plural_name, klass)
125
+ define_method(plural_name.to_s) do |params = {}|
126
+ @object_handler.api_connector.handler(
127
+ Object.const_get(klass)
128
+ ).index(self.class, @id, params)
129
+ end
119
130
 
120
- return unless relations_attributes
121
- self.class::HasOneRelations[self.class.name].keys.each do |relation_name|
122
- val = relations_attributes["#{relation_name}_id"]
123
- if val
124
- send("#{relation_name}_id=", val)
131
+ define_method("#{plural_name}_total_count") do
132
+ @object_handler.api_connector.handler(
133
+ Object.const_get(klass)
134
+ ).index_total_count(self)
135
+ end
136
+
137
+ define_method("all_#{plural_name}") do |params = {}, &block|
138
+ @object_handler.api_connector.handler(
139
+ Object.const_get(klass)
140
+ ).index_block(self.class, @id, params, &block)
141
+ end
142
+ end
143
+
144
+ def define_create_method(singular_name, klass)
145
+ define_method("create_#{singular_name}") do |create_attributes|
146
+ @object_handler.api_connector.handler(Object.const_get(klass)).create(self, create_attributes)
125
147
  end
126
148
  end
127
149
  end
@@ -1,11 +1,8 @@
1
- require 'mimemagic'
2
-
3
1
  module PlateApi
4
2
  class PostMultipartRequest < Request
5
3
  HttpAdapter = :net_http
6
- MimeMagic.add('image/jpeg', extensions: "jfif")
7
4
 
8
- def initialize(public_key, secret, path, parameters={}, custom_server=nil)
5
+ def initialize(public_key, secret, path, parameters = {}, custom_server = nil)
9
6
  super(public_key, secret, "POST", path, custom_server)
10
7
 
11
8
  @post_parameters = map_parameters(parameters)
@@ -13,19 +10,32 @@ module PlateApi
13
10
 
14
11
  def extra_builder_options(builder)
15
12
  builder.request :multipart
16
- builder.request :url_encoded
13
+ builder.request :url_encoded
17
14
  end
18
15
 
19
16
  def extra_request_options(request)
20
17
  request.body = @post_parameters
21
18
  end
22
19
 
20
+ def mime_type(full_path)
21
+ begin
22
+ IO.popen(["file", "--brief", "--mime-type", full_path], in: :close, err: :close) { |io| io.read.chomp }
23
+ rescue SystemCallError
24
+ # determine mime_type based on extension as a fallback, in case `file` is not installed on the client machine
25
+ mime_type_fallback(full_path)
26
+ end
27
+ end
28
+
29
+ def mime_type_fallback(full_path)
30
+ MIME::Types.type_for(full_path).first.content_type
31
+ end
32
+
23
33
  def map_parameters(parameters)
24
34
  parameters.keys.each do |key|
25
35
  val = parameters[key]
26
36
  if val.is_a? File
27
37
  full_path = File.expand_path(val)
28
- mime_type = MimeMagic.by_path(full_path).type
38
+ mime_type = mime_type(full_path)
29
39
  parameters[key] = Faraday::UploadIO.new(full_path, mime_type)
30
40
  end
31
41
  end
@@ -1,22 +1,22 @@
1
1
  require "faraday"
2
2
  # require 'faraday_middleware'
3
- require 'time'
3
+ require "time"
4
4
  require "base64"
5
5
  require "openssl"
6
6
  require "json"
7
-
7
+ require "mime-types"
8
8
 
9
9
  module PlateApi
10
10
  class Request
11
11
  DefaultApiBaseEndpoint = "https://www.startwithplate.com/api/v2"
12
12
  HttpAdapter = Faraday.default_adapter
13
13
 
14
- def initialize(public_key, secret, method, path, custom_server=nil)
14
+ def initialize(public_key, secret, method, path, custom_server = nil)
15
15
  base_api_endpoint = custom_server ? custom_server : DefaultApiBaseEndpoint
16
16
 
17
- @connection = ::Faraday.new(url: base_api_endpoint) do |faraday|
17
+ @connection = ::Faraday.new(url: base_api_endpoint, request: { timeout: 600 }) do |faraday|
18
18
  extra_builder_options(faraday)
19
- faraday.adapter HttpAdapter
19
+ faraday.adapter HttpAdapter
20
20
  end
21
21
 
22
22
  @public_key = public_key
@@ -25,20 +25,20 @@ module PlateApi
25
25
  @path = strip_path(path)
26
26
  end
27
27
 
28
- def execute(response_type=:raw)
28
+ def execute(response_type = :raw)
29
29
  response = @connection.send(@method.downcase) do |request|
30
30
  request.url url_path
31
- request.headers['Date'] = request_date
32
- request.headers['Authorization'] = calculate_signature
31
+ request.headers["Date"] = request_date
32
+ request.headers["Authorization"] = calculate_signature
33
33
  extra_request_options(request)
34
34
  end
35
35
 
36
36
  return case response_type
37
- when :raw
38
- return response.body
39
- when :json
40
- return JSON.parse(response.body)
41
- end
37
+ when :raw
38
+ return response.body
39
+ when :json
40
+ return JSON.parse(response.body)
41
+ end
42
42
  end
43
43
 
44
44
  def request_date
@@ -72,7 +72,7 @@ module PlateApi
72
72
  end
73
73
 
74
74
  def strip_path(path)
75
- path.gsub(/^\/|\/$/, '')
75
+ path.gsub(/^\/|\/$/, "")
76
76
  end
77
77
  end
78
78
  end
@@ -0,0 +1,5 @@
1
+ module PlateApi
2
+ class ResponseError < StandardError
3
+
4
+ end
5
+ end
@@ -1,3 +1,3 @@
1
1
  module PlateApi
2
- VERSION = "1.2.0"
2
+ VERSION = "1.2.6"
3
3
  end
data/lib/plate_api.rb CHANGED
@@ -9,7 +9,7 @@ require "plate_api/delete_request"
9
9
  require "plate_api/post_request"
10
10
  require "plate_api/post_multipart_request"
11
11
  require "plate_api/put_request"
12
- require "plate_api/error"
12
+ require "plate_api/response_error"
13
13
 
14
14
 
15
15
  module PlateApi
data/plate_api.gemspec CHANGED
@@ -1,20 +1,19 @@
1
-
2
1
  lib = File.expand_path("../lib", __FILE__)
3
2
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
3
  require "plate_api/version"
5
4
 
6
5
  Gem::Specification.new do |spec|
7
- spec.name = 'plate_api'
8
- spec.version = PlateApi::VERSION
9
- spec.date = '2019-01-05'
10
- spec.summary = "Connector for the Plate API"
6
+ spec.name = "plate_api"
7
+ spec.version = PlateApi::VERSION
8
+ spec.date = "2019-01-05"
9
+ spec.summary = "Connector for the Plate API"
11
10
  spec.description = "This gem can be used to connect to the Plate API. It takes care
12
11
  of the authentication procedure. It also provides a basic wrapper around the Plate API,
13
12
  so objects in Plate can be manipulated as local objects."
14
- spec.authors = ["David Kortleven", "Harmen Fuite"]
15
- spec.email = ['david@getplate.com', 'harmen@getplate.com']
16
- spec.files = ["lib/plate_api.rb"]
17
- spec.license = 'MIT'
13
+ spec.authors = ["David Kortleven", "Harmen Fuite"]
14
+ spec.email = ["david@getplate.com", "harmen@getplate.com"]
15
+ spec.files = ["lib/plate_api.rb"]
16
+ spec.license = "MIT"
18
17
 
19
18
  # Prevent pushing this gem to RubyGems.org. To allow pushes either set the 'allowed_push_host'
20
19
  # to allow pushing to a single host or delete this section to allow pushing to any host.
@@ -22,19 +21,20 @@ Gem::Specification.new do |spec|
22
21
  spec.metadata["allowed_push_host"] = "https://rubygems.org"
23
22
  else
24
23
  raise "RubyGems 2.0 or newer is required to protect against " \
25
- "public gem pushes."
24
+ "public gem pushes."
26
25
  end
27
26
 
28
- spec.files = `git ls-files -z`.split("\x0").reject do |f|
27
+ spec.files = `git ls-files -z`.split("\x0").reject do |f|
29
28
  f.match(%r{^(test|spec|features)/})
30
29
  end
31
- spec.bindir = "exe"
32
- spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
30
+ spec.bindir = "exe"
31
+ spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
33
32
  spec.require_paths = ["lib"]
34
33
 
35
34
  spec.add_dependency "faraday", "~> 1.0.1"
35
+ spec.add_dependency "mime-types", "~> 3.3.1"
36
36
  # spec.add_dependency "faraday_middleware", "~> 0.13.1"
37
- spec.add_dependency "mimemagic", "~> 0.3.3"
37
+ # spec.add_dependency "mimemagic", "~> 0.3.10"
38
38
 
39
39
  spec.add_development_dependency "bundler", "~> 2.1.4"
40
40
  spec.add_development_dependency "rake", "~> 13.0"
@@ -44,5 +44,4 @@ Gem::Specification.new do |spec|
44
44
  spec.add_development_dependency "simplecov"
45
45
  spec.add_development_dependency "simplecov-console"
46
46
  spec.add_development_dependency "byebug"
47
-
48
47
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: plate_api
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.0
4
+ version: 1.2.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Kortleven
@@ -26,19 +26,19 @@ dependencies:
26
26
  - !ruby/object:Gem::Version
27
27
  version: 1.0.1
28
28
  - !ruby/object:Gem::Dependency
29
- name: mimemagic
29
+ name: mime-types
30
30
  requirement: !ruby/object:Gem::Requirement
31
31
  requirements:
32
32
  - - "~>"
33
33
  - !ruby/object:Gem::Version
34
- version: 0.3.3
34
+ version: 3.3.1
35
35
  type: :runtime
36
36
  prerelease: false
37
37
  version_requirements: !ruby/object:Gem::Requirement
38
38
  requirements:
39
39
  - - "~>"
40
40
  - !ruby/object:Gem::Version
41
- version: 0.3.3
41
+ version: 3.3.1
42
42
  - !ruby/object:Gem::Dependency
43
43
  name: bundler
44
44
  requirement: !ruby/object:Gem::Requirement
@@ -165,6 +165,7 @@ files:
165
165
  - ".gitignore"
166
166
  - ".rspec"
167
167
  - ".travis.yml"
168
+ - Dockerfile
168
169
  - Gemfile
169
170
  - Gemfile.lock
170
171
  - LICENSE.txt
@@ -175,7 +176,6 @@ files:
175
176
  - lib/plate_api.rb
176
177
  - lib/plate_api/connector.rb
177
178
  - lib/plate_api/delete_request.rb
178
- - lib/plate_api/error.rb
179
179
  - lib/plate_api/get_request.rb
180
180
  - lib/plate_api/object_handler.rb
181
181
  - lib/plate_api/plate_object/attachment.rb
@@ -196,6 +196,7 @@ files:
196
196
  - lib/plate_api/post_request.rb
197
197
  - lib/plate_api/put_request.rb
198
198
  - lib/plate_api/request.rb
199
+ - lib/plate_api/response_error.rb
199
200
  - lib/plate_api/version.rb
200
201
  - plate_api.gemspec
201
202
  homepage:
@@ -1,5 +0,0 @@
1
- module Error
2
- class Response < StandardError
3
-
4
- end
5
- end