keytechkit 0.3.16 → 0.3.17
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 +4 -4
- data/Gemfile.lock +2 -2
- data/README.md +16 -1
- data/lib/keytechKit.rb +1 -0
- data/lib/keytechKit/classes/layouts.rb +4 -3
- data/lib/keytechKit/elements/data_dictionary/data_dictionary_handler.rb +1 -1
- data/lib/keytechKit/elements/element.rb +24 -16
- data/lib/keytechKit/elements/element_files/element_file_handler.rb +3 -2
- data/lib/keytechKit/elements/element_handler.rb +1 -0
- data/lib/keytechKit/elements/notes/note_handler.rb +1 -0
- data/lib/keytechKit/search.rb +1 -0
- data/lib/keytechKit/serverinfo_handler.rb +1 -0
- data/lib/keytechKit/tools.rb +4 -3
- data/lib/keytechKit/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1b5c86101c08620c9f6217e628728f2a62f299a32a56944682d786c64d020d97
|
4
|
+
data.tar.gz: 4ba5c80ee322c9bca3c9549637f54b9653df0c0e6eaf9d0499c9667c35015880
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9ac047cd7af2528d324b5176ab6ca681742904e01a4b53e862715f70bce001ac084014e62787ec31c221919515dfbff375792c96617a6e0ee39a162f2ac7c6a7
|
7
|
+
data.tar.gz: 3d2c9ffcc8cfb6d5122a6b5f496f26c42d2383e980ed634fa4e0294d93db175d085fefb7f47e385936cfcce5d53838933219afc09c7b571de25e106c251bdba8
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
keytechkit (0.3.
|
4
|
+
keytechkit (0.3.16)
|
5
5
|
httparty (~> 0.16)
|
6
6
|
|
7
7
|
GEM
|
@@ -50,7 +50,7 @@ GEM
|
|
50
50
|
tzinfo (~> 1.1)
|
51
51
|
arel (9.0.0)
|
52
52
|
builder (3.2.3)
|
53
|
-
concurrent-ruby (1.1.
|
53
|
+
concurrent-ruby (1.1.3)
|
54
54
|
crass (1.0.4)
|
55
55
|
diff-lcs (1.3)
|
56
56
|
erubi (1.7.1)
|
data/README.md
CHANGED
@@ -29,7 +29,22 @@ Refactors will be also made on any time even on minor version change.
|
|
29
29
|
To use this gem have a look in the /spec folder. Every function should be tested.
|
30
30
|
You can grab code here and add this to you own projects.
|
31
31
|
|
32
|
-
|
32
|
+
```ruby
|
33
|
+
keytech_kit = KeytechKit::KeytechKit.new(keytech_url, keytech_username, keytech_password)
|
34
|
+
|
35
|
+
# Perform a fulltext search (q), group results by its class, and sort by
|
36
|
+
# creation date
|
37
|
+
options = { q: params[:q],
|
38
|
+
groupBy: 'classkey',
|
39
|
+
classes: params[:classes],
|
40
|
+
attributes: 'lister',
|
41
|
+
sortBy: 'created_at' }
|
42
|
+
|
43
|
+
@search_results = keytech_kit.search.query(options)
|
44
|
+
```
|
45
|
+
|
46
|
+
Full documentation with code samples will come in the next days.
|
47
|
+
Latest gem documentation for keytechAPI gem is on [rubydoc](https://www.rubydoc.info/gems/keytechkit)
|
33
48
|
|
34
49
|
## Development
|
35
50
|
|
data/lib/keytechKit.rb
CHANGED
@@ -4,6 +4,7 @@ require 'keytechKit/classes/layout/layout'
|
|
4
4
|
module KeytechKit
|
5
5
|
class Layouts
|
6
6
|
include HTTParty
|
7
|
+
default_timeout 10
|
7
8
|
|
8
9
|
def initialize(base_url, username, password)
|
9
10
|
self.class.base_uri(base_url)
|
@@ -12,15 +13,15 @@ module KeytechKit
|
|
12
13
|
|
13
14
|
def header_layout(classkey)
|
14
15
|
# Ab keytedch 14!
|
15
|
-
load_layout(classkey, {
|
16
|
+
load_layout(classkey, {layoutType: "HeaderLayout"})
|
16
17
|
end
|
17
18
|
|
18
19
|
def main_layout(classkey)
|
19
|
-
load_layout(classkey, {
|
20
|
+
load_layout(classkey, {layoutType: "DefaultLayout"})
|
20
21
|
end
|
21
22
|
|
22
23
|
def explorer_layout(classkey)
|
23
|
-
load_layout(classkey, {
|
24
|
+
load_layout(classkey, {layoutType: "ExplorerLayout"})
|
24
25
|
end
|
25
26
|
|
26
27
|
def lister_layout(classkey)
|
@@ -26,26 +26,34 @@ module KeytechKit
|
|
26
26
|
attr_accessor :description
|
27
27
|
|
28
28
|
def initialize(data)
|
29
|
-
|
30
|
-
|
29
|
+
@key = data['Key']
|
30
|
+
@name = data['Name']
|
31
31
|
set_key_value_list(data['KeyValueList'])
|
32
32
|
|
33
|
-
self.displayname = data['DisplayName']
|
34
|
-
self.classDisplayName = data['ClassDisplayName']
|
35
|
-
self.version = data['Version']
|
36
|
-
self.status = data['Status']
|
37
|
-
self.description = data['Description']
|
38
33
|
|
39
|
-
|
40
|
-
|
41
|
-
|
34
|
+
@classDisplayName = data['ClassDisplayName']
|
35
|
+
@version = data['Version']
|
36
|
+
@status = data['Status']
|
37
|
+
@description = data['Description']
|
42
38
|
|
43
|
-
|
44
|
-
|
45
|
-
|
39
|
+
@changedBy = data['ChangedBy']
|
40
|
+
@changedByLong = data['ChangedByLong']
|
41
|
+
@changedAt = data['ChangedAt']
|
46
42
|
|
47
|
-
|
48
|
-
|
43
|
+
@createdBy = data['CreatedBy']
|
44
|
+
@createdByLong = data['CreatedByLong']
|
45
|
+
@createdAt = data['CreatedAt']
|
46
|
+
|
47
|
+
@thumbnailHint = data['ThumbnailHint']
|
48
|
+
@hasVersions = data['HasVersions']
|
49
|
+
|
50
|
+
class_key = Tools.class_key(@key)
|
51
|
+
project_classes = %w[TASK_WF MAIL_WF]
|
52
|
+
@displayname = if project_classes.include?(class_key)
|
53
|
+
data['Subject']
|
54
|
+
else
|
55
|
+
data['DisplayName']
|
56
|
+
end
|
49
57
|
end
|
50
58
|
|
51
59
|
def to_hash
|
@@ -70,7 +78,7 @@ module KeytechKit
|
|
70
78
|
private
|
71
79
|
|
72
80
|
def set_key_value_list(kv_data)
|
73
|
-
|
81
|
+
@keyValueList = ({})
|
74
82
|
if kv_data
|
75
83
|
kv_data.each do |kvPair|
|
76
84
|
keyValueList[kvPair['Key'].to_s] = kvPair['Value']
|
@@ -6,6 +6,7 @@ module KeytechKit
|
|
6
6
|
# Element File handler
|
7
7
|
class ElementFileHandler
|
8
8
|
include HTTParty
|
9
|
+
default_timeout 10
|
9
10
|
|
10
11
|
def initialize(base_url, username, password)
|
11
12
|
self.class.base_uri(base_url)
|
@@ -14,7 +15,7 @@ module KeytechKit
|
|
14
15
|
|
15
16
|
# Returns true or false if a masterfile exist
|
16
17
|
def masterfile?(element_key)
|
17
|
-
if Tools.
|
18
|
+
if Tools.class_type(element_key) == 'DO' # Only DO Types can have a file
|
18
19
|
file_list = load(element_key)
|
19
20
|
unless file_list.nil?
|
20
21
|
file_list.each do |file|
|
@@ -27,7 +28,7 @@ module KeytechKit
|
|
27
28
|
|
28
29
|
# Returns information about masterfile
|
29
30
|
def masterfile_info(element_key)
|
30
|
-
if Tools.
|
31
|
+
if Tools.class_type(element_key) == 'DO' # Only DO Types can have a file
|
31
32
|
file_list = load(element_key)
|
32
33
|
unless file_list.nil?
|
33
34
|
file_list.each do |file|
|
data/lib/keytechKit/search.rb
CHANGED
data/lib/keytechKit/tools.rb
CHANGED
@@ -1,12 +1,13 @@
|
|
1
1
|
class Tools
|
2
|
+
|
2
3
|
# Returns a classkey (MISC_FILE) from a elementkey (MISC_FILE:1234)
|
3
|
-
def self.
|
4
|
+
def self.class_key(element_key)
|
4
5
|
element_key.split(':').first
|
5
6
|
end
|
6
7
|
|
7
8
|
# Return a classkey (MI, FD, DO) from a elementkey (MISC_FILE:!234)
|
8
|
-
def self.
|
9
|
-
classKey = self.
|
9
|
+
def self.class_type(element_key)
|
10
|
+
classKey = self.class_key(element_key)
|
10
11
|
return 'MI' if classKey.upcase.end_with?('_MI')
|
11
12
|
return 'FD' if classKey.end_with?('_FD', '_WF')
|
12
13
|
'DO'
|
data/lib/keytechKit/version.rb
CHANGED
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.
|
4
|
+
version: 0.3.17
|
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-11-
|
11
|
+
date: 2018-11-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|