plate_api 1.1.3 → 1.2.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 12543bd75be711cc9504fc30e5b0508b2df7b747fa747dc3cc9734bd1256680f
4
- data.tar.gz: 61a3bd8e84449f85d3267148af9df1e266ec4a42715b067c2e23edc8b9803934
3
+ metadata.gz: c4adf706bf694ce9826fd9ed0e2b6a5376038cb7efd99167bebddee74bf2ff2b
4
+ data.tar.gz: a90b502c510ca13f87e464ba026ab53ad16737f77ad6954d23b075afcfbc0bea
5
5
  SHA512:
6
- metadata.gz: 6619d24f19edda24a7bef15a6fc7afb6d55c9c41e07f19127b875e394a6adb4741ab42a9b8144c7872e98343b158c0d97b9d1412fe4d6301684079f3e14aacab
7
- data.tar.gz: c45aea052a41bcd8286670e68e535b3c84813ec411ea8577e9343eefff667d4d1cdebe8e32f9027156753a84b2f3118bed7f9dda016cdb95e2b492e6e337eecb
6
+ metadata.gz: a84c77342116a513c6e8f16b62b9059ef069afe29910d7e5aa74abfc14e94da3328f1f80a31c4633ff9320c4e454dd81e63e48a0c29919664636af92e5ebdd1d
7
+ data.tar.gz: b0a78eab66e3da0a6e0b7350c80bb624f35b01e56bdd703b63997404a2e929282155acd9b5d2c86ba1d9d5d06909a04c44286dafb050c7b6d57921dd96790546
@@ -1,4 +1,9 @@
1
1
  c
2
+ MimeMagic.by_path(@full_path)
3
+ MimemMagic.by_path(@full_path)
4
+ @file
5
+ @full_path
6
+ c
2
7
  attributes
3
8
  m
4
9
  c
data/Gemfile CHANGED
@@ -1,6 +1,5 @@
1
- source "https://rubygems.org"
1
+ # frozen_string_literal: true
2
2
 
3
- # git_source(:github) {|repo_name| "https://github.com/#{repo_name}" }
3
+ source "https://rubygems.org"
4
4
 
5
- # Specify your gem's dependencies in plate_api.gemspec
6
- gemspec
5
+ gemspec
@@ -1,88 +1,87 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- plate_api (1.1.3)
5
- faraday (~> 0.15.4)
6
- faraday_middleware (~> 0.13.1)
4
+ plate_api (1.2.0)
5
+ faraday (~> 1.0.1)
7
6
  mimemagic (~> 0.3.3)
8
7
 
9
8
  GEM
10
9
  remote: https://rubygems.org/
11
10
  specs:
12
- activesupport (5.2.2)
11
+ activesupport (6.0.3.1)
13
12
  concurrent-ruby (~> 1.0, >= 1.0.2)
14
13
  i18n (>= 0.7, < 2)
15
14
  minitest (~> 5.1)
16
15
  tzinfo (~> 1.1)
17
- addressable (2.6.0)
18
- public_suffix (>= 2.0.2, < 4.0)
16
+ zeitwerk (~> 2.2, >= 2.2.2)
17
+ addressable (2.7.0)
18
+ public_suffix (>= 2.0.2, < 5.0)
19
19
  ansi (1.5.0)
20
- byebug (11.0.0)
21
- concurrent-ruby (1.1.4)
20
+ byebug (11.1.3)
21
+ concurrent-ruby (1.1.6)
22
22
  crack (0.4.3)
23
23
  safe_yaml (~> 1.0.0)
24
24
  diff-lcs (1.3)
25
- docile (1.3.1)
26
- factory_bot (5.0.1)
25
+ docile (1.3.2)
26
+ factory_bot (5.0.2)
27
27
  activesupport (>= 4.2.0)
28
- faraday (0.15.4)
28
+ faraday (1.0.1)
29
29
  multipart-post (>= 1.2, < 3)
30
- faraday_middleware (0.13.1)
31
- faraday (>= 0.7.4, < 1.0)
32
- hashdiff (0.3.8)
33
- hirb (0.7.3)
34
- i18n (1.5.3)
30
+ hashdiff (1.0.1)
31
+ i18n (1.8.2)
35
32
  concurrent-ruby (~> 1.0)
36
- json (2.1.0)
37
- mimemagic (0.3.3)
38
- minitest (5.11.3)
33
+ mimemagic (0.3.5)
34
+ minitest (5.14.1)
39
35
  multipart-post (2.1.1)
