keytechkit 0.3.18 → 0.3.19

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: 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