gazer 0.3.10 → 0.3.11

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.
Files changed (79) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +7 -0
  3. data/Gemfile.lock +1 -1
  4. data/lib/gzr/command.rb +9 -5
  5. data/lib/gzr/commands/alert/cat.rb +2 -2
  6. data/lib/gzr/commands/alert/ls.rb +2 -2
  7. data/lib/gzr/commands/alert/notifications.rb +2 -2
  8. data/lib/gzr/commands/attribute/cat.rb +3 -3
  9. data/lib/gzr/commands/attribute/create.rb +2 -2
  10. data/lib/gzr/commands/attribute/get_group_value.rb +4 -4
  11. data/lib/gzr/commands/attribute/import.rb +3 -3
  12. data/lib/gzr/commands/attribute/ls.rb +3 -3
  13. data/lib/gzr/commands/attribute/rm.rb +4 -4
  14. data/lib/gzr/commands/attribute/set_group_value.rb +4 -4
  15. data/lib/gzr/commands/connection/dialects.rb +4 -4
  16. data/lib/gzr/commands/connection/ls.rb +2 -2
  17. data/lib/gzr/commands/connection/test.rb +2 -2
  18. data/lib/gzr/commands/dashboard/import.rb +30 -30
  19. data/lib/gzr/commands/dashboard/mv.rb +1 -1
  20. data/lib/gzr/commands/folder/cat.rb +3 -3
  21. data/lib/gzr/commands/folder/create.rb +3 -3
  22. data/lib/gzr/commands/folder/export.rb +2 -2
  23. data/lib/gzr/commands/folder/ls.rb +3 -4
  24. data/lib/gzr/commands/folder/rm.rb +3 -3
  25. data/lib/gzr/commands/folder/top.rb +4 -4
  26. data/lib/gzr/commands/folder/tree.rb +11 -11
  27. data/lib/gzr/commands/group/ls.rb +3 -3
  28. data/lib/gzr/commands/group/member_groups.rb +3 -3
  29. data/lib/gzr/commands/group/member_users.rb +3 -3
  30. data/lib/gzr/commands/look/cat.rb +1 -1
  31. data/lib/gzr/commands/look/import.rb +5 -5
  32. data/lib/gzr/commands/look/mv.rb +1 -1
  33. data/lib/gzr/commands/look/rm.rb +1 -1
  34. data/lib/gzr/commands/model/ls.rb +4 -4
  35. data/lib/gzr/commands/model/set/ls.rb +2 -2
  36. data/lib/gzr/commands/permission/ls.rb +2 -2
  37. data/lib/gzr/commands/permission/set/ls.rb +2 -2
  38. data/lib/gzr/commands/plan/cat.rb +3 -3
  39. data/lib/gzr/commands/plan/disable.rb +3 -3
  40. data/lib/gzr/commands/plan/enable.rb +3 -3
  41. data/lib/gzr/commands/plan/failures.rb +12 -7
  42. data/lib/gzr/commands/plan/import.rb +5 -5
  43. data/lib/gzr/commands/plan/ls.rb +5 -5
  44. data/lib/gzr/commands/plan/run.rb +2 -2
  45. data/lib/gzr/commands/project/branch.rb +4 -4
  46. data/lib/gzr/commands/project/ls.rb +3 -3
  47. data/lib/gzr/commands/role/cat.rb +2 -2
  48. data/lib/gzr/commands/role/group_add.rb +2 -2
  49. data/lib/gzr/commands/role/group_ls.rb +3 -3
  50. data/lib/gzr/commands/role/group_rm.rb +2 -2
  51. data/lib/gzr/commands/role/ls.rb +3 -3
  52. data/lib/gzr/commands/role/user_add.rb +2 -2
  53. data/lib/gzr/commands/role/user_ls.rb +3 -3
  54. data/lib/gzr/commands/role/user_rm.rb +2 -2
  55. data/lib/gzr/commands/user/cat.rb +5 -3
  56. data/lib/gzr/commands/user/delete.rb +2 -1
  57. data/lib/gzr/commands/user/disable.rb +2 -1
  58. data/lib/gzr/commands/user/enable.rb +2 -1
  59. data/lib/gzr/commands/user/ls.rb +22 -11
  60. data/lib/gzr/commands/user/me.rb +6 -2
  61. data/lib/gzr/commands/user.rb +2 -0
  62. data/lib/gzr/modules/alert.rb +30 -17
  63. data/lib/gzr/modules/attribute.rb +24 -22
  64. data/lib/gzr/modules/connection.rb +10 -25
  65. data/lib/gzr/modules/dashboard.rb +86 -44
  66. data/lib/gzr/modules/folder.rb +20 -28
  67. data/lib/gzr/modules/group.rb +8 -10
  68. data/lib/gzr/modules/look.rb +23 -21
  69. data/lib/gzr/modules/model/set.rb +6 -6
  70. data/lib/gzr/modules/model.rb +14 -7
  71. data/lib/gzr/modules/permission/set.rb +2 -2
  72. data/lib/gzr/modules/permission.rb +2 -4
  73. data/lib/gzr/modules/plan.rb +36 -36
  74. data/lib/gzr/modules/project.rb +26 -21
  75. data/lib/gzr/modules/role.rb +48 -36
  76. data/lib/gzr/modules/session.rb +2 -2
  77. data/lib/gzr/modules/user.rb +52 -43
  78. data/lib/gzr/version.rb +1 -1
  79. metadata +2 -2
