keytechkit 0.3.16 → 0.3.17
Sign up to get free protection for your applications and to get access to all the features.
- 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
|