lmc 0.13.0 → 0.14.0

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: ea7050b8975d248f8f6c341c900a0987fea13b061ab262d87ab1862aa2a9d169
4
- data.tar.gz: 00d0fe53b221e06a8f1185c6eca7b48387038d95fb271d466f3b48f5e0761790
3
+ metadata.gz: e239ac693f1144e6391c0aad69e68657ad5498ae51e3b0c92dcc9e163abb15de
4
+ data.tar.gz: d98d01d4b424db42dc6fb581d763f4b60e20d4e283a87f1b771bd786c8c1a34e
5
5
  SHA512:
6
- metadata.gz: 83ef7581a5c3ea7efbfa7245b7238b29a060acca4544c5157074609671dfb4c61e2c1100a1bcf769722a70f870cccb91df56c8ad83baf98db183cb74dd5ee093
7
- data.tar.gz: f9e91e63ff73a690108bb62cb046d8d342e7017e5edd9e6cdb2715f112b0b8df9a0320ab8ab5cf70cbeb73e5070f1aeda18852d2afad649b6f80b1a771391d2e
6
+ metadata.gz: abb83a783cfe4247cb3952cdd10df18fd36c4d9ad91d4196783e90aaf5bb39f5be51ee6b65ee1b11c4421077d3479e16f7c10359b83e39e361e90e586c3aee7c
7
+ data.tar.gz: 778005cf105deaf7fbd4bfd9ba60bb595ffb747e14e924a89dc1e56c5e8790518c9f386770ad36c3876280ed72f08e61bc6f081f0e15fbd8123fd570d4fc9b7b
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "result": {
3
- "covered_percent": 91.6
3
+ "covered_percent": 92.33
4
4
  }
5
5
  }
data/lib/lmc/Account.rb CHANGED
@@ -73,13 +73,14 @@ module LMC
73
73
  def members
74
74
  ids = Cloud.instance.get ['cloud-service-auth', 'accounts', @id, 'members'], 'select' => 'id'
75
75
  puts ids.inspect if Cloud.debug
76
- principals = ids.map do |principal_id|
77
- response = Cloud.instance.get ['cloud-service-auth', 'accounts', @id, 'members', principal_id]
78
- principal = response.body
79
- puts principal.inspect if Cloud.debug
80
- principal
76
+ # these are not actual membership objects
77
+ memberships = ids.map do |member_id|
78
+ response = Cloud.instance.get ['cloud-service-auth', 'accounts', @id, 'members', member_id]
79
+ memberships = response.body
80
+ puts memberships.inspect if Cloud.debug
81
+ memberships
81
82
  end
82
- principals
83
+ memberships
83
84
  end
84
85
 
85
86
  def find_member_by_name(name)
@@ -93,10 +94,12 @@ module LMC
93
94
  member
94
95
  end
95
96
 
97
+ #--
96
98
  # def update_member(principal_id, data)
97
99
  # response = @cloud.post ["cloud-service-auth", "accounts", id, 'members', principal_id], data
98
100
  # return response
99
101
  # end
102
+ #++
100
103
 
101
104
  def remove_membership(member_id)
102
105
  @cloud.delete ['cloud-service-auth', 'accounts', id, 'members', member_id]
@@ -133,11 +136,11 @@ module LMC
133
136
  end
134
137
  end
135
138
 
139
+ # This can only show the most recent page of logs so far
136
140
  def logs
137
- # https://lmctest/cloud-service-logging/accounts/6392b234-b11c-498a-a077-a5f5b23c54a0/logs?lang=DE
138
141
  cloud = Cloud.instance
139
142
  cloud.auth_for_accounts [id]
140
- cloud.get(['cloud-service-logging', 'accounts', id, 'logs?lang=DE']).body
143
+ cloud.get(['cloud-service-logging', 'accounts', id, 'logs', 'paginated?lang=DE']).body.logs
141
144
  end
142
145
 
143
146
  def sites
data/lib/lmc/Response.rb CHANGED
@@ -1,6 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'ostruct'
4
+ require 'recursive-open-struct'
4
5
  module LMC
5
6
  class LMCResponse
6
7
  attr_reader :body, :code, :headers
@@ -13,12 +14,12 @@ module LMC
13
14
  if @body_object.class == Array
14
15
  @body = @body_object.map { |elem|
15
16
  if elem.is_a? Hash then
16
- OpenStruct.new(elem)
17
+ RecursiveOpenStruct.new(elem, recurse_over_arrays: true)
17
18
  else
18
19
  elem
19
20
  end}
20
21
  elsif @body_object.class == Hash
21
- @body = OpenStruct.new(@body_object)
22
+ @body = RecursiveOpenStruct.new(@body_object, recurse_over_arrays: true)
22
23
  elsif @body_object.class == TrueClass || @body_object.class == FalseClass
23
24
  @body = @body_object
24
25
  else
data/lib/lmc/User.rb CHANGED
@@ -34,6 +34,7 @@ module LMC
34
34
  action = AuthAction.new Cloud.instance
35
35
  action.type = 'PASSWORD_RESET'
36
36
  action.name = @email