40
- public_suffix (3.0.3)
41
- rake (10.5.0)
42
- rspec (3.8.0)
43
- rspec-core (~> 3.8.0)
44
- rspec-expectations (~> 3.8.0)
45
- rspec-mocks (~> 3.8.0)
46
- rspec-core (3.8.0)
47
- rspec-support (~> 3.8.0)
48
- rspec-expectations (3.8.2)
36
+ public_suffix (4.0.5)
37
+ rake (13.0.1)
38
+ rspec (3.9.0)
39
+ rspec-core (~> 3.9.0)
40
+ rspec-expectations (~> 3.9.0)
41
+ rspec-mocks (~> 3.9.0)
42
+ rspec-core (3.9.2)
43
+ rspec-support (~> 3.9.3)
44
+ rspec-expectations (3.9.2)
49
45
  diff-lcs (>= 1.2.0, < 2.0)
50
- rspec-support (~> 3.8.0)
51
- rspec-mocks (3.8.0)
46
+ rspec-support (~> 3.9.0)
47
+ rspec-mocks (3.9.1)
52
48
  diff-lcs (>= 1.2.0, < 2.0)
53
- rspec-support (~> 3.8.0)
54
- rspec-support (3.8.0)
49
+ rspec-support (~> 3.9.0)
50
+ rspec-support (3.9.3)
55
51
  safe_yaml (1.0.5)
56
- simplecov (0.16.1)
52
+ simplecov (0.18.5)
57
53
  docile (~> 1.1)
58
- json (>= 1.8, < 3)
59
- simplecov-html (~> 0.10.0)
60
- simplecov-console (0.4.2)
54
+ simplecov-html (~> 0.11)
55
+ simplecov-console (0.7.2)
61
56
  ansi
62
- hirb
63
57
  simplecov
64
- simplecov-html (0.10.2)
58
+ terminal-table
59
+ simplecov-html (0.12.2)
60
+ terminal-table (1.8.0)
61
+ unicode-display_width (~> 1.1, >= 1.1.1)
65
62
  thread_safe (0.3.6)
66
- tzinfo (1.2.5)
63
+ tzinfo (1.2.7)
67
64
  thread_safe (~> 0.1)
68
- webmock (3.5.1)
65
+ unicode-display_width (1.7.0)
66
+ webmock (3.8.3)
69
67
  addressable (>= 2.3.6)
70
68
  crack (>= 0.3.2)
71
- hashdiff
69
+ hashdiff (>= 0.4.0, < 2.0.0)
70
+ zeitwerk (2.3.0)
72
71
 
73
72
  PLATFORMS
74
73
  ruby
75
74
 
76
75
  DEPENDENCIES
77
- bundler (~> 1.16)
76
+ bundler (~> 2.1.4)
78
77
  byebug
79
78
  factory_bot (~> 5.0.1)
80
79
  plate_api!
81
- rake (~> 10.0)
80
+ rake (~> 13.0)
82
81
  rspec (~> 3.0)
83
82
  simplecov
84
83
  simplecov-console
85
84
  webmock (~> 3.0)
86
85
 
87
86
  BUNDLED WITH
88
- 1.16.1
87
+ 2.1.4
@@ -9,10 +9,11 @@ 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
13
 
13
14
 
14
15
  module PlateApi
15
- def self.new(public_key, private_key)
16
+ def self.new(public_key, secret_key)
16
17
  PlateApi::Connector.new(public_key, secret_key)
17
18
  end
18
19
  end
@@ -44,6 +44,7 @@ module PlateApi
44
44
  rows: PlateApi::PlateObject::Row,
45
45
  columns: PlateApi::PlateObject::Column,
46
46
  elements: PlateApi::PlateObject::Element,
47
+ content_objects: PlateApi::PlateObject::ContentObject,
47
48
  attachments: PlateApi::PlateObject::Attachment
48
49
  }
49
50
  end
@@ -0,0 +1,5 @@
1
+ module Error
2
+ class Response < StandardError
3
+
4
+ end
5
+ end
@@ -5,39 +5,37 @@ module PlateApi
5
5
  attr_reader :handling_class
6
6
 
7
7
  def initialize(handling_class, api_connector)
8
- raise ArgumentError.new("`handling_class` given for #new is not valid") unless handling_class
9
- raise ArgumentError.new("`api_connector` given for #new is not valid") unless api_connector
8
+ raise ArgumentError, "`handling_class` given for #new is not valid" unless handling_class
9
+ raise ArgumentError, "`api_connector` given for #new is not valid" unless api_connector
10
10
  @handling_class = handling_class
