keytechkit 0.3.18 → 0.3.19

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: 64f139c04206b65c49a5d884521669668fa0d3fa1e3d25a551951290727ca34a
4
- data.tar.gz: 7f84363fa38b7df27c48a90293477ed318a2c70647e45a0efc14eea28fd31f93
3
+ metadata.gz: 37dbd8d478d6139c50e9d7d661e5e9787cc54ae063c22fe1531e5d4726fd6f16
4
+ data.tar.gz: 0f369ab4422ec2a3f7f166ac5aa3b830821d356f1561e04a2733a0e911eb0f95
5
5
  SHA512:
6
- metadata.gz: 73262ac3bc1316c1842a12fa1b7328fd6319291d8816cc8bdd6fa31126c38f255bdb8bea2a17fa4d24fc8002eadb403bbbdff5a6a5f7502efe08a55915d5b2e0
7
- data.tar.gz: 5f41d009fc94257bc50da5d4cc307892d397dfeb104b57c5472c1d96f4c58b3c1208bdf7b85635744664306441c4cf021fcad7138e892d4f2d618d91c8d37793
6
+ metadata.gz: f6b19ebb9a53bb4b073fea16f45e6f9d0b1073bbca0329701ed3c21fd4a57000cb8c0b96fd827f27034b431e962bced7e68e0a69e193df95e21a5cda9cecb50e
7
+ data.tar.gz: c533b1696bb1685250c585429f34a90726756ea7afbf79ef6a049620caba4a843a46b78559d2900c60bc75cb9ce45e3c2daae8b3048c47b002755d4fe953ece2
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- keytechkit (0.3.18)
4
+ keytechkit (0.3.19)
5
5
  httparty (~> 0.16)
6
6
 
7
7
  GEM
data/lib/keytechKit.rb CHANGED
@@ -1,4 +1,5 @@
1
1
  require 'httparty'
2
+ require 'keytechKit/response_helper'
2
3
  require 'keytechKit/version'
3
4
  require 'keytechKit/serverinfo_handler'
4
5
  require 'keytechKit/search'
@@ -20,7 +21,7 @@ module KeytechKit
20
21
  attr_reader :base_url
21
22
  attr_reader :username
22
23
  attr_reader :password
23
-
24
+
24
25
 
25
26
  # Initializes this class
26
27
  # user +baseurl+, +username+ and +password+ to start accessing all other
@@ -116,46 +116,42 @@ module KeytechKit
116
116
  upload_file element_key, parameter
117
117
  end
118
118
 
119
- def remove_masterfile(element_key)
119
+ def delete_masterfile(element_key)
120
120
  file_list = load(element_key)
121
121
  if !file_list.nil?
122
122
  file_list.each do |file|
123
- return remove_file(element_key, file.fileId) if file.fileStorageType.casecmp('master').zero?
123
+ return delete_file(element_key, file.fileId) if file.fileStorageType.casecmp('master').zero?
124
124
  end
125
125
  end
126
- { success: true, message: "No file found" }
126
+ { success: true, message: 'No file found' }
127
127
  end
128
128
 
129
- def remove_preview(element_key)
129
+ def delete_preview(element_key)
130
130
  file_list = load(element_key)
131
131
  if !file_list.nil?
132
132
  file_list.each do |file|
133
- return remove_file(element_key, file.fileId) if file.fileStorageType.casecmp('preview').zero?
133
+ return delete_file(element_key, file.fileId) if file.fileStorageType.casecmp('preview').zero?
134
134
  end
135
135
  end
136
- { success: true, message: "No file found" }
136
+ { success: true, message: 'No file found' }
137
137
  end
138
138
 
139
- def remove_quickpreview(element_key)
139
+ def delete_quickpreview(element_key)
140
140
  file_list = load(element_key)
141
141
  if !file_list.nil?
142
142
  file_list.each do |file|
143
- return remove_file(element_key, file.fileId) if file.fileStorageType.casecmp('quickpreview').zero?
143
+ return delete_file(element_key, file.fileId) if file.fileStorageType.casecmp('quickpreview').zero?
144
144
  end
145
145
  end
146
- { success: true, message: "No file found" }
146
+ { success: true, message: 'No file found' }
147
147
  end
148
148
 
149
149
  private
150
150
 
151
- def remove_file(element_key, file_id)
151
+ def delete_file(element_key, file_id)
152
152
  parameter = { basic_auth: @auth }