37
+ action.data = nil
37
38
  action.post
38
39
  end
39
40
  end
data/lib/lmc/authority.rb CHANGED
@@ -5,8 +5,7 @@ module LMC
5
5
  attr_accessor :account, :id, :name, :visibility, :type
6
6
 
7
7
  def initialize(data, account)
8
- # TODO: Use cloud object from account
9
- @cloud = Cloud.instance
8
+ @cloud = account.cloud
10
9
  apply_data(data)
11
10
  @account = account
12
11
  end
@@ -54,7 +54,7 @@ module LMC
54
54
  def descriptive_confighash
55
55
  item_map = dscui.item_by_id_map
56
56
  confighash.map { |k, v|
57
- [item_map[k].description, v]
57
+ [item_map[k.to_s].description, v]
58
58
  }.to_h
59
59
  end
60
60
 
@@ -28,7 +28,7 @@ module LMC
28
28
  attr_reader :version_string, :sections
29
29
 
30
30
  def initialize(v_hash)
31
- keys = v_hash.keys
31
+ keys = v_hash.to_h.keys
32
32
  raise('More than one version key contained in dscui.') if keys.length > 1
33
33
  @version_string = keys.first
34
34
  @sections = v_hash[@version_string].map { |section_wrapper| Section.new section_wrapper }
@@ -76,7 +76,7 @@ module LMC
76
76
  end
77
77
 
78
78
  def initialize(item_wrapper)
79
- keys = item_wrapper.keys
79
+ keys = item_wrapper.to_h.keys
80
80
  raise('More than one key contained in item wrapper') if keys.length > 1
81
81
  @type = keys.first
82
82
  item = item_wrapper[@type]
data/lib/lmc/version.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module LMC
4
- VERSION = '0.13.0'
4
+ VERSION = '0.14.0'
5
5
  end
6
6
 
data/lmc.gemspec CHANGED
@@ -10,6 +10,7 @@ Gem::Specification.new do |spec|
10
10
  spec.authors = ['erpel']
11
11
  spec.email = ['philipp@copythat.de']
12
12
 
13
+ spec.required_ruby_version = '~> 2.0'
13
14
  spec.summary = %q{Library for interacting with LMC cloud instances}
14
15
  spec.license = 'BSD-3-Clause'
15
16
 
@@ -33,12 +34,12 @@ Gem::Specification.new do |spec|
33
34
  spec.add_development_dependency 'minitest', '~> 5.11'
34
35
  spec.add_development_dependency 'minitest-reporters', '~> 1'
35
36
  spec.add_development_dependency 'rake', '~> 12.0'
36
- spec.add_development_dependency 'recursive-open-struct', '~> 1.1'
37
37
  spec.add_development_dependency 'simplecov', '~> 0.15'
38
38
  spec.add_development_dependency 'pry-nav', '~> 0.2.4'
39
39
  spec.add_development_dependency 'rubocop', '~> 0.58.1'
40
40
 
41
41
  spec.add_runtime_dependency 'json', '~> 2.3'
42
42
  spec.add_runtime_dependency 'rest-client', '~> 2.0'
43
+ spec.add_runtime_dependency 'recursive-open-struct', '~> 1.1'
43
44
  end
44
45
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lmc
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.13.0
4
+ version: 0.14.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - erpel
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-01-15 00:00:00.000000000 Z
11
+ date: 2021-05-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -66,20 +66,6 @@ dependencies:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
68
  version: '12.0'
69
- - !ruby/object:Gem::Dependency
70
- name: recursive-open-struct
71
- requirement: !ruby/object:Gem::Requirement
72
- requirements:
73
- - - "~>"
74
- - !ruby/object:Gem::Version
75
- version: '1.1'
76
- type: :development
77
- prerelease: false
78
- version_requirements: !ruby/object:Gem::Requirement
79
- requirements:
80
- - - "~>"
81
- - !ruby/object:Gem::Version
82
- version: '1.1'
83
69
  - !ruby/object:Gem::Dependency
84
70
  name: simplecov
85
71
  requirement: !ruby/object:Gem::Requirement
@@ -150,6 +136,20 @@ dependencies:
150
136
  - - "~>"
151
137
  - !ruby/object:Gem::Version
152
138
  version: '2.0'
139
+ - !ruby/object:Gem::Dependency
140
+ name: recursive-open-struct
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - "~>"
144
+ - !ruby/object:Gem::Version
145
+ version: '1.1'
146
+ type: :runtime
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - "~>"
151
+ - !ruby/object:Gem::Version
152
+ version: '1.1'
153
153
  description:
154
154
  email:
155
155
  - philipp@copythat.de
@@ -211,9 +211,9 @@ require_paths:
211
211
  - lib
212
212
  required_ruby_version: !ruby/object:Gem::Requirement
213
213
  requirements:
214
- - - ">="
214
+ - - "~>"
215
215
  - !ruby/object:Gem::Version
216
- version: '0'
216
+ version: '2.0'
217
217
  required_rubygems_version: !ruby/object:Gem::Requirement
218
218
  requirements:
219
219
  - - ">="