11
11
  @api_connector = api_connector
12
12
  end
13
13
 
14
14
  def find(id)
15
- raise ArgumentError.new("`id` given for #find is not valid") unless id
15
+ raise ArgumentError, "`id` given for #find is not valid" unless id
16
16
  result = @api_connector.get(resource_path(id))
17
17
  if result["data"]
18
18
  return new_object(result["data"])
19
19
  else
20
- puts "PlateApi: No success: #{result}"
21
- return nil
20
+ raise Error::Response, result
22
21
  end
23
22
  end
24
23
 
25
24
  def update(id, attributes)
26
- raise ArgumentError.new("`id` given for #update is not valid") unless id
27
- raise ArgumentError.new("`attributes` given for #update is not valid") unless attributes.is_a? Hash
25
+ 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
28
27
  result = @api_connector.put(resource_path(id), {"data" => attributes})
29
28
 
30
29
  if result["data"]
31
30
  return new_object(result["data"])
32
31
  else
33
- puts "PlateApi: No success: #{result}"
34
- return nil
32
+ raise Error::Response, result
35
33
  end
36
34
  end
37
35
 
38
36
  def create(parent, attributes, create_method=:post)
39
- raise ArgumentError.new("`parent` given for #create is not valid") unless parent
40
- raise ArgumentError.new("`attributes` given for #create is not valid") unless attributes.is_a? Hash
37
+ 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
39
  parameters = case create_method
42
40
  when :post
43
41
  {"data" => attributes}
@@ -50,32 +48,29 @@ module PlateApi
50
48
  if result["data"]
51
49
  return new_object(result["data"])
52
50
  else
53
- puts "PlateApi: No success: #{result}"
54
- return nil
51
+ raise Error::Response, result
55
52
  end
56
53
  end
57
54
 
58
55
  def delete(id)
59
- raise ArgumentError.new("`id` given for #find is not valid") unless id
56
+ raise ArgumentError, "`id` given for #find is not valid" unless id
60
57
  result = @api_connector.delete(resource_path(id))
61
58
  if result["data"]
62
59
  return new_object(result["data"])
63
60
  else
64
- puts "PlateApi: No success: #{result}"
65
- return nil
61
+ raise Error::Response, result
66
62
  end
67
63
  end
68
64
 
69
65
  def index(parent_class, parent_id, extra_params={})
70
- raise ArgumentError.new("`parent_id` given for #index is not valid") unless parent_id
71
- raise ArgumentError.new("`parent_class` given for #index is not valid") unless parent_class
66
+ raise ArgumentError, "`parent_id` given for #index is not valid" unless parent_id
67
+ raise ArgumentError, "`parent_class` given for #index is not valid" unless parent_class
72
68
 
73
69
  result = @api_connector.get(collection_path(parent_class, parent_id), extra_params)
74
70
  if result["data"]
75
71
  return result["data"].map{|x| new_object(x)}
76
72
  else
77
- puts "PlateApi: No success: #{result}"
78
- return nil
73
+ raise Error::Response, result
79
74
  end
80
75
  end
81
76
 
@@ -84,8 +79,7 @@ module PlateApi
84
79
  if result["meta"]
85
80
  return result["meta"]["pagination"]["total_records"]
86
81
  else
87
- puts "PlateApi: No success: #{result}"
88
- return nil
82
+ raise Error::Response, result
89
83
  end
90
84
  end
91
85
 
@@ -107,7 +101,7 @@ module PlateApi
107
101
 
108
102
  def collection_path(parent_class=nil, parent_id=nil)
109
103
  if (parent_class != nil) ^ (parent_id != nil)
110
- raise ArgumentError.new("An invalid combination `parent_class` and `parent_id` is given. Provide both or none.")
104
+ raise ArgumentError, "An invalid combination `parent_class` and `parent_id` is given. Provide both or none."
111
105
  end
112
106
 
113
107
  if parent_class
@@ -0,0 +1,15 @@
1
+ module PlateApi::PlateObject
2
+ class ContentObject < Base
3
+
4
+ has_one :site_translation, "PlateApi::PlateObject::SiteTranslation"
5
+
6
+ def self.api_name
7
+ "content_objects"
8
+ end
9
+
10
+ def self.parent_class
11
+ SiteTranslation
12
+ end
13
+
14
+ end
15
+ end
@@ -2,6 +2,7 @@ module PlateApi::PlateObject
2
2
  class Partner < Base
