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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 57f8b73f659fce78a663b2a6ce59c8e622a6a7044e9dd1cdbb322b9c5240788b
4
- data.tar.gz: 96beee9a69d2aaa78730bf5a261ae2a6ef51902a4e2c90b7d79f791490626d86
3
+ metadata.gz: 1b5c86101c08620c9f6217e628728f2a62f299a32a56944682d786c64d020d97
4
+ data.tar.gz: 4ba5c80ee322c9bca3c9549637f54b9653df0c0e6eaf9d0499c9667c35015880
5
5
  SHA512:
6
- metadata.gz: 135869814f45a8cde8609cea21fa625896419e8815babce9e007e2193ad678bc3aa5d8683dd7fd2b721a8a4b169428c0da510be6f3c240d5718f4782709a8598
7
- data.tar.gz: ce9812073272c2be48c19b0ea757ae91229ca9800c9263a58676d727013b1c0b5e81b5d67f9b5452cd95b83b19b12cdc2c45ff503a04ac7e4512884c129cc03b
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.15)
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.2)
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
- Documentation with code samples will come in the next days.
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
@@ -20,6 +20,7 @@ module KeytechKit
20
20
  attr_reader :base_url
21
21
  attr_reader :username
22
22
  attr_reader :password
23
+
23
24
 
24
25
  # Initializes this class
25
26
  # user +baseurl+, +username+ and +password+ to start accessing all other
@@ -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, {"layoutType": "HeaderLayout"})
16
+ load_layout(classkey, {layoutType: "HeaderLayout"})
16
17
  end
17
18
 
18
19
  def main_layout(classkey)
19
- load_layout(classkey, {"layoutType": "DefaultLayout"})
20
+ load_layout(classkey, {layoutType: "DefaultLayout"})
20
21
  end
21
22
 
22
23
  def explorer_layout(classkey)
23
- load_layout(classkey, {"layoutType": "ExplorerLayout"})
24
+ load_layout(classkey, {layoutType: "ExplorerLayout"})
24
25
  end
25
26
 
26
27
  def lister_layout(classkey)
@@ -3,7 +3,7 @@ require 'keytechKit/elements/data_dictionary/data_dictionary_definition'
3
3
  module KeytechKit
4
4
  class DataDictionaryHandler
5
5
  include HTTParty
6
-
6
+ default_timeout 10
7
7
  attr_accessor :keytechkit
8
8
 
9
9
  def initialize(keytechkit, base_url, username, password)
@@ -26,26 +26,34 @@ module KeytechKit
26
26
  attr_accessor :description
27
27
 
28
28
  def initialize(data)
29
- self.key = data['Key']
30
- self.name = data['Name']
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
- self.changedBy = data['ChangedBy']
40
- self.changedByLong = data['ChangedByLong']
41
- self.changedAt = data['ChangedAt']
34
+ @classDisplayName = data['ClassDisplayName']
35
+ @version = data['Version']
36
+ @status = data['Status']
37
+ @description = data['Description']
42
38
 
43
- self.createdBy = data['CreatedBy']
44
- self.createdByLong = data['CreatedByLong']
45
- self.createdAt = data['CreatedAt']
39
+ @changedBy = data['ChangedBy']
40
+ @changedByLong = data['ChangedByLong']
41
+ @changedAt = data['ChangedAt']
46
42
 
47
- self.thumbnailHint = data['ThumbnailHint']
48
- self.hasVersions = data['HasVersions']
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
- self.keyValueList = ({})
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.classType(element_key) == 'DO' # Only DO Types can have a file
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.classType(element_key) == 'DO' # Only DO Types can have a file
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|
@@ -7,6 +7,7 @@ module KeytechKit
7
7
  # All operations for a element is here
8
8
  class ElementHandler
9
9
  include HTTParty
10
+ default_timeout 10
10
11
 
11
12
  attr_accessor :keytechkit
12
13
 
@@ -5,6 +5,7 @@ module KeytechKit
5
5
  # Notes
6
6
  class NoteHandler
7
7
  include HTTParty
8
+ default_timeout 10
8
9
 
9
10
  def initialize(base_url, username, password)
10
11
  self.class.base_uri(base_url)
@@ -9,6 +9,7 @@ module KeytechKit
9
9
  # Can group the results
10
10
  class Search
11
11
  include HTTParty
12
+ default_timeout 10
12
13
 
13
14
  attr_accessor :response
14
15
 
@@ -5,6 +5,7 @@ module KeytechKit
5
5
  # Serverinfo Handler
6
6
  class ServerInfoHandler
7
7
  include HTTParty
8
+ default_timeout 10
8
9
 
9
10
  def initialize(keytechkit, base_url)
10
11
  self.class.base_uri(base_url)
@@ -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.classKey(element_key)
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.classType(element_key)
9
- classKey = self.classKey(element_key)
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'
@@ -1,5 +1,5 @@
1
1
  module KeytechKit
2
- VERSION = '0.3.16'
2
+ VERSION = '0.3.17'
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.16
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-08 00:00:00.000000000 Z
11
+ date: 2018-11-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler