gazer 0.2.9

Sign up to get free protection for your applications and to get access to all the features.
Files changed (128) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +15 -0
  3. data/.rspec +3 -0
  4. data/.ruby-version +1 -0
  5. data/.travis.yml +5 -0
  6. data/CODE_OF_CONDUCT.md +74 -0
  7. data/Gemfile +35 -0
  8. data/Gemfile.lock +150 -0
  9. data/LICENSE.txt +20 -0
  10. data/README.md +527 -0
  11. data/Rakefile +27 -0
  12. data/bin/console +35 -0
  13. data/bin/setup +30 -0
  14. data/exe/gzr +40 -0
  15. data/gzr.gemspec +67 -0
  16. data/lib/gzr.rb +25 -0
  17. data/lib/gzr/cli.rb +86 -0
  18. data/lib/gzr/command.rb +251 -0
  19. data/lib/gzr/commands/.gitkeep +1 -0
  20. data/lib/gzr/commands/connection.rb +69 -0
  21. data/lib/gzr/commands/connection/dialects.rb +72 -0
  22. data/lib/gzr/commands/connection/ls.rb +72 -0
  23. data/lib/gzr/commands/dashboard.rb +75 -0
  24. data/lib/gzr/commands/dashboard/cat.rb +67 -0
  25. data/lib/gzr/commands/dashboard/import.rb +256 -0
  26. data/lib/gzr/commands/dashboard/rm.rb +47 -0
  27. data/lib/gzr/commands/group.rb +87 -0
  28. data/lib/gzr/commands/group/ls.rb +73 -0
  29. data/lib/gzr/commands/group/member_groups.rb +74 -0
  30. data/lib/gzr/commands/group/member_users.rb +74 -0
  31. data/lib/gzr/commands/look.rb +75 -0
  32. data/lib/gzr/commands/look/cat.rb +55 -0
  33. data/lib/gzr/commands/look/import.rb +62 -0
  34. data/lib/gzr/commands/look/rm.rb +47 -0
  35. data/lib/gzr/commands/model.rb +51 -0
  36. data/lib/gzr/commands/model/ls.rb +72 -0
  37. data/lib/gzr/commands/plan.rb +149 -0
  38. data/lib/gzr/commands/plan/cat.rb +52 -0
  39. data/lib/gzr/commands/plan/disable.rb +49 -0
  40. data/lib/gzr/commands/plan/enable.rb +49 -0
  41. data/lib/gzr/commands/plan/failures.rb +98 -0
  42. data/lib/gzr/commands/plan/import.rb +69 -0
  43. data/lib/gzr/commands/plan/ls.rb +102 -0
  44. data/lib/gzr/commands/plan/rm.rb +47 -0
  45. data/lib/gzr/commands/plan/run.rb +58 -0
  46. data/lib/gzr/commands/query.rb +49 -0
  47. data/lib/gzr/commands/query/runquery.rb +102 -0
  48. data/lib/gzr/commands/role.rb +163 -0
  49. data/lib/gzr/commands/role/cat.rb +52 -0
  50. data/lib/gzr/commands/role/group_add.rb +51 -0
  51. data/lib/gzr/commands/role/group_ls.rb +76 -0
  52. data/lib/gzr/commands/role/group_rm.rb +51 -0
  53. data/lib/gzr/commands/role/ls.rb +75 -0
  54. data/lib/gzr/commands/role/rm.rb +47 -0
  55. data/lib/gzr/commands/role/user_add.rb +51 -0
  56. data/lib/gzr/commands/role/user_ls.rb +76 -0
  57. data/lib/gzr/commands/role/user_rm.rb +51 -0
  58. data/lib/gzr/commands/space.rb +137 -0
  59. data/lib/gzr/commands/space/cat.rb +53 -0
  60. data/lib/gzr/commands/space/create.rb +50 -0
  61. data/lib/gzr/commands/space/export.rb +117 -0
  62. data/lib/gzr/commands/space/ls.rb +97 -0
  63. data/lib/gzr/commands/space/rm.rb +56 -0
  64. data/lib/gzr/commands/space/top.rb +62 -0
  65. data/lib/gzr/commands/space/tree.rb +79 -0
  66. data/lib/gzr/commands/subcommandbase.rb +41 -0
  67. data/lib/gzr/commands/user.rb +111 -0
  68. data/lib/gzr/commands/user/cat.rb +52 -0
  69. data/lib/gzr/commands/user/disable.rb +47 -0
  70. data/lib/gzr/commands/user/enable.rb +47 -0
  71. data/lib/gzr/commands/user/ls.rb +82 -0
  72. data/lib/gzr/commands/user/me.rb +66 -0
  73. data/lib/gzr/modules/connection.rb +52 -0
  74. data/lib/gzr/modules/dashboard.rb +215 -0
  75. data/lib/gzr/modules/filehelper.rb +81 -0
  76. data/lib/gzr/modules/group.rb +93 -0
  77. data/lib/gzr/modules/look.rb +162 -0
  78. data/lib/gzr/modules/model.rb +40 -0
  79. data/lib/gzr/modules/plan.rb +216 -0
  80. data/lib/gzr/modules/role.rb +128 -0
  81. data/lib/gzr/modules/session.rb +203 -0
  82. data/lib/gzr/modules/space.rb +160 -0
  83. data/lib/gzr/modules/user.rb +114 -0
  84. data/lib/gzr/templates/.gitkeep +1 -0
  85. data/lib/gzr/templates/connection/dialects/.gitkeep +1 -0
  86. data/lib/gzr/templates/connection/ls/.gitkeep +1 -0
  87. data/lib/gzr/templates/dashboard/cat/.gitkeep +1 -0
  88. data/lib/gzr/templates/dashboard/import/.gitkeep +1 -0
  89. data/lib/gzr/templates/dashboard/rm/.gitkeep +1 -0
  90. data/lib/gzr/templates/group/ls/.gitkeep +1 -0
  91. data/lib/gzr/templates/group/member_groups/.gitkeep +1 -0
  92. data/lib/gzr/templates/group/member_users/.gitkeep +1 -0
  93. data/lib/gzr/templates/look/cat/.gitkeep +1 -0
  94. data/lib/gzr/templates/look/import/.gitkeep +1 -0
  95. data/lib/gzr/templates/look/rm/.gitkeep +1 -0
  96. data/lib/gzr/templates/model/ls/.gitkeep +1 -0
  97. data/lib/gzr/templates/plan/cat/.gitkeep +1 -0
  98. data/lib/gzr/templates/plan/disable/.gitkeep +1 -0
  99. data/lib/gzr/templates/plan/enable/.gitkeep +1 -0
  100. data/lib/gzr/templates/plan/failures/.gitkeep +1 -0
  101. data/lib/gzr/templates/plan/import/.gitkeep +1 -0
  102. data/lib/gzr/templates/plan/ls/.gitkeep +1 -0
  103. data/lib/gzr/templates/plan/rm/.gitkeep +1 -0
  104. data/lib/gzr/templates/plan/run/.gitkeep +1 -0
  105. data/lib/gzr/templates/query/run/.gitkeep +1 -0
  106. data/lib/gzr/templates/role/cat/.gitkeep +1 -0
  107. data/lib/gzr/templates/role/group_add/.gitkeep +1 -0
  108. data/lib/gzr/templates/role/group_ls/.gitkeep +1 -0
  109. data/lib/gzr/templates/role/group_rm/.gitkeep +1 -0
  110. data/lib/gzr/templates/role/ls/.gitkeep +1 -0
  111. data/lib/gzr/templates/role/rm/.gitkeep +1 -0
  112. data/lib/gzr/templates/role/user_add/.gitkeep +1 -0
  113. data/lib/gzr/templates/role/user_ls/.gitkeep +1 -0
  114. data/lib/gzr/templates/role/user_rm/.gitkeep +1 -0
  115. data/lib/gzr/templates/space/cat/.gitkeep +1 -0
  116. data/lib/gzr/templates/space/create/.gitkeep +1 -0
  117. data/lib/gzr/templates/space/export/.gitkeep +1 -0
  118. data/lib/gzr/templates/space/ls/.gitkeep +1 -0
  119. data/lib/gzr/templates/space/rm/.gitkeep +1 -0
  120. data/lib/gzr/templates/space/top/.gitkeep +1 -0
  121. data/lib/gzr/templates/space/tree/.gitkeep +1 -0
  122. data/lib/gzr/templates/user/cat/.gitkeep +1 -0
  123. data/lib/gzr/templates/user/disable/.gitkeep +1 -0
  124. data/lib/gzr/templates/user/enable/.gitkeep +1 -0
  125. data/lib/gzr/templates/user/ls/.gitkeep +1 -0
  126. data/lib/gzr/templates/user/me/.gitkeep +1 -0
  127. data/lib/gzr/version.rb +24 -0
  128. metadata +325 -0