@@ -29,7 +29,7 @@ module Gzr
29
29
  req = {}
30
30
  req[:fields] = fields if fields
31
31
  begin
32
- return @sdk.all_model_sets(req)
32
+ @sdk.all_model_sets(req).collect { |s| s.to_attrs }
33
33
  rescue LookerSDK::NotFound => e
34
34
  return nil
35
35
  rescue LookerSDK::Error => e
@@ -43,7 +43,7 @@ module Gzr
43
43
  req = {}
44
44
  req[:fields] = fields if fields
45
45
  begin
46
- return @sdk.model_set(set_id,req)&.to_attrs
46
+ @sdk.model_set(set_id,req)&.to_attrs
47
47
  rescue LookerSDK::NotFound => e
48
48
  return nil
49
49
  rescue LookerSDK::Error => e
@@ -73,7 +73,7 @@ module Gzr
73
73
  req[:filter_or] = filter_or unless filter_or.nil?
74
74
  req[:limit] = 64
75
75
  loop do
76
- page = @sdk.search_model_sets(req)
76
+ page = @sdk.search_model_sets(req).collect { |s| s.to_attrs }
77
77
  data+=page
78
78
  break unless page.length == req[:limit]
79
79
  req[:offset] = (req[:offset] || 0) + req[:limit]
@@ -90,7 +90,7 @@ module Gzr
90
90
 
91
91
  def update_model_set(model_set_id, data)
92
92
  begin
93
- return @sdk.update_model_set(model_set_id, data)&.to_attrs
93
+ @sdk.update_model_set(model_set_id, data)&.to_attrs
94
94
  rescue LookerSDK::Error => e
95
95
  say_error "Error calling update_model_set(#{model_set_id},#{JSON.pretty_generate(data)})"
96
96
  say_error e
@@ -100,7 +100,7 @@ module Gzr
100
100
 
101
101
  def create_model_set(data)
102
102
  begin
103
- return @sdk.create_model_set(data)&.to_attrs
103
+ @sdk.create_model_set(data)&.to_attrs
104
104
  rescue LookerSDK::Error => e
105
105
  say_error "Error calling create_model_set(#{JSON.pretty_generate(data)})"
106
106
  say_error e
@@ -110,7 +110,7 @@ module Gzr
110
110
 
111
111
  def delete_model_set(model_set_id)
112
112
  begin
113
- return @sdk.delete_model_set(model_set_id)
113
+ @sdk.delete_model_set(model_set_id)
114
114
  rescue LookerSDK::Error => e
115
115
  say_error "Error calling delete_model_set(#{model_set_id}})"
116
116
  say_error e
@@ -1,6 +1,6 @@
1
1
  # The MIT License (MIT)
2
2
 
3
- # Copyright (c) 2018 Mike DeAngelo Looker Data Sciences, Inc.
3
+ # Copyright (c) 2023 Mike DeAngelo Google, Inc.
4
4
 
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy of
6
6
  # this software and associated documentation files (the "Software"), to deal in
@@ -23,12 +23,19 @@
23
23
 
24
24
  module Gzr
25
25
  module Model
26
- def query_all_lookml_models(fields=nil)
27
- data = nil
26
+ def query_all_lookml_models(fields=nil, progress=false)
27
+ data = []
28
28
  begin
29
29
  req = Hash.new
30
30
  req[:fields] = fields if fields
31
- data = @sdk.all_lookml_models(req)
31
+ req[:limit] = 16
32
+ loop do
33
+ puts "fetching #{req[:limit]} offset #{req[:offset] || 0}" if progress
34
+ page = @sdk.all_lookml_models(req).collect { |m| m.to_attrs }
35
+ data+=page
36
+ break unless page.length == req[:limit]
37
+ req[:offset] = (req[:offset] || 0) + req[:limit]
38
+ end
32
39
  rescue LookerSDK::Error => e
33
40
  say_error "Error querying all_lookml_models(#{JSON.pretty_generate(req)})"
34
41
  say_error e
@@ -39,7 +46,7 @@ module Gzr
39
46
 
40
47
  def cat_model(model_name)
41
48
  begin
42
- return @sdk.lookml_model(model_name)&.to_attrs
49
+ @sdk.lookml_model(model_name)&.to_attrs
43
50
  rescue LookerSDK::NotFound => e
44
51
  return nil
45
52
  rescue LookerSDK::Error => e
@@ -57,7 +64,7 @@ module Gzr
57
64
 
58
65
  def create_model(body)
59
66
  begin
60
- return @sdk.create_lookml_model(body)&.to_attrs
67
+ @sdk.create_lookml_model(body)&.to_attrs
61
68
  rescue LookerSDK::Error => e
62
69
  say_error "Error running create_lookml_model(#{JSON.pretty_generate(body)})"
63
70
  say_error e
@@ -67,7 +74,7 @@ module Gzr
67
74
 
68
75
  def update_model(model_name,body)
69
76
  begin
70
- return @sdk.update_lookml_model(model_name,body)&.to_attrs
77
+ @sdk.update_lookml_model(model_name,body)&.to_attrs
71
78
  rescue LookerSDK::Error => e
72
79
  say_error "Error running update_lookml_model(#{model_name},#{JSON.pretty_generate(body)})"
73
80
  say_error e
@@ -29,7 +29,7 @@ module Gzr
29
29
  req = {}
30
30
  req[:fields] = fields if fields
31
31
  begin
32
- return @sdk.all_permission_sets(req)
32
+ @sdk.all_permission_sets(req).collect { |s| s.to_attrs }
33
33
  rescue LookerSDK::NotFound => e
34
34
  return nil
35
35
  rescue LookerSDK::Error => e
@@ -73,7 +73,7 @@ module Gzr
73
73
  req[:filter_or] = filter_or unless filter_or.nil?
74
74
  req[:limit] = 64
75
75
  loop do
76
- page = @sdk.search_permission_sets(req)
76
+ page = @sdk.search_permission_sets(req).collect { |s| s.to_attrs }
77
77
  data+=page
78
78
  break unless page.length == req[:limit]
79
79
  req[:offset] = (req[:offset] || 0) + req[:limit]
@@ -1,6 +1,6 @@
1
1
  # The MIT License (MIT)
2
2
 
3
- # Copyright (c) 2018 Mike DeAngelo Looker Data Sciences, Inc.
3
+ # Copyright (c) 2023 Mike DeAngelo Google, Inc.
4
4
 
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy of
6
6
  # this software and associated documentation files (the "Software"), to deal in
@@ -25,15 +25,13 @@ module Gzr
25
25
  module Permission
26
26
 
27
27
  def query_all_permissions()
28
- data = nil
29
28
  begin
30
- data = @sdk.all_permissions()
29
+ @sdk.all_permissions().collect { |p| p.to_attrs }
31
30
  rescue LookerSDK::Error => e
32
31
  say_error "Error querying all_permissions()"
33
32
  say_error e
34
33
  raise
35
34
  end
36
- data
37
35
  end
38
36
 
39
37
  end
@@ -1,6 +1,6 @@
1
1
  # The MIT License (MIT)
2
2
 
