soar-registry-staff 0.0.1 → 0.0.2

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
  SHA1:
3
- metadata.gz: d667963b213a8c1f8bfac707cd214818eb33e591
4
- data.tar.gz: 3ce77a63e9ec45a7e84ecbef40891526c2557d3d
3
+ metadata.gz: f544b6dad6e1d457e519a2224be548670b5246ac
4
+ data.tar.gz: c2d23d9e7ca7d1054494eaa8a1f7592cad6fe4e9
5
5
  SHA512:
6
- metadata.gz: 40202401ddea924599085587392e84cdfb10263a640e3980ddd6347cd4729d9bffac46013c9a5bbd502a405eacd9f07c5f7a388708a8a0a18aa42876c8f26643
7
- data.tar.gz: b345267177081bba7e8b69d3b7cf1c79b3ee5ec9853617e9b62bf94b84f6c0a8a6a5f5cf18fe05f1ffa378af30cf08ba0ff13ba320a913b00d7ec48a573dfa1b
6
+ metadata.gz: 07dc861ee7813b76348ec62e22303bed71f0e3b6b4cd6bdf9662f2b333b61eb9dd72645c656a2325d4353dc9d333d0c652307e47d9bd6811d1ed0bbda8aa0fd2
7
+ data.tar.gz: 5e5845c4717996db03667913cab21840ceabde5dc338b906eacaf78784b56faa19a35de10307dbb77aaa08563ecd4932d4ebcdfc0ad5a70640d420b5b5f06e04
@@ -65,7 +65,11 @@ module Soar
65
65
 
66
66
  def ready?
67
67
  begin
68
- return @client.list_tables.table_names.class.name == 'Array'
68
+ #return @client.list_tables.table_names.class.name == 'Array'
69
+ resp = @client.describe_table({
70
+ table_name: @table_name
71
+ })
72
+ return resp.table.table_name == @table_name
69
73
  rescue Seahorse::Client::NetworkingError
70
74
  return false
71
75
  end
@@ -30,8 +30,8 @@ module Soar
30
30
  ##
31
31
  # @param [String] identity_id
32
32
  # @return [Array] list of roles
33
- def calculate_roles(identity_id)
34
- entry = @directory.fetch_identity(identity_id)
33
+ def calculate_roles(identity)
34
+ entry = @directory.fetch_identity(identity['identity_id'])
35
35
  return nil if not entry
36
36
  identity = @translator.get_identity(entry)
37
37
  roles = []
@@ -45,9 +45,9 @@ module Soar
45
45
  # @param [String] identity_id
46
46
  # @return [Array] list of identifiers
47
47
  ##
48
- def calculate_identifiers(identity_id)
48
+ def calculate_identifiers(identity)
49
49
  indexes = @directory.indexed_attributes
50
- entry = @directory.fetch_identity(identity_id)
50
+ entry = @directory.fetch_identity(identity['identity_id'])
51
51
  identity = @translator.get_identity(entry)
52
52
  identifiers = []
53
53
  indexes.each { |index|
@@ -60,8 +60,8 @@ module Soar
60
60
  # @param [String] identity_id
61
61
  # @param [String] role
62
62
  # @return [Hash] A hash of attributes
63
- def calculate_attributes(identity_id, role)
64
- entry = @directory.fetch_identity(identity_id)
63
+ def calculate_attributes(identity, role)
64
+ entry = @directory.fetch_identity(identity['identity_id'])
65
65
  return nil if not entry
66
66
  identity = @translator.get_identity(entry)
67
67
  { role => identity['roles'][role] }
@@ -70,18 +70,21 @@ module Soar
70
70
  ##
71
71
  # @param [String] identity_id
72
72
  # @return [Hash] Hash of attributes keyed by role
73
- def calculate_all_attributes(identity_id)
74
- entry = @directory.fetch_identity(identity_id)
73
+ def calculate_all_attributes(identity)
74
+ entry = @directory.fetch_identity(identity['identity_id'])
75
75
  @translator.get_identity(entry)
76
76
  end
77
77
 
78
78
  ##
79
- # @param [Hash] identifier containing attribute name and attribute value
79
+ # @param [String|Hash] identity_id or identifier (a hash containing attribute name and attribute value)
80
80
  # @return [Array]
81
81
  def calculate_identities(identifier)
82
- identifier = @translator.get_identifier(identifier)
83
- entries = @directory.search_identities(identifier.keys[0], identifier[identifier.keys[0]] )
84
- [@translator.get_identity(entries)[0]['identity_id']]
82
+ if @translator.is_json?(identifier)
83
+ identifier = @translator.get_identifier(identifier)
84
+ entries = @directory.search_identities(identifier.keys[0], identifier[identifier.keys[0]] )
85
+ return [@translator.get_identity(entries)[0]]
86
+ end
87
+ return [@translator.get_identity(@directory.fetch_identity(identifier))]
85
88
  end
86
89
 
87
90
  end
@@ -12,6 +12,15 @@ module Soar
12
12
  return entry
13
13
  end
14
14
 
15
+ def is_json?(json)
16
+ begin
17
+ JSON.parse(json)
18
+ return true
19
+ rescue JSON::ParserError => e
20
+ return false
21
+ end
22
+ end
23
+
15
24
  ##
16
25
  # @param [Array] entries a list of entries from data source
17
26
  # @return [Array] identities a list of identities
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: soar-registry-staff
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Charles Mulder