3
3
 
4
4
  has_many :companies, :company, "PlateApi::PlateObject::Company"
5
+ has_many :sites, :site, "PlateApi::PlateObject::Site"
5
6
 
6
7
  def self.api_name
7
8
  "partners"
@@ -9,6 +9,7 @@ module PlateApi::PlateObject
9
9
  has_many :rows, :row, "PlateApi::PlateObject::Row"
10
10
  has_many :columns, :column, "PlateApi::PlateObject::Column"
11
11
  has_many :elements, :element, "PlateApi::PlateObject::Element"
12
+ has_many :content_objects, :content_object, "PlateApi::PlateObject::ContentObject"
12
13
  has_many :attachment_folders, :attachment_folder, "PlateApi::PlateObject::AttachmentFolder"
13
14
  has_many :attachments, :attachment, "PlateApi::PlateObject::Attachment"
14
15
 
@@ -7,6 +7,7 @@ module PlateApi::PlateObject
7
7
  has_many :rows, :row, "PlateApi::PlateObject::Row"
8
8
  has_many :columns, :column, "PlateApi::PlateObject::Column"
9
9
  has_many :elements, :element, "PlateApi::PlateObject::Element"
10
+ has_many :content_objects, :content_object, "PlateApi::PlateObject::ContentObject"
10
11
 
11
12
  def self.api_name
12
13
  "site_translations"
@@ -3,6 +3,7 @@ require 'mimemagic'
3
3
  module PlateApi
4
4
  class PostMultipartRequest < Request
5
5
  HttpAdapter = :net_http
6
+ MimeMagic.add('image/jpeg', extensions: "jfif")
6
7
 
7
8
  def initialize(public_key, secret, path, parameters={}, custom_server=nil)
8
9
  super(public_key, secret, "POST", path, custom_server)
@@ -1,5 +1,5 @@
1
1
  require "faraday"
2
- require 'faraday_middleware'
2
+ # require 'faraday_middleware'
3
3
  require 'time'
4
4
  require "base64"
5
5
  require "openssl"
@@ -1,3 +1,3 @@
1
1
  module PlateApi
2
- VERSION = "1.1.3"
2
+ VERSION = "1.2.0"
3
3
  end
@@ -8,11 +8,11 @@ Gem::Specification.new do |spec|
8
8
  spec.version = PlateApi::VERSION
9
9
  spec.date = '2019-01-05'
10
10
  spec.summary = "Connector for the Plate API"
11
- spec.description = "This gem can be used to connect to the Plate API. It takes care
11
+ spec.description = "This gem can be used to connect to the Plate API. It takes care
12
12
  of the authentication procedure. It also provides a basic wrapper around the Plate API,
13
13
  so objects in Plate can be manipulated as local objects."
14
- spec.authors = ["David Kortleven"]
15
- spec.email = 'david@getplate.com'
14
+ spec.authors = ["David Kortleven", "Harmen Fuite"]
15
+ spec.email = ['david@getplate.com', 'harmen@getplate.com']
16
16
  spec.files = ["lib/plate_api.rb"]
17
17
  spec.license = 'MIT'
18
18
 
@@ -32,12 +32,12 @@ Gem::Specification.new do |spec|
32
32
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
33
33
  spec.require_paths = ["lib"]
34
34
 
35
- spec.add_dependency "faraday", "~> 0.15.4"
36
- spec.add_dependency "faraday_middleware", "~> 0.13.1"
35
+ spec.add_dependency "faraday", "~> 1.0.1"
36
+ # spec.add_dependency "faraday_middleware", "~> 0.13.1"
37
37
  spec.add_dependency "mimemagic", "~> 0.3.3"
38
38
 
39
- spec.add_development_dependency "bundler", "~> 1.16"
40
- spec.add_development_dependency "rake", "~> 10.0"
39
+ spec.add_development_dependency "bundler", "~> 2.1.4"
40
+ spec.add_development_dependency "rake", "~> 13.0"
41
41
  spec.add_development_dependency "rspec", "~> 3.0"
42
42
  spec.add_development_dependency "webmock", "~> 3.0"
43
43
  spec.add_development_dependency "factory_bot", "~> 5.0.1"