3
- # Copyright (c) 2018 Mike DeAngelo Looker Data Sciences, Inc.
3
+ # Copyright (c) 2023 Mike DeAngelo Google, Inc.
4
4
 
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy of
6
6
  # this software and associated documentation files (the "Software"), to deal in
@@ -28,17 +28,15 @@ module Gzr
28
28
  req[:all_users] = true if user_id == "all"
29
29
  req[:user_id] = user_id if user_id && !(user_id == "all")
30
30
  req[:fields] = fields if fields
31
- data = nil
32
- id = nil
33
- id = user_id unless user_id == "all"
34
31
  begin
35
- data = @sdk.all_scheduled_plans(req)
36
- rescue LookerSDK::ClientError => e
32
+ @sdk.all_scheduled_plans(req).collect { |p| p.to_attrs }
33
+ rescue LookerSDK::NotFound => e
34
+ return []
35
+ rescue LookerSDK::Error => e
37
36
  say_error "Unable to get all_scheduled_plans(#{JSON.pretty_generate(req)})"
38
37
  say_error e
39
38
  raise
40
39
  end
41
- data
42
40
  end
43
41
 
44
42
  def query_scheduled_plans_for_look(look_id,user_id,fields=nil)
@@ -46,18 +44,15 @@ module Gzr
46
44
  req[:all_users] = true if user_id == "all"
47
45
  req[:user_id] = user_id if user_id && !(user_id == "all")
48
46
  req[:fields] = fields if fields
49
- data = nil
50
47
  begin
51
- data = @sdk.scheduled_plans_for_look(look_id,req)
52
- return nil if data.respond_to?(:message) && data.message == 'Not found'
53
- rescue LookerSDK::NotFound
54
- return nil
55
- rescue LookerSDK::ClientError => e
48
+ @sdk.scheduled_plans_for_look(look_id,req).collect { |p| p.to_attrs }
49
+ rescue LookerSDK::NotFound => e
50
+ return []
51
+ rescue LookerSDK::Error => e
56
52
  say_error "Unable to get scheduled_plans_for_look(#{look_id},#{JSON.pretty_generate(req)})"
57
53
  say_error e
58
54
  raise
59
55
  end
60
- data
61
56
  end
62
57
 
63
58
  def query_scheduled_plans_for_dashboard(dashboard_id,user_id,fields=nil)
@@ -65,76 +60,81 @@ module Gzr
65
60
  req[:all_users] = true if user_id == "all"
66
61
  req[:user_id] = user_id if user_id && !(user_id == "all")
67
62
  req[:fields] = fields if fields
68
- data = nil
69
63
  begin
70
- data = @sdk.scheduled_plans_for_dashboard(dashboard_id,req)
71
- return nil if data.respond_to?(:message) && data.message == 'Not found'
64
+ @sdk.scheduled_plans_for_dashboard(dashboard_id,req).collect { |p| p.to_attrs }
72
65
  rescue LookerSDK::NotFound
73
- return nil
74
- rescue LookerSDK::ClientError => e
66
+ return []
67
+ rescue LookerSDK::Error => e
75
68
  say_error "Unable to get scheduled_plans_for_dashboard(#{dashboard_id},#{JSON.pretty_generate(req)})"
76
69
  say_error e
77
70
  raise
78
71
  end
79
- data.map! {|plan| plan.to_attrs}
80
- data
81
72
  end
82
73
 
83
74
  def query_scheduled_plan(plan_id,fields=nil)
84
75
  req = {}
85
76
  req[:fields] = fields if fields
86
77
  begin
87
- data = @sdk.scheduled_plan(plan_id,req)
88
- rescue LookerSDK::ClientError => e
78
+ @sdk.scheduled_plan(plan_id,req).to_attrs
79
+ rescue LookerSDK::NotFound
80
+ return nil
81
+ rescue LookerSDK::Error => e
89
82
  say_error "Unable to get scheduled_plan(#{plan_id},#{JSON.pretty_generate(req)})"
90
83
  say_error e
91
84
  raise
92
85
  end
93
- data
94
86
  end
95
87
 
96
88
  def delete_scheduled_plan(plan_id)
97
89
  begin