@@ -0,0 +1,160 @@
1
+ # The MIT License (MIT)
2
+
3
+ # Copyright (c) 2018 Mike DeAngelo Looker Data Sciences, Inc.
4
+
5
+ # Permission is hereby granted, free of charge, to any person obtaining a copy of
6
+ # this software and associated documentation files (the "Software"), to deal in
7
+ # the Software without restriction, including without limitation the rights to
8
+ # use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
9
+ # the Software, and to permit persons to whom the Software is furnished to do so,
10
+ # subject to the following conditions:
11
+
12
+ # The above copyright notice and this permission notice shall be included in all
13
+ # copies or substantial portions of the Software.
14
+
15
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
17
+ # FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
18
+ # COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
19
+ # IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
20
+ # CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
21
+
22
+ # frozen_string_literal: true
23
+
24
+ module Gzr
25
+ module Space
26
+ def self.included klass
27
+ require_relative '../modules/user'
28
+ klass.class_eval do
29
+ include Gzr::User
30
+ end
31
+ end
32
+
33
+ def create_space(name, parent_id)
34
+ data = nil
35
+ begin
36
+ req = {:name => name, :parent_id => parent_id}
37
+ data = @sdk.create_space(req)
38
+ rescue LookerSDK::Error => e
39
+ say_error "Error creating space(#{JSON.pretty_generate(req)})"
40
+ say_error e.message
41
+ raise
42
+ end
43
+ data
44
+ end
45
+
46
+ def search_spaces(name,fields=nil)
47
+ data = nil
48
+ begin
49
+ req = {:name => name}
50
+ req[:fields] = fields if fields
51
+ data = @sdk.search_spaces(req)
52
+ rescue LookerSDK::Error => e
53
+ say_error "Error querying search_spaces(#{JSON.pretty_generate(req)})"
54
+ say_error e.message
55
+ raise
56
+ end
57
+ data
58
+ end
59
+
60
+ def query_space(id,fields=nil)
61
+ data = nil
62
+ begin
63
+ req = {}
64
+ req[:fields] = fields if fields
65
+ data = @sdk.space(id, req)
66
+ rescue LookerSDK::NotFound
67
+ return nil
68
+ rescue LookerSDK::Error => e
69
+ say_error "Error querying space(#{id},#{JSON.pretty_generate(req)})"
70
+ say_error e.message
71
+ raise
72
+ end
73
+ data
74
+ end
75
+
76
+ def process_args(args)
77
+ space_ids = []
78
+
79
+ begin
80
+ user = query_me("home_space_id")
81
+ space_ids << user.home_space_id
82
+ end unless args && args.length > 0 && !(args[0].nil?)
83
+
84
+ if args[0] == 'lookml'
85
+ space_ids << 'lookml'
86
+ elsif args[0] =~ /^[0-9]+$/ then
87
+ space_ids << args[0].to_i
88
+ elsif args[0] == "~" then
89
+ user = query_me("personal_space_id")
90
+ space_ids << user.personal_space_id
91
+ elsif args[0] =~ /^~[0-9]+$/ then
92
+ user = query_user(args[0].sub('~',''), "personal_space_id")
93
+ space_ids << user.personal_space_id
94
+ elsif args[0] =~ /^~.+@.+$/ then
95
+ search_results = search_users( { :email=>args[0].sub('~','') },"personal_space_id" )
96
+ space_ids += search_results.map { |r| r.personal_space_id }
97
+ elsif args[0] =~ /^~.+$/ then
98
+ first_name, last_name = args[0].sub('~','').split(' ')
99
+ search_results = search_users( { :first_name=>first_name, :last_name=>last_name },"personal_space_id" )
100
+ space_ids += search_results.map { |r| r.personal_space_id }
101
+ else
102
+ search_results = search_spaces(args[0],"id")
103
+ space_ids += search_results.map { |r| r.id }
104
+
105
+ # The built in Shared space is only availabe by
106
+ # searching for Home. https://github.com/looker/helltool/issues/34994
107
+ if args[0] == 'Shared' then
108
+ search_results = search_spaces('Home',"id,is_shared_root")
109
+ space_ids += search_results.select { |r| r.is_shared_root }.map { |r| r.id }
110
+ end
111
+ end if args && args.length > 0 && !args[0].nil?
112
+
113
+ return space_ids
114
+ end
115
+
116
+ def all_spaces(fields=nil)
117
+ data = nil
118
+ begin
119
+ req = {}
120
+ req[:fields] = fields if fields
121
+ data = @sdk.all_spaces(req)
122
+ rescue LookerSDK::Error => e
123
+ say_error "Error querying all_spaces(#{JSON.pretty_generate(req)})"
124
+ say_error e.message
125
+ raise
126
+ end
127
+ data
128
+ end
129
+
130
+ def query_space_children(space_id, fields=nil)
131
+ data = nil
132
+ req = {}
133
+ req[:fields] = fields if fields
134
+ begin
135
+ data = @sdk.space_children(space_id, req)
136
+ rescue LookerSDK::NotFound
137
+ return nil
138
+ rescue LookerSDK::Error => e
139
+ say_error "Error querying space_children(#{space_id}, #{JSON.pretty_generate(req)})"
140
+ say_error e.message
141
+ raise
142
+ end
143
+ data
144
+ end
145
+
146
+ def delete_space(space_id)
147
+ data = nil
148
+ begin
149
+ data = @sdk.delete_space(space_id)
150
+ rescue LookerSDK::NotFound
151
+ return nil
152
+ rescue LookerSDK::Error => e
153
+ say_error "Error deleting space #{space_id}"
154
+ say_error e.message
155
+ raise
156
+ end
157
+ data
158
+ end
159
+ end
160
+ end
@@ -0,0 +1,114 @@
1
+ # The MIT License (MIT)
2
+
3
+ # Copyright (c) 2018 Mike DeAngelo Looker Data Sciences, Inc.
4
+
5
+ # Permission is hereby granted, free of charge, to any person obtaining a copy of
6
+ # this software and associated documentation files (the "Software"), to deal in
7
+ # the Software without restriction, including without limitation the rights to
8
+ # use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
9
+ # the Software, and to permit persons to whom the Software is furnished to do so,
10
+ # subject to the following conditions:
11
+
12
+ # The above copyright notice and this permission notice shall be included in all
13
+ # copies or substantial portions of the Software.
14
+
15
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
17
+ # FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
18
+ # COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
19
+ # IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
20
+ # CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
21
+
22
+ # frozen_string_literal: true
23
+
24
+ module Gzr
25
+ module User
26
+
27
+ def query_me(fields=nil)
28
+ data = nil
29
+ begin
30
+ data = @sdk.me(fields ? {:fields=>fields} : nil )
31
+ rescue LookerSDK::Error => e
32
+ say_error "Error querying me({:fields=>\"#{fields}\"})"
33
+ say_error e.message
34
+ raise
35
+ end
36
+ data
37
+ end
38
+
39
+ def query_user(id,fields=nil)
40
+ data = nil
41
+ begin
42
+ data = @sdk.user(id, fields ? {:fields=>fields} : nil )
43
+ rescue LookerSDK::Error => e
44
+ say_error "Error querying user(#{id},{:fields=>\"#{fields}\"})"
45
+ say_error e.message
46
+ raise
47
+ end
48
+ data
49
+ end
50
+
51
+ def search_users(filter, fields=nil, sorts=nil)
52
+ req = {
53
+ :per_page=>128
54
+ }
55
+ req.merge!(filter)
56
+ req[:fields] = fields if fields
57
+ req[:sorts] = sorts if sorts
58
+
59
+ data = Array.new
60
+ page = 1
61
+ loop do
62
+ begin
63
+ req[:page] = page
64
+ scratch_data = @sdk.search_users(req)
65
+ rescue LookerSDK::ClientError => e
66
+ say_error "Unable to get search_users(#{JSON.pretty_generate(req)})"
67
+ say_error e.message
68
+ raise
69
+ end
70
+ break if scratch_data.length == 0
71
+ page += 1
72
+ data += scratch_data
73
+ end
74
+ data
75
+ end
76
+
77
+ def query_all_users(fields=nil, sorts=nil)
78
+ req = {
79
+ :per_page=>128
80
+ }
81
+ req[:fields] = fields if fields
82
+ req[:sorts] = sorts if sorts
83
+
84
+ data = Array.new
85
+ page = 1
86
+ loop do
87
+ begin
88
+ req[:page] = page
89
+ scratch_data = @sdk.all_users(req)
90
+ rescue LookerSDK::ClientError => e
91
+ say_error "Unable to get all_users(#{JSON.pretty_generate(req)})"
92
+ say_error e.message
93
+ raise
94
+ end
95
+ break if scratch_data.length == 0
96
+ page += 1
97
+ data += scratch_data
98
+ end
99
+ data
100
+ end
101
+
102
+ def update_user(id,req)
103
+ data = nil
104
+ begin
105
+ data = @sdk.update_user(id,req)
106
+ rescue LookerSDK::Error => e
107
+ say_error "Error updating user(#{id},#{JSON.pretty_generate(req)})"
108
+ say_error e.message
109
+ raise
110
+ end
111
+ data
112
+ end
113
+ end
114
+ end
@@ -0,0 +1 @@
1
+ #
@@ -0,0 +1,24 @@
1
+ # The MIT License (MIT)
2
+
3
+ # Copyright (c) 2018 Mike DeAngelo Looker Data Sciences, Inc.
4
+
5
+ # Permission is hereby granted, free of charge, to any person obtaining a copy of
6
+ # this software and associated documentation files (the "Software"), to deal in
7
+ # the Software without restriction, including without limitation the rights to
8
+ # use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
9
+ # the Software, and to permit persons to whom the Software is furnished to do so,
10
+ # subject to the following conditions:
11
+
12
+ # The above copyright notice and this permission notice shall be included in all
13
+ # copies or substantial portions of the Software.
14
+
15
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
17
+ # FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
18
+ # COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
19
+ # IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
20
+ # CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
21
+
22
+ module Gzr
23
+ VERSION = "0.2.9"
24
+ end
metadata ADDED
@@ -0,0 +1,325 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: gazer
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.2.9
5
+ platform: ruby
6
+ authors:
7
+ - Mike DeAngelo
8
+ autorequire:
9
+ bindir: exe
10
+ cert_chain: []
11
+ date: 2019-01-30 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: tty-reader
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: 0.3.0
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: 0.3.0
27
+ - !ruby/object:Gem::Dependency
28
+ name: tty-table
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: 0.10.0
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: 0.10.0
41
+ - !ruby/object:Gem::Dependency
42
+ name: tty-tree
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: 0.1.0
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: 0.1.0
55
+ - !ruby/object:Gem::Dependency
56
+ name: pastel
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: 0.7.2
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: 0.7.2
69
+ - !ruby/object:Gem::Dependency
70
+ name: thor
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: 0.20.0
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: 0.20.0
83
+ - !ruby/object:Gem::Dependency
84
+ name: netrc
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: 0.11.0
90
+ type: :runtime
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: 0.11.0
97
+ - !ruby/object:Gem::Dependency
98
+ name: looker-sdk
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - "~>"
102
+ - !ruby/object:Gem::Version
103
+ version: 0.0.6
104
+ type: :runtime
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - "~>"
109
+ - !ruby/object:Gem::Version
110
+ version: 0.0.6
111
+ - !ruby/object:Gem::Dependency
112
+ name: bundler
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - "~>"
116
+ - !ruby/object:Gem::Version
117
+ version: '1.16'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - "~>"
123
+ - !ruby/object:Gem::Version
124
+ version: '1.16'
125
+ - !ruby/object:Gem::Dependency
126
+ name: rake
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - "~>"
130
+ - !ruby/object:Gem::Version
131
+ version: '10.0'
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - "~>"
137
+ - !ruby/object:Gem::Version
138
+ version: '10.0'
139
+ - !ruby/object:Gem::Dependency
140
+ name: rspec
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - "~>"
144
+ - !ruby/object:Gem::Version
145
+ version: '3.0'
146
+ type: :development
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - "~>"
151
+ - !ruby/object:Gem::Version
152
+ version: '3.0'
153
+ - !ruby/object:Gem::Dependency
154
+ name: tty
155
+ requirement: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - "~>"
158
+ - !ruby/object:Gem::Version
159
+ version: '0.8'
160
+ type: :development
161
+ prerelease: false
162
+ version_requirements: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - "~>"
165
+ - !ruby/object:Gem::Version
166
+ version: '0.8'
167
+ description: Command line tool to manage the content of a Looker instance.
168
+ email:
169
+ - deangelo@looker.com
170
+ executables:
171
+ - gzr
172
+ extensions: []
173
+ extra_rdoc_files: []
174
+ files:
175
+ - ".gitignore"
176
+ - ".rspec"
177
+ - ".ruby-version"
178
+ - ".travis.yml"
179
+ - CODE_OF_CONDUCT.md
180
+ - Gemfile
181
+ - Gemfile.lock
182
+ - LICENSE.txt
183
+ - README.md
184
+ - Rakefile
185
+ - bin/console
186
+ - bin/setup
187
+ - exe/gzr
188
+ - gzr.gemspec
189
+ - lib/gzr.rb
190
+ - lib/gzr/cli.rb
191
+ - lib/gzr/command.rb
192
+ - lib/gzr/commands/.gitkeep
193
+ - lib/gzr/commands/connection.rb
194
+ - lib/gzr/commands/connection/dialects.rb
195
+ - lib/gzr/commands/connection/ls.rb
196
+ - lib/gzr/commands/dashboard.rb
197
+ - lib/gzr/commands/dashboard/cat.rb
198
+ - lib/gzr/commands/dashboard/import.rb
199
+ - lib/gzr/commands/dashboard/rm.rb
200
+ - lib/gzr/commands/group.rb
201
+ - lib/gzr/commands/group/ls.rb
202
+ - lib/gzr/commands/group/member_groups.rb
203
+ - lib/gzr/commands/group/member_users.rb
204
+ - lib/gzr/commands/look.rb
205
+ - lib/gzr/commands/look/cat.rb
206
+ - lib/gzr/commands/look/import.rb
207
+ - lib/gzr/commands/look/rm.rb
208
+ - lib/gzr/commands/model.rb
209
+ - lib/gzr/commands/model/ls.rb
210
+ - lib/gzr/commands/plan.rb
211
+ - lib/gzr/commands/plan/cat.rb
212
+ - lib/gzr/commands/plan/disable.rb
213
+ - lib/gzr/commands/plan/enable.rb
214
+ - lib/gzr/commands/plan/failures.rb
215
+ - lib/gzr/commands/plan/import.rb
216
+ - lib/gzr/commands/plan/ls.rb
217
+ - lib/gzr/commands/plan/rm.rb
218
+ - lib/gzr/commands/plan/run.rb
219
+ - lib/gzr/commands/query.rb
220
+ - lib/gzr/commands/query/runquery.rb
221
+ - lib/gzr/commands/role.rb
222
+ - lib/gzr/commands/role/cat.rb
223
+ - lib/gzr/commands/role/group_add.rb
224
+ - lib/gzr/commands/role/group_ls.rb
225
+ - lib/gzr/commands/role/group_rm.rb
226
+ - lib/gzr/commands/role/ls.rb
227
+ - lib/gzr/commands/role/rm.rb
228
+ - lib/gzr/commands/role/user_add.rb
229
+ - lib/gzr/commands/role/user_ls.rb
230
+ - lib/gzr/commands/role/user_rm.rb
231
+ - lib/gzr/commands/space.rb
232
+ - lib/gzr/commands/space/cat.rb
233
+ - lib/gzr/commands/space/create.rb
234
+ - lib/gzr/commands/space/export.rb
235
+ - lib/gzr/commands/space/ls.rb
236
+ - lib/gzr/commands/space/rm.rb
237
+ - lib/gzr/commands/space/top.rb
238
+ - lib/gzr/commands/space/tree.rb
239
+ - lib/gzr/commands/subcommandbase.rb
240
+ - lib/gzr/commands/user.rb
241
+ - lib/gzr/commands/user/cat.rb
242
+ - lib/gzr/commands/user/disable.rb
243
+ - lib/gzr/commands/user/enable.rb
244
+ - lib/gzr/commands/user/ls.rb
245
+ - lib/gzr/commands/user/me.rb
246
+ - lib/gzr/modules/connection.rb
247
+ - lib/gzr/modules/dashboard.rb
248
+ - lib/gzr/modules/filehelper.rb
249
+ - lib/gzr/modules/group.rb
250
+ - lib/gzr/modules/look.rb
251
+ - lib/gzr/modules/model.rb
252
+ - lib/gzr/modules/plan.rb
253
+ - lib/gzr/modules/role.rb
254
+ - lib/gzr/modules/session.rb
255
+ - lib/gzr/modules/space.rb
256
+ - lib/gzr/modules/user.rb
257
+ - lib/gzr/templates/.gitkeep
258
+ - lib/gzr/templates/connection/dialects/.gitkeep
259
+ - lib/gzr/templates/connection/ls/.gitkeep
260
+ - lib/gzr/templates/dashboard/cat/.gitkeep
261
+ - lib/gzr/templates/dashboard/import/.gitkeep
262
+ - lib/gzr/templates/dashboard/rm/.gitkeep
263
+ - lib/gzr/templates/group/ls/.gitkeep
264
+ - lib/gzr/templates/group/member_groups/.gitkeep
265
+ - lib/gzr/templates/group/member_users/.gitkeep
266
+ - lib/gzr/templates/look/cat/.gitkeep
267
+ - lib/gzr/templates/look/import/.gitkeep
268
+ - lib/gzr/templates/look/rm/.gitkeep
269
+ - lib/gzr/templates/model/ls/.gitkeep
270
+ - lib/gzr/templates/plan/cat/.gitkeep
271
+ - lib/gzr/templates/plan/disable/.gitkeep
272
+ - lib/gzr/templates/plan/enable/.gitkeep
273
+ - lib/gzr/templates/plan/failures/.gitkeep
274
+ - lib/gzr/templates/plan/import/.gitkeep
275
+ - lib/gzr/templates/plan/ls/.gitkeep
276
+ - lib/gzr/templates/plan/rm/.gitkeep
277
+ - lib/gzr/templates/plan/run/.gitkeep
278
+ - lib/gzr/templates/query/run/.gitkeep
279
+ - lib/gzr/templates/role/cat/.gitkeep
280
+ - lib/gzr/templates/role/group_add/.gitkeep
281
+ - lib/gzr/templates/role/group_ls/.gitkeep
282
+ - lib/gzr/templates/role/group_rm/.gitkeep
283
+ - lib/gzr/templates/role/ls/.gitkeep
284
+ - lib/gzr/templates/role/rm/.gitkeep
285
+ - lib/gzr/templates/role/user_add/.gitkeep
286
+ - lib/gzr/templates/role/user_ls/.gitkeep
287
+ - lib/gzr/templates/role/user_rm/.gitkeep
288
+ - lib/gzr/templates/space/cat/.gitkeep
289
+ - lib/gzr/templates/space/create/.gitkeep
290
+ - lib/gzr/templates/space/export/.gitkeep
291
+ - lib/gzr/templates/space/ls/.gitkeep
292
+ - lib/gzr/templates/space/rm/.gitkeep
293
+ - lib/gzr/templates/space/top/.gitkeep
294
+ - lib/gzr/templates/space/tree/.gitkeep
295
+ - lib/gzr/templates/user/cat/.gitkeep
296
+ - lib/gzr/templates/user/disable/.gitkeep
297
+ - lib/gzr/templates/user/enable/.gitkeep
298
+ - lib/gzr/templates/user/ls/.gitkeep
299
+ - lib/gzr/templates/user/me/.gitkeep
300
+ - lib/gzr/version.rb
301
+ homepage: https://github.com/deangelo-llooker/gzr
302
+ licenses:
303
+ - MIT
304
+ metadata: {}
305
+ post_install_message:
306
+ rdoc_options: []
307
+ require_paths:
308
+ - lib
309
+ required_ruby_version: !ruby/object:Gem::Requirement
310
+ requirements:
311
+ - - ">="
312
+ - !ruby/object:Gem::Version
313
+ version: 2.3.0
314
+ required_rubygems_version: !ruby/object:Gem::Requirement
315
+ requirements:
316
+ - - ">="
317
+ - !ruby/object:Gem::Version
318
+ version: '0'
319
+ requirements: []
320
+ rubyforge_project:
321
+ rubygems_version: 2.6.14
322
+ signing_key:
323
+ specification_version: 4
324
+ summary: Command line tool to manage the content of a Looker instance.
325
+ test_files: []