gazer 0.2.44 → 0.2.50
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 +4 -4
- data/.github/scripts/wait_for_looker.sh +35 -0
- data/.github/workflows/release.yml +47 -0
- data/.github/workflows/ruby-ci.yml +60 -0
- data/.travis.yml +2 -2
- data/CHANGELOG.md +22 -0
- data/CODE_OF_CONDUCT.md +58 -39
- data/CONTRIBUTING.md +21 -21
- data/Gemfile +1 -4
- data/Gemfile.lock +69 -114
- data/README.md +1 -2
- data/gzr.gemspec +12 -12
- data/lib/gzr/cli.rb +2 -1
- data/lib/gzr/command.rb +1 -1
- data/lib/gzr/commands/attribute/ls.rb +1 -1
- data/lib/gzr/commands/connection/dialects.rb +1 -1
- data/lib/gzr/commands/connection/ls.rb +1 -1
- data/lib/gzr/commands/dashboard/cat.rb +6 -1
- data/lib/gzr/commands/dashboard.rb +2 -0
- data/lib/gzr/commands/group/ls.rb +1 -1
- data/lib/gzr/commands/group/member_groups.rb +1 -1
- data/lib/gzr/commands/group/member_users.rb +1 -1
- data/lib/gzr/commands/look/cat.rb +6 -1
- data/lib/gzr/commands/look.rb +2 -0
- data/lib/gzr/commands/model/ls.rb +1 -1
- data/lib/gzr/commands/permissions/ls.rb +1 -1
- data/lib/gzr/commands/plan/failures.rb +1 -1
- data/lib/gzr/commands/plan/ls.rb +1 -1
- data/lib/gzr/commands/role/group_ls.rb +1 -1
- data/lib/gzr/commands/role/ls.rb +1 -1
- data/lib/gzr/commands/role/rm.rb +1 -1
- data/lib/gzr/commands/role/user_ls.rb +1 -1
- data/lib/gzr/commands/space/ls.rb +1 -1
- data/lib/gzr/commands/space/top.rb +1 -1
- data/lib/gzr/commands/user/ls.rb +1 -1
- data/lib/gzr/commands/user/me.rb +1 -1
- data/lib/gzr/modules/session.rb +63 -21
- data/lib/gzr/version.rb +1 -1
- metadata +63 -29
data/lib/gzr/cli.rb
CHANGED
@@ -41,7 +41,8 @@ module Gzr
|
|
41
41
|
class_option :http_proxy, type: :string, desc: 'HTTP Proxy for connecting to Looker host'
|
42
42
|
class_option :force, type: :boolean, default: false, desc: 'Overwrite objects on server'
|
43
43
|
class_option :su, type: :string, desc: 'After connecting, change to user_id given'
|
44
|
-
|
44
|
+
class_option :width, type: :numeric, default: nil, desc: 'Width of rendering for tables'
|
45
|
+
class_option :persistent, type: :boolean, default: false, desc: 'Use persistent connection to communicate with host'
|
45
46
|
|
46
47
|
# Error raised by this runner
|
47
48
|
Error = Class.new(StandardError)
|
data/lib/gzr/command.rb
CHANGED
@@ -62,7 +62,7 @@ module Gzr
|
|
62
62
|
if @options[:csv] then
|
63
63
|
output.puts render_csv(table)
|
64
64
|
else
|
65
|
-
output.puts table.render(if @options[:plain] then :basic else :ascii end, alignments: alignments)
|
65
|
+
output.puts table.render(if @options[:plain] then :basic else :ascii end, alignments: alignments, width: @options[:width] || TTY::Screen.width)
|
66
66
|
end
|
67
67
|
end if table
|
68
68
|
end
|
@@ -61,7 +61,7 @@ module Gzr
|
|
61
61
|
if @options[:csv] then
|
62
62
|
output.puts render_csv(table)
|
63
63
|
else
|
64
|
-
output.puts table.render(if @options[:plain] then :basic else :ascii end, alignments: alignments)
|
64
|
+
output.puts table.render(if @options[:plain] then :basic else :ascii end, alignments: alignments, width: @options[:width] || TTY::Screen.width)
|
65
65
|
end
|
66
66
|
end if table
|
67
67
|
end
|
@@ -61,7 +61,7 @@ module Gzr
|
|
61
61
|
if @options[:csv] then
|
62
62
|
output.puts render_csv(table)
|
63
63
|
else
|
64
|
-
output.puts table.render(if @options[:plain] then :basic else :ascii end, alignments: alignments, width: 1024)
|
64
|
+
output.puts table.render(if @options[:plain] then :basic else :ascii end, alignments: alignments, width: 1024, width: @options[:width] || TTY::Screen.width)
|
65
65
|
end
|
66
66
|
end if table
|
67
67
|
end
|
@@ -117,7 +117,12 @@ module Gzr
|
|
117
117
|
outputJSON.gsub! k,v
|
118
118
|
end
|
119
119
|
|
120
|
-
|
120
|
+
file_name = if @options[:dir]
|
121
|
+
@options[:simple_filename] ? "Dashboard_#{data[:id]}.json" : "Dashboard_#{data[:id]}_#{data[:title]}.json"
|
122
|
+
else
|
123
|
+
nil
|
124
|
+
end
|
125
|
+
write_file(file_name, @options[:dir], nil, output) do |f|
|
121
126
|
f.puts outputJSON
|
122
127
|
end
|
123
128
|
end
|
@@ -52,6 +52,8 @@ module Gzr
|
|
52
52
|
desc: 'Include scheduled plans'
|
53
53
|
method_option :transform, type: :string,
|
54
54
|
desc: 'Fully-qualified path to a JSON file describing the transformations to apply'
|
55
|
+
method_option :simple_filename, type: :boolean,
|
56
|
+
desc: 'Use simple filename for output (Dashboard_<id>.json)'
|
55
57
|
def cat(dashboard_id)
|
56
58
|
if options[:help]
|
57
59
|
invoke :help, ['cat']
|
@@ -62,7 +62,7 @@ module Gzr
|
|
62
62
|
if @options[:csv] then
|
63
63
|
output.puts render_csv(table)
|
64
64
|
else
|
65
|
-
output.puts table.render(if @options[:plain] then :basic else :ascii end, alignments: alignments)
|
65
|
+
output.puts table.render(if @options[:plain] then :basic else :ascii end, alignments: alignments, width: @options[:width] || TTY::Screen.width)
|
66
66
|
end
|
67
67
|
end if table
|
68
68
|
end
|
@@ -63,7 +63,7 @@ module Gzr
|
|
63
63
|
if @options[:csv] then
|
64
64
|
output.puts render_csv(table)
|
65
65
|
else
|
66
|
-
output.puts table.render(if @options[:plain] then :basic else :ascii end, alignments: alignments)
|
66
|
+
output.puts table.render(if @options[:plain] then :basic else :ascii end, alignments: alignments, width: @options[:width] || TTY::Screen.width)
|
67
67
|
end
|
68
68
|
end if table
|
69
69
|
end
|
@@ -63,7 +63,7 @@ module Gzr
|
|
63
63
|
if @options[:csv] then
|
64
64
|
output.puts render_csv(table)
|
65
65
|
else
|
66
|
-
output.puts table.render(if @options[:plain] then :basic else :ascii end, alignments: alignments)
|
66
|
+
output.puts table.render(if @options[:plain] then :basic else :ascii end, alignments: alignments, width: @options[:width] || TTY::Screen.width)
|
67
67
|
end
|
68
68
|
end if table
|
69
69
|
end
|
@@ -50,7 +50,12 @@ module Gzr
|
|
50
50
|
end
|
51
51
|
|
52
52
|
data[:scheduled_plans] = query_scheduled_plans_for_look(@look_id,"all").to_attrs if @options[:plans]
|
53
|
-
|
53
|
+
file_name = if @options[:dir]
|
54
|
+
@options[:simple_filename] ? "Look_#{data[:id]}.json" : "Look_#{data[:id]}_#{data[:title]}.json"
|
55
|
+
else
|
56
|
+
nil
|
57
|
+
end
|
58
|
+
write_file(file_name, @options[:dir],nil, output) do |f|
|
54
59
|
f.puts JSON.pretty_generate(data)
|
55
60
|
end
|
56
61
|
end
|
data/lib/gzr/commands/look.rb
CHANGED
@@ -82,6 +82,8 @@ module Gzr
|
|
82
82
|
desc: 'Directory to store output file'
|
83
83
|
method_option :plans, type: :boolean,
|
84
84
|
desc: 'Include scheduled plans'
|
85
|
+
method_option :simple_filename, type: :boolean,
|
86
|
+
desc: 'Use simple filename for output (Look_<id>.json)'
|
85
87
|
def cat(look_id)
|
86
88
|
if options[:help]
|
87
89
|
invoke :help, ['cat']
|
@@ -61,7 +61,7 @@ module Gzr
|
|
61
61
|
if @options[:csv] then
|
62
62
|
output.puts render_csv(table)
|
63
63
|
else
|
64
|
-
output.puts table.render(if @options[:plain] then :basic else :ascii end, alignments: alignments)
|
64
|
+
output.puts table.render(if @options[:plain] then :basic else :ascii end, alignments: alignments, width: @options[:width] || TTY::Screen.width)
|
65
65
|
end
|
66
66
|
end if table
|
67
67
|
end
|
@@ -63,7 +63,7 @@ module Gzr
|
|
63
63
|
if @options[:csv] then
|
64
64
|
output.puts render_csv(table)
|
65
65
|
else
|
66
|
-
output.puts table.render(if @options[:plain] then :basic else :ascii end, alignments: alignments, width: 1024)
|
66
|
+
output.puts table.render(if @options[:plain] then :basic else :ascii end, alignments: alignments, width: 1024, width: @options[:width] || TTY::Screen.width)
|
67
67
|
end
|
68
68
|
end if table
|
69
69
|
end
|
@@ -87,7 +87,7 @@ module Gzr
|
|
87
87
|
if @options[:csv] then
|
88
88
|
output.puts render_csv(table)
|
89
89
|
else
|
90
|
-
output.puts table.render(if @options[:plain] then :basic else :ascii end, alignments: alignments)
|
90
|
+
output.puts table.render(if @options[:plain] then :basic else :ascii end, alignments: alignments, width: @options[:width] || TTY::Screen.width, width: @options[:width] || TTY::Screen.width)
|
91
91
|
end
|
92
92
|
end if table
|
93
93
|
end
|
data/lib/gzr/commands/plan/ls.rb
CHANGED
@@ -91,7 +91,7 @@ module Gzr
|
|
91
91
|
if @options[:csv] then
|
92
92
|
output.puts render_csv(table)
|
93
93
|
else
|
94
|
-
output.puts table.render(if @options[:plain] then :basic else :ascii end, alignments: alignments)
|
94
|
+
output.puts table.render(if @options[:plain] then :basic else :ascii end, alignments: alignments, width: @options[:width] || TTY::Screen.width)
|
95
95
|
end
|
96
96
|
end if table
|
97
97
|
end
|
@@ -65,7 +65,7 @@ module Gzr
|
|
65
65
|
if @options[:csv] then
|
66
66
|
output.puts render_csv(table)
|
67
67
|
else
|
68
|
-
output.puts table.render(if @options[:plain] then :basic else :ascii end, multiline: true, alignments: alignments)
|
68
|
+
output.puts table.render(if @options[:plain] then :basic else :ascii end, multiline: true, alignments: alignments, width: @options[:width] || TTY::Screen.width)
|
69
69
|
end
|
70
70
|
end if table
|
71
71
|
end
|
data/lib/gzr/commands/role/ls.rb
CHANGED
@@ -64,7 +64,7 @@ module Gzr
|
|
64
64
|
if @options[:csv] then
|
65
65
|
output.puts render_csv(table)
|
66
66
|
else
|
67
|
-
output.puts table.render(if @options[:plain] then :basic else :ascii end, multiline: true, alignments: alignments)
|
67
|
+
output.puts table.render(if @options[:plain] then :basic else :ascii end, multiline: true, alignments: alignments, width: @options[:width] || TTY::Screen.width)
|
68
68
|
end
|
69
69
|
end if table
|
70
70
|
end
|
data/lib/gzr/commands/role/rm.rb
CHANGED
@@ -65,7 +65,7 @@ module Gzr
|
|
65
65
|
if @options[:csv] then
|
66
66
|
output.puts render_csv(table)
|
67
67
|
else
|
68
|
-
output.puts table.render(if @options[:plain] then :basic else :ascii end, multiline: true, alignments: alignments)
|
68
|
+
output.puts table.render(if @options[:plain] then :basic else :ascii end, multiline: true, alignments: alignments, width: @options[:width] || TTY::Screen.width)
|
69
69
|
end
|
70
70
|
end if table
|
71
71
|
end
|
@@ -101,7 +101,7 @@ module Gzr
|
|
101
101
|
if @options[:csv] then
|
102
102
|
output.puts render_csv(table)
|
103
103
|
else
|
104
|
-
output.puts table.render(if @options[:plain] then :basic else :ascii end, alignments: alignments)
|
104
|
+
output.puts table.render(if @options[:plain] then :basic else :ascii end, alignments: alignments, width: @options[:width] || TTY::Screen.width)
|
105
105
|
end
|
106
106
|
end if table
|
107
107
|
end
|
@@ -65,7 +65,7 @@ module Gzr
|
|
65
65
|
if @options[:csv] then
|
66
66
|
output.puts render_csv(table)
|
67
67
|
else
|
68
|
-
output.puts table.render(if @options[:plain] then :basic else :ascii end, alignments: [:right])
|
68
|
+
output.puts table.render(if @options[:plain] then :basic else :ascii end, alignments: [:right], width: @options[:width] || TTY::Screen.width)
|
69
69
|
end
|
70
70
|
end if table
|
71
71
|
end
|
data/lib/gzr/commands/user/ls.rb
CHANGED
@@ -71,7 +71,7 @@ module Gzr
|
|
71
71
|
if @options[:csv] then
|
72
72
|
output.puts render_csv(table)
|
73
73
|
else
|
74
|
-
output.puts table.render(if @options[:plain] then :basic else :ascii end, alignments: alignments)
|
74
|
+
output.puts table.render(if @options[:plain] then :basic else :ascii end, alignments: alignments, width: @options[:width] || TTY::Screen.width)
|
75
75
|
end
|
76
76
|
end if table
|
77
77
|
end
|
data/lib/gzr/commands/user/me.rb
CHANGED
@@ -55,7 +55,7 @@ module Gzr
|
|
55
55
|
if @options[:csv] then
|
56
56
|
output.puts render_csv(table)
|
57
57
|
else
|
58
|
-
output.puts table.render(if @options[:plain] then :basic else :ascii end, alignments: alignments)
|
58
|
+
output.puts table.render(if @options[:plain] then :basic else :ascii end, alignments: alignments, width: @options[:width] || TTY::Screen.width)
|
59
59
|
end
|
60
60
|
end if table
|
61
61
|
end
|
data/lib/gzr/modules/session.rb
CHANGED
@@ -46,13 +46,19 @@ module Gzr
|
|
46
46
|
output.puts pastel.red data
|
47
47
|
end
|
48
48
|
|
49
|
-
|
50
|
-
|
49
|
+
@versions = []
|
50
|
+
@current_version = nil
|
51
|
+
|
52
|
+
def sufficient_version?(given_version, minimum_version)
|
53
|
+
return true unless (given_version && minimum_version)
|
54
|
+
versions = @versions.map {|v| v.version}.sort
|
55
|
+
!versions.drop_while {|v| v < minimum_version}.reverse.drop_while {|v| v > given_version}.empty?
|
51
56
|
end
|
52
57
|
|
53
|
-
|
58
|
+
|
59
|
+
def build_connection_hash(api_version=nil)
|
54
60
|
conn_hash = Hash.new
|
55
|
-
conn_hash[:api_endpoint] = "http#{@options[:ssl] ? "s" : ""}://#{@options[:host]}:#{@options[:port]}/api/#{api_version}"
|
61
|
+
conn_hash[:api_endpoint] = "http#{@options[:ssl] ? "s" : ""}://#{@options[:host]}:#{@options[:port]}/api/#{api_version||@current_version||""}"
|
56
62
|
if @options[:http_proxy]
|
57
63
|
conn_hash[:connection_options] ||= {}
|
58
64
|
conn_hash[:connection_options][:proxy] = {
|
@@ -68,7 +74,8 @@ module Gzr
|
|
68
74
|
}
|
69
75
|
else
|
70
76
|
conn_hash[:connection_options][:ssl] = {
|
71
|
-
:verify => false
|
77
|
+
:verify => false,
|
78
|
+
:verify_mode => (OpenSSL::SSL::VERIFY_NONE)
|
72
79
|
}
|
73
80
|
end
|
74
81
|
end
|
@@ -95,17 +102,45 @@ module Gzr
|
|
95
102
|
conn_hash
|
96
103
|
end
|
97
104
|
|
98
|
-
def login(
|
105
|
+
def login(min_api_version=nil)
|
106
|
+
if (@options[:client_id].nil? && ENV["LOOKERSDK_CLIENT_ID"])
|
107
|
+
@options[:client_id] = ENV["LOOKERSDK_CLIENT_ID"]
|
108
|
+
end
|
109
|
+
|
110
|
+
if (@options[:client_secret].nil? && ENV["LOOKERSDK_CLIENT_SECRET"])
|
111
|
+
@options[:client_secret] = ENV["LOOKERSDK_CLIENT_SECRET"]
|
112
|
+
end
|
113
|
+
|
114
|
+
if (@options[:api_version].nil? && ENV["LOOKERSDK_API_VERSION"])
|
115
|
+
@options[:api_version] = ENV["LOOKERSDK_API_VERSION"]
|
116
|
+
end
|
117
|
+
|
118
|
+
if (@options[:verify_ssl] && ENV["LOOKERSDK_VERIFY_SSL"])
|
119
|
+
@options[:verify_ssl] = !(/^f(alse)?$/i =~ ENV["LOOKERSDK_VERIFY_SSL"])
|
120
|
+
end
|
121
|
+
|
122
|
+
if ((@options[:host] == 'localhost') && ENV["LOOKERSDK_BASE_URL"])
|
123
|
+
base_url = ENV["LOOKERSDK_BASE_URL"]
|
124
|
+
@options[:ssl] = !!(/^https/ =~ base_url)
|
125
|
+
@options[:host] = /^https?:\/\/([^:\/]+)/.match(base_url)[1]
|
126
|
+
md = /:([0-9]+)\/?$/.match(base_url)
|
127
|
+
@options[:port] = md[1] if md
|
128
|
+
end
|
129
|
+
|
130
|
+
say_ok("using options #{@options.select { |k,v| k != 'client_secret' }.map { |k,v| "#{k}=>#{v}" }}") if @options[:debug]
|
131
|
+
|
99
132
|
@secret = nil
|
100
|
-
versions = nil
|
101
|
-
current_version = nil
|
102
133
|
begin
|
103
134
|
conn_hash = build_connection_hash
|
104
135
|
|
105
136
|
sawyer_options = {
|
106
137
|
:links_parser => Sawyer::LinkParsers::Simple.new,
|
107
138
|
:serializer => LookerSDK::Client::Serializer.new(JSON),
|
108
|
-
:faraday => Faraday.new(conn_hash[:connection_options])
|
139
|
+
:faraday => Faraday.new(conn_hash[:connection_options]) do |conn|
|
140
|
+
if @options[:persistent]
|
141
|
+
conn.adapter :net_http_persistent
|
142
|
+
end
|
143
|
+
end
|
109
144
|
}
|
110
145
|
|
111
146
|
endpoint = conn_hash[:api_endpoint]
|
@@ -119,8 +154,8 @@ module Gzr
|
|
119
154
|
|
120
155
|
begin
|
121
156
|
versions_response = agent.call(:get,"/versions")
|
122
|
-
versions = versions_response.data.supported_versions
|
123
|
-
current_version = versions_response.data.current_version
|
157
|
+
@versions = versions_response.data.supported_versions
|
158
|
+
@current_version = versions_response.data.current_version.version
|
124
159
|
rescue Faraday::SSLError => e
|
125
160
|
raise Gzr::CLI::Error, "SSL Certificate could not be verified\nDo you need the --no-verify-ssl option or the --no-ssl option?"
|
126
161
|
rescue Faraday::ConnectionFailed => cf
|
@@ -128,23 +163,30 @@ module Gzr
|
|
128
163
|
rescue LookerSDK::NotFound => nf
|
129
164
|
say_warning "endpoint #{root}/versions was not found"
|
130
165
|
end
|
131
|
-
versions.each do |v|
|
132
|
-
@v3_1_available = true if v.version == "3.1"
|
133
|
-
end
|
134
166
|
end
|
135
167
|
|
136
|
-
say_warning "API
|
168
|
+
say_warning "API current_version #{@current_version}" if @options[:debug]
|
169
|
+
say_warning "API versions #{@versions.map{|v| v.version}}" if @options[:debug]
|
170
|
+
|
171
|
+
raise Gzr::CLI::Error, "Operation requires API v#{min_api_version}, but user specified version #{@options[:api_version]}" unless sufficient_version?(@options[:api_version],min_api_version)
|
137
172
|
|
138
|
-
|
139
|
-
raise Gzr::CLI::Error, "Operation requires API
|
173
|
+
api_version = [min_api_version, @current_version].max
|
174
|
+
raise Gzr::CLI::Error, "Operation requires API v#{api_version}, which is not available from this host" if api_version && !@versions.any? {|v| v.version == api_version}
|
175
|
+
raise Gzr::CLI::Error, "User specified API v#{@options[:api_version]}, which is not available from this host" if @options[:api_version] && !@versions.any? {|v| v.version == @options[:api_version]}
|
140
176
|
|
141
|
-
conn_hash = build_connection_hash(@options[:api_version] ||
|
177
|
+
conn_hash = build_connection_hash(@options[:api_version] || api_version)
|
142
178
|
@secret = nil
|
143
179
|
|
144
180
|
say_ok("connecting to #{conn_hash.map { |k,v| "#{k}=>#{(k == :client_secret) ? '*********' : v}" }}") if @options[:debug]
|
145
181
|
|
146
182
|
begin
|
147
|
-
|
183
|
+
faraday = Faraday.new(conn_hash[:connection_options]) do |conn|
|
184
|
+
if @options[:persistent]
|
185
|
+
conn.adapter :net_http_persistent
|
186
|
+
end
|
187
|
+
end
|
188
|
+
@sdk = LookerSDK::Client.new(conn_hash.merge(faraday: faraday)) unless @sdk
|
189
|
+
|
148
190
|
say_ok "check for connectivity: #{@sdk.alive?}" if @options[:debug]
|
149
191
|
say_ok "verify authentication: #{@sdk.authenticated?}" if @options[:debug]
|
150
192
|
rescue LookerSDK::Unauthorized => e
|
@@ -200,10 +242,10 @@ module Gzr
|
|
200
242
|
end
|
201
243
|
end
|
202
244
|
|
203
|
-
def with_session(
|
245
|
+
def with_session(min_api_version="3.0")
|
204
246
|
return nil unless block_given?
|
205
247
|
begin
|
206
|
-
login(
|
248
|
+
login(min_api_version) unless @sdk
|
207
249
|
yield
|
208
250
|
rescue LookerSDK::Error => e
|
209
251
|
say_error e.errors if e.respond_to?(:errors) && e.errors
|
data/lib/gzr/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gazer
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.50
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Mike DeAngelo
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-11-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: tty-reader
|
@@ -16,70 +16,76 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 0.
|
19
|
+
version: 0.9.0
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 0.
|
26
|
+
version: 0.9.0
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: tty-table
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: 0.
|
33
|
+
version: 0.12.0
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: 0.
|
40
|
+
version: 0.12.0
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: tty-tree
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
45
|
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: 0.
|
47
|
+
version: 0.4.0
|
48
48
|
type: :runtime
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: 0.
|
54
|
+
version: 0.4.0
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: pastel
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
59
|
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: 0.
|
61
|
+
version: 0.8.0
|
62
62
|
type: :runtime
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
66
|
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version: 0.
|
68
|
+
version: 0.8.0
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: thor
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
73
|
- - "~>"
|
74
74
|
- !ruby/object:Gem::Version
|
75
|
-
version:
|
75
|
+
version: '1.1'
|
76
|
+
- - ">="
|
77
|
+
- !ruby/object:Gem::Version
|
78
|
+
version: 1.1.0
|
76
79
|
type: :runtime
|
77
80
|
prerelease: false
|
78
81
|
version_requirements: !ruby/object:Gem::Requirement
|
79
82
|
requirements:
|
80
83
|
- - "~>"
|
81
84
|
- !ruby/object:Gem::Version
|
82
|
-
version:
|
85
|
+
version: '1.1'
|
86
|
+
- - ">="
|
87
|
+
- !ruby/object:Gem::Version
|
88
|
+
version: 1.1.0
|
83
89
|
- !ruby/object:Gem::Dependency
|
84
90
|
name: netrc
|
85
91
|
requirement: !ruby/object:Gem::Requirement
|
@@ -99,6 +105,9 @@ dependencies:
|
|
99
105
|
requirement: !ruby/object:Gem::Requirement
|
100
106
|
requirements:
|
101
107
|
- - "~>"
|
108
|
+
- !ruby/object:Gem::Version
|
109
|
+
version: '1.3'
|
110
|
+
- - ">="
|
102
111
|
- !ruby/object:Gem::Version
|
103
112
|
version: 1.3.0
|
104
113
|
type: :runtime
|
@@ -106,6 +115,9 @@ dependencies:
|
|
106
115
|
version_requirements: !ruby/object:Gem::Requirement
|
107
116
|
requirements:
|
108
117
|
- - "~>"
|
118
|
+
- !ruby/object:Gem::Version
|
119
|
+
version: '1.3'
|
120
|
+
- - ">="
|
109
121
|
- !ruby/object:Gem::Version
|
110
122
|
version: 1.3.0
|
111
123
|
- !ruby/object:Gem::Dependency
|
@@ -114,82 +126,104 @@ dependencies:
|
|
114
126
|
requirements:
|
115
127
|
- - "~>"
|
116
128
|
- !ruby/object:Gem::Version
|
117
|
-
version: 0.
|
129
|
+
version: 0.1.1
|
118
130
|
type: :runtime
|
119
131
|
prerelease: false
|
120
132
|
version_requirements: !ruby/object:Gem::Requirement
|
121
133
|
requirements:
|
122
134
|
- - "~>"
|
123
135
|
- !ruby/object:Gem::Version
|
124
|
-
version: 0.
|
136
|
+
version: 0.1.1
|
125
137
|
- !ruby/object:Gem::Dependency
|
126
|
-
name:
|
138
|
+
name: net-http-persistent
|
127
139
|
requirement: !ruby/object:Gem::Requirement
|
128
140
|
requirements:
|
129
141
|
- - "~>"
|
130
142
|
- !ruby/object:Gem::Version
|
131
|
-
version: '
|
132
|
-
|
143
|
+
version: '4.0'
|
144
|
+
- - ">="
|
145
|
+
- !ruby/object:Gem::Version
|
146
|
+
version: 4.0.1
|
147
|
+
type: :runtime
|
133
148
|
prerelease: false
|
134
149
|
version_requirements: !ruby/object:Gem::Requirement
|
135
150
|
requirements:
|
136
151
|
- - "~>"
|
137
152
|
- !ruby/object:Gem::Version
|
138
|
-
version: '
|
153
|
+
version: '4.0'
|
154
|
+
- - ">="
|
155
|
+
- !ruby/object:Gem::Version
|
156
|
+
version: 4.0.1
|
139
157
|
- !ruby/object:Gem::Dependency
|
140
|
-
name:
|
158
|
+
name: bundler
|
141
159
|
requirement: !ruby/object:Gem::Requirement
|
142
160
|
requirements:
|
143
161
|
- - "~>"
|
144
162
|
- !ruby/object:Gem::Version
|
145
|
-
version:
|
163
|
+
version: '2.2'
|
164
|
+
- - ">="
|
165
|
+
- !ruby/object:Gem::Version
|
166
|
+
version: 2.2.10
|
146
167
|
type: :development
|
147
168
|
prerelease: false
|
148
169
|
version_requirements: !ruby/object:Gem::Requirement
|
149
170
|
requirements:
|
150
171
|
- - "~>"
|
151
172
|
- !ruby/object:Gem::Version
|
152
|
-
version:
|
173
|
+
version: '2.2'
|
174
|
+
- - ">="
|
175
|
+
- !ruby/object:Gem::Version
|
176
|
+
version: 2.2.10
|
153
177
|
- !ruby/object:Gem::Dependency
|
154
|
-
name:
|
178
|
+
name: rake
|
155
179
|
requirement: !ruby/object:Gem::Requirement
|
156
180
|
requirements:
|
157
181
|
- - "~>"
|
158
182
|
- !ruby/object:Gem::Version
|
159
|
-
version: '3
|
183
|
+
version: '12.3'
|
184
|
+
- - ">="
|
185
|
+
- !ruby/object:Gem::Version
|
186
|
+
version: 12.3.3
|
160
187
|
type: :development
|
161
188
|
prerelease: false
|
162
189
|
version_requirements: !ruby/object:Gem::Requirement
|
163
190
|
requirements:
|
164
191
|
- - "~>"
|
165
192
|
- !ruby/object:Gem::Version
|
166
|
-
version: '3
|
193
|
+
version: '12.3'
|
194
|
+
- - ">="
|
195
|
+
- !ruby/object:Gem::Version
|
196
|
+
version: 12.3.3
|
167
197
|
- !ruby/object:Gem::Dependency
|
168
|
-
name:
|
198
|
+
name: rspec
|
169
199
|
requirement: !ruby/object:Gem::Requirement
|
170
200
|
requirements:
|
171
201
|
- - "~>"
|
172
202
|
- !ruby/object:Gem::Version
|
173
|
-
version: '0
|
203
|
+
version: '3.0'
|
174
204
|
type: :development
|
175
205
|
prerelease: false
|
176
206
|
version_requirements: !ruby/object:Gem::Requirement
|
177
207
|
requirements:
|
178
208
|
- - "~>"
|
179
209
|
- !ruby/object:Gem::Version
|
180
|
-
version: '0
|
181
|
-
description:
|
210
|
+
version: '3.0'
|
211
|
+
description: This tool will help manage the content of a Looker instance.
|
182
212
|
email:
|
183
|
-
-
|
213
|
+
- drstrangelove@google.com
|
184
214
|
executables:
|
185
215
|
- gzr
|
186
216
|
extensions: []
|
187
217
|
extra_rdoc_files: []
|
188
218
|
files:
|
219
|
+
- ".github/scripts/wait_for_looker.sh"
|
220
|
+
- ".github/workflows/release.yml"
|
221
|
+
- ".github/workflows/ruby-ci.yml"
|
189
222
|
- ".gitignore"
|
190
223
|
- ".rspec"
|
191
224
|
- ".ruby-version"
|
192
225
|
- ".travis.yml"
|
226
|
+
- CHANGELOG.md
|
193
227
|
- CODE_OF_CONDUCT.md
|
194
228
|
- CONTRIBUTING.md
|
195
229
|
- Gemfile
|