98
- data = @sdk.delete_scheduled_plan(plan_id)
99
- rescue LookerSDK::ClientError => e
90
+ @sdk.delete_scheduled_plan(plan_id)
91
+ rescue LookerSDK::NotFound
92
+ say_error "delete_scheduled_plan(#{plan_id}) not found"
93
+ say_error e
94
+ raise
95
+ rescue LookerSDK::Error => e
100
96
  say_error "Unable to delete scheduled_plan(#{plan_id})"
101
97
  say_error e
102
98
  raise
103
99
  end
104
- data
105
100
  end
106
101
 
107
102
  def create_scheduled_plan(plan)
108
103
  begin
109
- data = @sdk.create_scheduled_plan(plan)
104
+ @sdk.create_scheduled_plan(plan).to_attrs
110
105
  rescue LookerSDK::Error => e
111
106
  say_error "Error creating scheduled_plan(#{JSON.pretty_generate(plan)})"
112
107
  say_error e
113
108
  raise
114
109
  end
115
- data
116
110
  end
117
111
 
118
112
  def update_scheduled_plan(plan_id,plan)
119
113
  begin
120
- data = @sdk.update_scheduled_plan(plan_id,plan)
114
+ @sdk.update_scheduled_plan(plan_id,plan).to_attrs
115
+ rescue LookerSDK::NotFound
116
+ say_error "update_scheduled_plan(#{plan_id},#{JSON.pretty_generate(plan)}) not found"
117
+ say_error e
118
+ raise
121
119
  rescue LookerSDK::Error => e
122
120
  say_error "Error updating scheduled_plan(#{plan_id},#{JSON.pretty_generate(plan)})"
123
121
  say_error e
124
122
  raise
125
123
  end
126
- data
127
124
  end
128
125
 
129
126
  def run_scheduled_plan(plan)
130
127
  begin
131
- data = @sdk.scheduled_plan_run_once(plan)
128
+ @sdk.scheduled_plan_run_once(plan)
129
+ rescue LookerSDK::NotFound
130
+ say_error "scheduled_plan_run_once(#{plan_id}) not found"
131
+ say_error e
132
+ raise
132
133
  rescue LookerSDK::Error => e
133
134
  say_error "Error executing scheduled_plan_run_once(#{JSON.pretty_generate(plan)})"
134
135
  say_error e
135
136
  raise
136
137
  end
137
- data
138
138
  end
139
139
 
140
140
  def upsert_plans_for_look(look_id,user_id,source_plans)
@@ -167,9 +167,9 @@ module Gzr
167
167
  end
168
168
 
169
169
  def upsert_plan_for_obj(user_id, source_plan, existing_plans)
170
- matches = existing_plans.select { |p| p.name == source_plan[:name] && user_id == p.user_id }
170
+ matches = existing_plans.select { |p| p[:name] == source_plan[:name] && user_id == p[:user_id] }
171
171
  if matches.length > 0 then
172
- say_ok "Modifying existing plan #{matches.first.id} #{matches.first.name}"
172
+ say_ok "Modifying existing plan #{matches.first[:id]} #{matches.first[:name]}"
173
173
  plan = keys_to_keep('update_scheduled_plan').collect do |e|
174
174
  [e,nil]
175
175
  end.to_h
@@ -194,7 +194,7 @@ module Gzr
194
194
  plan[:run_once] = false if plan[:run_once].nil?
195
195
  plan[:include_links] = false if plan[:include_links].nil?
196
196
  yield plan
197
- update_scheduled_plan(matches.first.id,plan)
197
+ update_scheduled_plan(matches.first[:id],plan)
198
198
  else
199
199
  plan = source_plan.select do |k,v|
200
200
  (keys_to_keep('create_scheduled_plan') - [:plan_id,:dashboard_id,:user_id,:dashboard_filters,:lookml_dashboard_id,:scheduled_plan_destination]).include? k
@@ -25,9 +25,8 @@ module Gzr
25
25
  module Project
26
26
 
27
27
  def all_projects(fields: 'id')
28
- data = []
29
28
  begin
30
- data = @sdk.all_projects({ fields: fields })
29
+ @sdk.all_projects({ fields: fields }).collect { |p| p.to_attrs }
31
30
  rescue LookerSDK::NotFound => e
32
31
  return []
33
32
  rescue LookerSDK::Error => e
@@ -35,14 +34,15 @@ module Gzr
35
34
  say_error e