153
153
  response = self.class.delete("/elements/#{element_key}/files/#{file_id}", parameter)
154
- if response.success?
155
- { success: true }
156
- else
157
- { success: false, error: response.headers['x-errordescription'].to_s }
158
- end
154
+ ResponseHelper.success(response)
159
155
  end
160
156
 
161
157
  def upload_file(element_key, parameter)
@@ -47,20 +47,14 @@ module KeytechKit
47
47
  note_hash = note.to_hash
48
48
  parameter = { basic_auth: @auth,
49
49
  body: note_hash.to_json,
50
- headers: { 'Content-Type' => 'application/json; charset=utf-8
' } }
50
+ headers: { 'Content-Type': 'application/json; charset=utf-8
' } }
51
51
 
52
52
  response = if note.id.zero?
53
53
  self.class.post("/elements/#{element_key}/notes", parameter)
54
54
  else
55
55
  self.class.put("/elements/#{element_key}/notes", parameter)
56
56
  end
57
- if response.success?
58
- note.id = response.headers['location']
59
- { id: response.headers['location'] }
60
- else
61
- # TODO: return an error object, dont raise exception
62
- raise response.response
63
- end
57
+ ResponseHelper.created_with_location(response)
64
58
  end
65
59
 
66
60
  def remove(note)
@@ -68,11 +62,7 @@ module KeytechKit
68
62
  element_key = note.element_key
69
63
  note_id = note.id
70
64
  response = self.class.delete("/elements/#{element_key}/notes/#{note_id}", parameter)
71
- if response.success?
72
- { success: true }
73
- else
74
- { success: false, error: response.headers['x-errordescription'].to_s }
75
- end
65
+ ResponseHelper.success(response)
76
66
  end
77
67
 
78
68
  private
@@ -0,0 +1,26 @@
1
+ module KeytechKit
2
+ # Helps with common responses
3
+ class ResponseHelper
4
+ # Returns a success object with success:true / false. If false
5
+ # it also adds the x-errordescription object from keytech API
6
+ def self.success(response)
7
+ if response.success?
8
+ { success: true }
9
+ else
10
+ { success: false, error: response.headers['x-errordescription'].to_s }
11
+ end
12
+ end
13
+
14
+ # Returns a success object with success:true/false. If true
15
+ # it adds a ID parameter extracted from the location header.
16
+ # If false it adds a error response text
17
+ def self.created_with_location(response)
18
+ if response.success?
19
+ { success: true,
20
+ id: response.headers['location'] }
21
+ else
22
+ { success: false, error: response.headers['x-errordescription'].to_s }
23
+ end
24
+ end
25
+ end
26
+ end
@@ -7,9 +7,11 @@ class Tools
7
7
 
8
8
  # Return a classkey (MI, FD, DO) from a elementkey (MISC_FILE:!234)
9
9
  def self.class_type(element_key)
10
- classKey = self.class_key(element_key)
11
- return 'MI' if classKey.upcase.end_with?('_MI')
12
- return 'FD' if classKey.end_with?('_FD', '_WF')
10
+ class_key = class_key(element_key)
11
+ return 'MI' if class_key.upcase.end_with?('_MI')
12
+
13
+ return 'FD' if class_key.end_with?('_FD', '_WF')
14
+
13
15
  'DO'
14
16
  end
15
17
  end
@@ -1,5 +1,5 @@
1
1
  module KeytechKit
2
- VERSION = '0.3.18'
2
+ VERSION = '0.3.19'
3
3
 
4
4
  # Public available Demo URL for testing and dsevelopment
5
5
  DEMO_URL = 'https://demo.keytech.de'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: keytechkit
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.18
4
+ version: 0.3.19
5
5
  platform: ruby
6
6
  authors:
7
7
  - Thorsten Claus
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2018-12-06 00:00:00.000000000 Z
11
+ date: 2018-12-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -119,6 +119,7 @@ files:
119
119
  - lib/keytechKit/elements/notes/note_handler.rb
120
120
  - lib/keytechKit/elements/notes/note_type.rb
121
121
  - lib/keytechKit/elements/search_response_header.rb
122
+ - lib/keytechKit/response_helper.rb
122
123
  - lib/keytechKit/search.rb
123
124
  - lib/keytechKit/serverinfo.rb
124
125
  - lib/keytechKit/serverinfo_handler.rb