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.
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
@@ -281,7 +281,7 @@ module Gzr
281
281
  # end
282
282
 
283
283
  def keys_to_keep(operation)
284
- o = @sdk.operations[operation]
284
+ o = @sdk.operations[operation] || @sdk.operations[operation.to_sym]
285
285
  begin
286
286
  say_error "Operation #{operation} not found"
287
287
  return []
@@ -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
- write_file(@options[:dir] ? "Dashboard_#{data[:id]}_#{data[:title]}.json" : nil, @options[:dir], nil, output) do |f|
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
- write_file(@options[:dir] ? "Look_#{data[:id]}_#{data[:title]}.json" : nil, @options[:dir],nil, output) do |f|
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
@@ -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
@@ -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
@@ -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
@@ -38,7 +38,7 @@ module Gzr
38
38
  def execute(input: $stdin, output: $stdout)
39
39
  say_warning("options: #{@options.inspect}") if @options[:debug]
40
40
  with_session do
41
- delete_role(@plan_id)
41
+ delete_role(@role_id)
42
42
  end
43
43
  end
44
44
  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
@@ -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
@@ -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
@@ -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
@@ -46,13 +46,19 @@ module Gzr
46
46
  output.puts pastel.red data
47
47
  end
48
48
 
49
- def v3_1_available?
50
- @v3_1_available ||= false
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
- def build_connection_hash(api_version='3.0')
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(api_version)
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 3.1 available? #{v3_1_available?}" if @options[:debug]
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
- raise Gzr::CLI::Error, "Operation requires API v3.1, but user specified a different version" if (api_version == "3.1") && @options[:api_version] && !("3.1" == @options[:api_version])
139
- raise Gzr::CLI::Error, "Operation requires API v3.1, which is not available from this host" if (api_version == "3.1") && !v3_1_available?
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] || current_version.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
- @sdk = LookerSDK::Client.new(conn_hash) unless @sdk
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(api_version="3.0")
245
+ def with_session(min_api_version="3.0")
204
246
  return nil unless block_given?
205
247
  begin
206
- login(api_version) unless @sdk
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
@@ -20,5 +20,5 @@
20
20
  # CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
21
21
 
22
22
  module Gzr
23
- VERSION = "0.2.44"
23
+ VERSION = "0.2.50"
24
24
  end
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.44
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: 2020-11-16 00:00:00.000000000 Z
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.3.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.3.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.10.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.10.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.1.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.1.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.7.2
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.7.2
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: 0.20.0
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: 0.20.0
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.0.7
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.0.7
136
+ version: 0.1.1
125
137
  - !ruby/object:Gem::Dependency
126
- name: bundler
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: '1.17'
132
- type: :development
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: '1.17'
153
+ version: '4.0'
154
+ - - ">="
155
+ - !ruby/object:Gem::Version
156
+ version: 4.0.1
139
157
  - !ruby/object:Gem::Dependency
140
- name: rake
158
+ name: bundler
141
159
  requirement: !ruby/object:Gem::Requirement
142
160
  requirements:
143
161
  - - "~>"
144
162
  - !ruby/object:Gem::Version
145
- version: 12.3.3
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: 12.3.3
173
+ version: '2.2'
174
+ - - ">="
175
+ - !ruby/object:Gem::Version
176
+ version: 2.2.10
153
177
  - !ruby/object:Gem::Dependency
154
- name: rspec
178
+ name: rake
155
179
  requirement: !ruby/object:Gem::Requirement
156
180
  requirements:
157
181
  - - "~>"
158
182
  - !ruby/object:Gem::Version
159
- version: '3.0'
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.0'
193
+ version: '12.3'
194
+ - - ">="
195
+ - !ruby/object:Gem::Version
196
+ version: 12.3.3
167
197
  - !ruby/object:Gem::Dependency
168
- name: tty
198
+ name: rspec
169
199
  requirement: !ruby/object:Gem::Requirement
170
200
  requirements:
171
201
  - - "~>"
172
202
  - !ruby/object:Gem::Version
173
- version: '0.8'
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.8'
181
- description: Command line tool to manage the content of a Looker instance.
210
+ version: '3.0'
211
+ description: This tool will help manage the content of a Looker instance.
182
212
  email:
183
- - deangelo@looker.com
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