36
35
  raise
37
36
  end
38
- data
39
37
  end
40
38
 
41
39
  def cat_project(project_id)
42
40
  begin
43
- return @sdk.project(project_id)&.to_attrs
41
+ @sdk.project(project_id)&.to_attrs
44
42
  rescue LookerSDK::NotFound => e
45
- return nil
43
+ say_error "project(#{project_id}) not found"
44
+ say_error e
45
+ raise
46
46
  rescue LookerSDK::Error => e
47
47
  say_error "Error getting project(#{project_id})"
48
48
  say_error e
@@ -58,7 +58,7 @@ module Gzr
58
58
 
59
59
  def create_project(body)
60
60
  begin
61
- return @sdk.create_project(body)&.to_attrs
61
+ @sdk.create_project(body)&.to_attrs
62
62
  rescue LookerSDK::Error => e
63
63
  say_error "Error running create_project(#{JSON.pretty_generate(body)})"
64
64
  say_error e
@@ -68,9 +68,11 @@ module Gzr
68
68
 
69
69
  def update_project(id,body)
70
70
  begin
71
- return @sdk.update_project(id,body)&.to_attrs
71
+ @sdk.update_project(id,body)&.to_attrs
72
72
  rescue LookerSDK::NotFound => e
73
- return nil
73
+ say_error "update_project(#{id},#{JSON.pretty_generate(body)} not found)"
74
+ say_error e
75
+ raise
74
76
  rescue LookerSDK::Error => e
75
77
  say_error "Error running update_project(#{id},#{JSON.pretty_generate(body)})"
76
78
  say_error e
@@ -80,9 +82,9 @@ module Gzr
80
82
 
81
83
  def git_deploy_key(id)
82
84
  begin
83
- return @sdk.git_deploy_key(id)
85
+ @sdk.git_deploy_key(id)
84
86
  rescue LookerSDK::NotFound => e
85
- return nil
87
+ nil
86
88
  rescue LookerSDK::Error => e
87
89
  say_error "Error running git_deploy_key(#{id})"
88
90
  say_error e
@@ -92,9 +94,9 @@ module Gzr
92
94
 
93
95
  def create_git_deploy_key(id)
94
96
  begin
95
- return @sdk.create_git_deploy_key(id)
97
+ @sdk.create_git_deploy_key(id)
96
98
  rescue LookerSDK::NotFound => e
97
- return nil
99
+ nil
98
100
  rescue LookerSDK::Error => e
99
101
  say_error "Error running create_git_deploy_key(#{id})"
100
102
  say_error e
@@ -104,9 +106,9 @@ module Gzr
104
106
 
105
107
  def all_git_branches(proj_id)
106
108
  begin
107
- return @sdk.all_git_branches(proj_id)
109
+ @sdk.all_git_branches(proj_id).collect { |b| b.to_attrs }
108
110
  rescue LookerSDK::NotFound => e
109
- return nil
111
+ []
110
112
  rescue LookerSDK::Error => e
111
113
  say_error "Error running all_git_branches(#{proj_id})"
112
114
  say_error e
@@ -116,9 +118,9 @@ module Gzr
116
118
 
117
119
  def git_branch(proj_id)
118
120
  begin
119
- return @sdk.git_branch(proj_id)
121
+ @sdk.git_branch(proj_id).to_attrs
120
122
  rescue LookerSDK::NotFound => e
121
- return nil
123
+ nil
122
124
  rescue LookerSDK::Error => e
123
125
  say_error "Error running git_branch(#{proj_id})"
124
126
  say_error e
@@ -128,9 +130,11 @@ module Gzr
128
130
 
129
131
  def deploy_to_production(proj_id)
130
132
  begin
131
- return @sdk.deploy_to_production(proj_id)
133
+ @sdk.deploy_to_production(proj_id)
132
134
  rescue LookerSDK::NotFound => e
133
- return nil
135
+ say_error "deploy_to_production(#{proj_id}) not found"
136
+ say_error e
137
+ raise
134
138
  rescue LookerSDK::Error => e
135
139
  say_error "Error running deploy_to_production(#{proj_id})"
136
140
  say_error e
@@ -141,15 +145,16 @@ module Gzr
141
145
  def update_git_branch(proj_id, name)