metadata CHANGED
@@ -1,10 +1,11 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: plate_api
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.3
4
+ version: 1.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Kortleven
8
+ - Harmen Fuite
8
9
  autorequire:
9
10
  bindir: exe
10
11
  cert_chain: []
@@ -16,28 +17,14 @@ dependencies:
16
17
  requirements:
17
18
  - - "~>"
18
19
  - !ruby/object:Gem::Version
19
- version: 0.15.4
20
+ version: 1.0.1
20
21
  type: :runtime
21
22
  prerelease: false
22
23
  version_requirements: !ruby/object:Gem::Requirement
23
24
  requirements:
24
25
  - - "~>"
25
26
  - !ruby/object:Gem::Version
26
- version: 0.15.4
27
- - !ruby/object:Gem::Dependency
28
- name: faraday_middleware
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - "~>"
32
- - !ruby/object:Gem::Version
33
- version: 0.13.1
34
- type: :runtime
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - "~>"
39
- - !ruby/object:Gem::Version
40
- version: 0.13.1
27
+ version: 1.0.1
41
28
  - !ruby/object:Gem::Dependency
42
29
  name: mimemagic
43
30
  requirement: !ruby/object:Gem::Requirement
@@ -58,28 +45,28 @@ dependencies:
58
45
  requirements:
59
46
  - - "~>"
60
47
  - !ruby/object:Gem::Version
61
- version: '1.16'
48
+ version: 2.1.4
62
49
  type: :development
63
50
  prerelease: false
64
51
  version_requirements: !ruby/object:Gem::Requirement
65
52
  requirements:
66
53
  - - "~>"
67
54
  - !ruby/object:Gem::Version
68
- version: '1.16'
55
+ version: 2.1.4
69
56
  - !ruby/object:Gem::Dependency
70
57
  name: rake
71
58
  requirement: !ruby/object:Gem::Requirement
72
59
  requirements:
73
60
  - - "~>"
74
61
  - !ruby/object:Gem::Version
75
- version: '10.0'
62
+ version: '13.0'
76
63
  type: :development
77
64
  prerelease: false
78
65
  version_requirements: !ruby/object:Gem::Requirement
79
66
  requirements:
80
67
  - - "~>"
81
68
  - !ruby/object:Gem::Version
82
- version: '10.0'
69
+ version: '13.0'
83
70
  - !ruby/object:Gem::Dependency
84
71
  name: rspec
85
72
  requirement: !ruby/object:Gem::Requirement
@@ -164,11 +151,12 @@ dependencies:
164
151
  - - ">="
165
152
  - !ruby/object:Gem::Version
166
153
  version: '0'
167
- description: |-
168
- This gem can be used to connect to the Plate API. It takes care
169
- of the authentication procedure. It also provides a basic wrapper around the Plate API,
170
- so objects in Plate can be manipulated as local objects.
171
- email: david@getplate.com
154
+ description: "This gem can be used to connect to the Plate API. It takes care \n of
155
+ the authentication procedure. It also provides a basic wrapper around the Plate
156
+ API,\n so objects in Plate can be manipulated as local objects."
157
+ email:
158
+ - david@getplate.com
159
+ - harmen@getplate.com
172
160
  executables: []
173
161
  extensions: []
174
162
  extra_rdoc_files: []
@@ -187,6 +175,7 @@ files:
187
175
  - lib/plate_api.rb
188
176
  - lib/plate_api/connector.rb
189
177
  - lib/plate_api/delete_request.rb
178
+ - lib/plate_api/error.rb
190
179
  - lib/plate_api/get_request.rb
191
180
  - lib/plate_api/object_handler.rb
192
181
  - lib/plate_api/plate_object/attachment.rb
@@ -194,6 +183,7 @@ files:
194
183
  - lib/plate_api/plate_object/base.rb
195
184
  - lib/plate_api/plate_object/column.rb
196
185
  - lib/plate_api/plate_object/company.rb
186
+ - lib/plate_api/plate_object/content_object.rb
197
187
  - lib/plate_api/plate_object/element.rb
198
188
  - lib/plate_api/plate_object/partner.rb
199
189
  - lib/plate_api/plate_object/post.rb
@@ -228,8 +218,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
228
218
  - !ruby/object:Gem::Version
229
219
  version: '0'
230
220
  requirements: []
231
- rubyforge_project:
232
- rubygems_version: 2.7.6
221
+ rubygems_version: 3.1.2
233
222
  signing_key:
234
223
  specification_version: 4
235
224
  summary: Connector for the Plate API