142
146
  body = { name: name }
143
147
  begin
144
- return @sdk.update_git_branch(proj_id, body)&.to_attrs
148
+ @sdk.update_git_branch(proj_id, body)&.to_attrs
145
149
  rescue LookerSDK::NotFound => e
146
- return nil
150
+ say_error "update_git_branch(#{proj_id},#{JSON.pretty_generate(body)}) not found"
151
+ say_error e
152
+ raise
147
153
  rescue LookerSDK::Error => e
148
154
  say_error "Error running update_git_branch(#{proj_id},#{JSON.pretty_generate(body)})"
149
155
  say_error e
150
156
  raise
151
157
  end
152
158
  end
153
-
154
159
  end
155
160
  end
@@ -1,6 +1,6 @@
1
1
  # The MIT License (MIT)
2
2
 
3
- # Copyright (c) 2018 Mike DeAngelo Looker Data Sciences, Inc.
3
+ # Copyright (c) 2023 Mike DeAngelo Google, Inc.
4
4
 
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy of
6
6
  # this software and associated documentation files (the "Software"), to deal in
@@ -26,33 +26,33 @@ module Gzr
26
26
  def query_all_roles(fields=nil)
27
27
  req = Hash.new
28
28
  req[:fields] = fields if fields
29
- data = Array.new
30
29
  begin
31
- data = @sdk.all_roles(req)
30
+ @sdk.all_roles(req).collect { |r| r.to_attrs }
32
31
  rescue LookerSDK::NotFound => e
33
- # do nothing
34
- rescue LookerSDK::ClientError => e
32
+ []
33
+ rescue LookerSDK::Error => e
35
34
  say_error "Unable to get all_roles(#{JSON.pretty_generate(req)})"
36
35
  say_error e
37
36
  say_error e.errors if e.errors
38
37
  raise
39
38
  end
40
- data
41
39
  end
40
+
42
41
  def query_role(role_id)
43
- data = nil
44
42
  begin
45
- data = @sdk.role(role_id)
43
+ @sdk.role(role_id).to_attrs
46
44
  rescue LookerSDK::NotFound => e
47
- # do nothing
48
- rescue LookerSDK::ClientError => e
45
+ say_error "role(#{role_id}) not found"
46
+ say_error e
47
+ raise
48
+ rescue LookerSDK::Error => e
49
49
  say_error "Unable to get role(#{role_id})"
50
50
  say_error e
51
51
  say_error e.errors if e.errors
52
52
  raise
53
53
  end
54
- data
55
54
  end
55
+
56
56
  def trim_role(data)
57
57
  trimmed = data.select do |k,v|
58
58
  (keys_to_keep('create_role') + [:id]).include? k
@@ -65,87 +65,99 @@ module Gzr
65
65
  end
66
66
  trimmed
67
67
  end
68
+
68
69
  def delete_role(role_id)
69
- data = nil
70
70
  begin
71
- data = @sdk.delete_role(role_id)
71
+ @sdk.delete_role(role_id)
72
72
  rescue LookerSDK::NotFound => e
73
- # do nothing
74
- rescue LookerSDK::ClientError => e
73
+ say_error "role(#{role_id}) not found"
74
+ say_error e
75
+ raise
76
+ rescue LookerSDK::Error => e
75
77
  say_error "Unable to delete_role(#{role_id})"
76
78
  say_error e
77
79
  say_error e.errors if e.errors
78
80
  raise
79
81
  end
80
- data
81
82
  end
83
+
82
84
  def query_role_groups(role_id,fields=nil)
83
85
  req = Hash.new
84
86
  req[:fields] = fields if fields
85
- data = Array.new
86
87
  begin
87
- data = @sdk.role_groups(role_id, req)
88
+ @sdk.role_groups(role_id, req).collect { |g| g.to_attrs }
88
89
  rescue LookerSDK::NotFound => e
89
- # do nothing
90
- rescue LookerSDK::ClientError => e
90
+ say_error "role_groups(#{role_id},#{JSON.pretty_generate(req)}) not found"
91
+ say_error e
92
+ raise
93
+ rescue LookerSDK::Error => e
91
94
  say_error "Unable to get role_groups(#{role_id},#{JSON.pretty_generate(req)})"
92
95
  say_error e
93
96
  say_error e.errors if e.errors
94
97
  raise
95
98
  end
96
- data
97
99
  end
100
+
98
101
  def query_role_users(role_id,fields=nil,direct_association_only=true)
99
102
  req = Hash.new
100
103
  req[:fields] = fields if fields
101
104
  req[:direct_association_only] = direct_association_only
102
- data = Array.new
103
105
  begin
104
- data = @sdk.role_users(role_id, req)
106
+ @sdk.role_users(role_id, req).collect { |u| u.to_attrs }
105
107
  rescue LookerSDK::NotFound => e
106
- # do nothing
107
- rescue LookerSDK::ClientError => e
108
+ say_error "role_users(#{role_id},#{JSON.pretty_generate(req)}) not found"
109
+ say_error e
110
+ say_error e.errors if e.errors
111
+ raise
112
+ rescue LookerSDK::Error => e
108
113
  say_error "Unable to get role_users(#{role_id},#{JSON.pretty_generate(req)})"
109
114
  say_error e
110
115
  say_error e.errors if e.errors
111
116
  raise
112
117
  end
113
- data
114
118
  end
119
+
115
120
  def set_role_groups(role_id,groups=[])
116
- data = Array.new
117
121
  begin
118
- data = @sdk.set_role_groups(role_id, groups)
119
- rescue LookerSDK::ClientError => e
122
+ @sdk.set_role_groups(role_id, groups)
123
+ rescue LookerSDK::NotFound => e
124
+ say_error "set_role_groups(#{role_id},#{JSON.pretty_generate(groups)}) not found"
125
+ say_error e
126
+ say_error e.errors if e.errors
127
+ raise
128
+ rescue LookerSDK::Error => e
120
129
  say_error "Unable to call set_role_groups(#{role_id},#{JSON.pretty_generate(groups)})"
121
130
  say_error e
122
131
  say_error e.errors if e.errors
123
132
  raise
124
133
  end
125
- data
126
134
  end
135
+
127
136
  def set_role_users(role_id,users=[])
128
- data = Array.new
129
137
  begin
130
- data = @sdk.set_role_users(role_id, users)
131
- rescue LookerSDK::ClientError => e
138
+ @sdk.set_role_users(role_id, users)
139
+ rescue LookerSDK::NotFound => e
140
+ say_error "set_role_users(#{role_id},#{JSON.pretty_generate(users)}) not found"
141
+ say_error e
142
+ say_error e.errors if e.errors
143
+ raise
144
+ rescue LookerSDK::Error => e
132
145
  say_error "Unable to call set_role_users(#{role_id},#{JSON.pretty_generate(users)})"
133
146
  say_error e
134
147
  say_error e.errors if e.errors
135
148
  raise
136
149
  end
137
- data
138
150
  end
151
+
139
152
  def create_role(name,pset,mset)
140
153
  req = { name: name, permission_set_id: pset, model_set_id: mset }
141
154
  begin
142
- return @sdk.create_role(req)&.to_attrs
155
+ @sdk.create_role(req)&.to_attrs
143
156
  rescue LookerSDK::Error => e
144
157
  say_error "Unable to call create_role(#{JSON.pretty_generate(req)})"
145
158
  say_error e
146
159
  raise
147
160
  end
148
161
  end
149
-
150
162
  end
151
163
  end
@@ -1,6 +1,6 @@
1
1
  # The MIT License (MIT)
2
2
 
3
- # Copyright (c) 2018 Mike DeAngelo Looker Data Sciences, Inc.
3
+ # Copyright (c) 2023 Mike DeAngelo Google, Inc.
4
4
 
5
5
  # Permission is hereby granted, free of charge, to any person obtaining a copy of
6
6
  # this software and associated documentation files (the "Software"), to deal in
@@ -317,7 +317,7 @@ module Gzr
317
317
  body = {}
318
318
  body[:workspace_id] = workspace_id
319
319
  begin
320
- return @sdk.update_session(body)&.to_attrs
320
+ @sdk.update_session(body)&.to_attrs
321
321
  rescue LookerSDK::Error => e
322
322
  say_error "Unable to run update_session(#{JSON.pretty_generate(body)})"
323
323
  say_error e