looker-sdk 0.0.5 → 0.1.1
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 +5 -5
- data/.gitignore +3 -0
- data/.travis.yml +1 -2
- data/CODE_OF_CONDUCT.md +46 -0
- data/Gemfile +1 -1
- data/LICENSE.md +33 -0
- data/Makefile +81 -0
- data/Rakefile +24 -27
- data/authentication.md +3 -3
- data/examples/add_delete_users.rb +24 -0
- data/examples/change_credentials_email_address_for_users.rb +24 -0
- data/examples/convert_look_to_lookless_tile.rb +71 -0
- data/examples/create_credentials_email_for_users.rb +24 -0
- data/examples/delete_all_user_sessions.rb +24 -0
- data/examples/delete_credentials_google_for_users.rb +24 -0
- data/examples/generate_password_reset_tokens_for_users.rb +24 -0
- data/examples/ldap_roles_test.rb +24 -0
- data/examples/me.rb +24 -0
- data/examples/refresh_user_notification_addresses.rb +24 -0
- data/examples/roles_and_users_with_permission.rb +24 -0
- data/examples/sdk_setup.rb +24 -0
- data/examples/streaming_downloads.rb +24 -0
- data/examples/users_with_credentials_email.rb +24 -0
- data/examples/users_with_credentials_embed.rb +33 -0
- data/examples/users_with_credentials_google.rb +23 -1
- data/examples/users_with_credentials_google_without_credentials_email.rb +24 -0
- data/lib/looker-sdk/authentication.rb +27 -2
- data/lib/looker-sdk/client/dynamic.rb +61 -11
- data/lib/looker-sdk/client.rb +86 -21
- data/lib/looker-sdk/configurable.rb +28 -2
- data/lib/looker-sdk/default.rb +30 -0
- data/lib/looker-sdk/error.rb +28 -0
- data/lib/looker-sdk/rate_limit.rb +24 -0
- data/lib/looker-sdk/response/raise_error.rb +25 -3
- data/lib/looker-sdk/sawyer_patch.rb +25 -1
- data/lib/looker-sdk/version.rb +25 -1
- data/lib/looker-sdk.rb +50 -0
- data/looker-sdk.gemspec +4 -3
- data/readme.md +12 -9
- data/shell/.netrc +3 -1
- data/shell/shell.rb +27 -2
- data/test/fixtures/{.netrc → .netrc.template} +0 -0
- data/test/helper.rb +26 -2
- data/test/looker/swagger.json +74 -3
- data/test/looker/test_client.rb +102 -6
- data/test/looker/test_dynamic_client.rb +101 -4
- data/test/looker/test_dynamic_client_agent.rb +24 -0
- metadata +50 -22
- data/LICENSE +0 -21
data/test/looker/test_client.rb
CHANGED
@@ -1,3 +1,27 @@
|
|
1
|
+
############################################################################################
|
2
|
+
# The MIT License (MIT)
|
3
|
+
#
|
4
|
+
# Copyright (c) 2018 Looker Data Sciences, Inc.
|
5
|
+
#
|
6
|
+
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
7
|
+
# of this software and associated documentation files (the "Software"), to deal
|
8
|
+
# in the Software without restriction, including without limitation the rights
|
9
|
+
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
10
|
+
# copies of the Software, and to permit persons to whom the Software is
|
11
|
+
# furnished to do so, subject to the following conditions:
|
12
|
+
#
|
13
|
+
# The above copyright notice and this permission notice shall be included in
|
14
|
+
# all copies or substantial portions of the Software.
|
15
|
+
#
|
16
|
+
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
17
|
+
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
18
|
+
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
19
|
+
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
20
|
+
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
21
|
+
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
22
|
+
# THE SOFTWARE.
|
23
|
+
############################################################################################
|
24
|
+
|
1
25
|
require_relative '../helper'
|
2
26
|
|
3
27
|
describe LookerSDK::Client do
|
@@ -6,8 +30,31 @@ describe LookerSDK::Client do
|
|
6
30
|
setup_sdk
|
7
31
|
end
|
8
32
|
|
9
|
-
|
10
|
-
|
33
|
+
describe "lazy load swagger" do
|
34
|
+
|
35
|
+
it "lazy loads swagger" do
|
36
|
+
LookerSDK.reset!
|
37
|
+
client = LookerSDK::Client.new(
|
38
|
+
:lazy_swagger => true,
|
39
|
+
:netrc => true,
|
40
|
+
:netrc_file => File.join(fixture_path, '.netrc'),
|
41
|
+
:connection_options => {:ssl => {:verify => false}},
|
42
|
+
)
|
43
|
+
assert_nil client.swagger
|
44
|
+
client.me()
|
45
|
+
assert client.swagger
|
46
|
+
end
|
47
|
+
|
48
|
+
it "loads swagger initially" do
|
49
|
+
LookerSDK.reset!
|
50
|
+
client = LookerSDK::Client.new(
|
51
|
+
:lazy_swagger => false,
|
52
|
+
:netrc => true,
|
53
|
+
:netrc_file => File.join(fixture_path, '.netrc'),
|
54
|
+
:connection_options => {:ssl => {:verify => false}},
|
55
|
+
)
|
56
|
+
assert client.swagger
|
57
|
+
end
|
11
58
|
end
|
12
59
|
|
13
60
|
describe "module configuration" do
|
@@ -26,8 +73,9 @@ describe LookerSDK::Client do
|
|
26
73
|
end
|
27
74
|
|
28
75
|
it "inherits the module configuration" do
|
29
|
-
client = LookerSDK::Client.new
|
76
|
+
client = LookerSDK::Client.new(:lazy_swagger => true)
|
30
77
|
LookerSDK::Configurable.keys.each do |key|
|
78
|
+
next if key == :lazy_swagger
|
31
79
|
client.instance_variable_get(:"@#{key}").must_equal("Some #{key}")
|
32
80
|
end
|
33
81
|
end
|
@@ -39,7 +87,8 @@ describe LookerSDK::Client do
|
|
39
87
|
:connection_options => {:ssl => {:verify => false}},
|
40
88
|
:per_page => 40,
|
41
89
|
:client_id => "looker_client_id",
|
42
|
-
:client_secret => "client_secret2"
|
90
|
+
:client_secret => "client_secret2",
|
91
|
+
:lazy_swagger => true,
|
43
92
|
}
|
44
93
|
end
|
45
94
|
|
@@ -87,7 +136,11 @@ describe LookerSDK::Client do
|
|
87
136
|
describe "with .netrc" do
|
88
137
|
it "can read .netrc files" do
|
89
138
|
LookerSDK.reset!
|
90
|
-
client = LookerSDK::Client.new(
|
139
|
+
client = LookerSDK::Client.new(
|
140
|
+
:lazy_swagger => true,
|
141
|
+
:netrc => true,
|
142
|
+
:netrc_file => File.join(fixture_path, '.netrc'),
|
143
|
+
)
|
91
144
|
client.client_id.wont_be_nil
|
92
145
|
client.client_secret.wont_be_nil
|
93
146
|
end
|
@@ -98,6 +151,9 @@ describe LookerSDK::Client do
|
|
98
151
|
|
99
152
|
before do
|
100
153
|
LookerSDK.reset!
|
154
|
+
LookerSDK.configure do |c|
|
155
|
+
c.lazy_swagger = true
|
156
|
+
end
|
101
157
|
end
|
102
158
|
|
103
159
|
it "sets oauth token with .configure" do
|
@@ -208,16 +264,56 @@ describe LookerSDK::Client do
|
|
208
264
|
end
|
209
265
|
end
|
210
266
|
|
267
|
+
[
|
268
|
+
[:get, '/api/3.0/users/foo%2Fbar', false],
|
269
|
+
[:get, '/api/3.0/users/foo%252Fbar', true],
|
270
|
+
[:post, '/api/3.0/users/foo%2Fbar', false],
|
271
|
+
[:post, '/api/3.0/users/foo%252Fbar', true],
|
272
|
+
[:put, '/api/3.0/users/foo%2Fbar', false],
|
273
|
+
[:put, '/api/3.0/users/foo%252Fbar', true],
|
274
|
+
[:patch, '/api/3.0/users/foo%2Fbar', false],
|
275
|
+
[:patch, '/api/3.0/users/foo%252Fbar', true],
|
276
|
+
[:delete, '/api/3.0/users/foo%2Fbar', false],
|
277
|
+
[:delete, '/api/3.0/users/foo%252Fbar', true],
|
278
|
+
[:head, '/api/3.0/users/foo%2Fbar', false],
|
279
|
+
[:head, '/api/3.0/users/foo%252Fbar', true],
|
280
|
+
].each do |method, path, encoded|
|
281
|
+
it "handles request path encoding" do
|
282
|
+
expected_path = '/api/3.0/users/foo%252Fbar'
|
283
|
+
|
284
|
+
resp = OpenStruct.new(:data => "hi", :status => 204)
|
285
|
+
mock = MiniTest::Mock.new.expect(:call, resp, [method, expected_path, nil, {}])
|
286
|
+
Sawyer::Agent.stubs(:new).returns(mock, mock)
|
287
|
+
|
288
|
+
sdk = LookerSDK::Client.new
|
289
|
+
if [:get, :delete, :head].include? method
|
290
|
+
args = [method, path, nil, encoded]
|
291
|
+
else
|
292
|
+
args = [method, path, nil, nil, encoded]
|
293
|
+
end
|
294
|
+
sdk.without_authentication do
|
295
|
+
value = sdk.public_send *args
|
296
|
+
assert_equal "hi", value
|
297
|
+
end
|
298
|
+
mock.verify
|
299
|
+
end
|
300
|
+
end
|
211
301
|
end
|
212
302
|
|
213
303
|
describe 'Sawyer date/time parsing patch' do
|
214
304
|
describe 'key matches time_field pattern' do
|
215
|
-
it 'does not modify non-iso date/time string' do
|
305
|
+
it 'does not modify non-iso date/time string or integer fields' do
|
216
306
|
values = {
|
217
307
|
:test_at => '30 days',
|
218
308
|
:test_on => 'July 20, 1969',
|
219
309
|
:test_date => '1968-04-03 12:23:34', # this is not iso8601 format!
|
220
310
|
:date => '2 months ago',
|
311
|
+
:test_int_at => 42,
|
312
|
+
:test_int_on => 42,
|
313
|
+
:test_int_date => 42.1,
|
314
|
+
:test_float_at => 42.1,
|
315
|
+
:test_float_on => 42.1,
|
316
|
+
:test_float_date => 42.1,
|
221
317
|
}
|
222
318
|
|
223
319
|
serializer = LookerSDK::Client.new.send(:serializer)
|
@@ -1,6 +1,30 @@
|
|
1
|
+
############################################################################################
|
2
|
+
# The MIT License (MIT)
|
3
|
+
#
|
4
|
+
# Copyright (c) 2018 Looker Data Sciences, Inc.
|
5
|
+
#
|
6
|
+
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
7
|
+
# of this software and associated documentation files (the "Software"), to deal
|
8
|
+
# in the Software without restriction, including without limitation the rights
|
9
|
+
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
10
|
+
# copies of the Software, and to permit persons to whom the Software is
|
11
|
+
# furnished to do so, subject to the following conditions:
|
12
|
+
#
|
13
|
+
# The above copyright notice and this permission notice shall be included in
|
14
|
+
# all copies or substantial portions of the Software.
|
15
|
+
#
|
16
|
+
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
17
|
+
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
18
|
+
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
19
|
+
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
20
|
+
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
21
|
+
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
22
|
+
# THE SOFTWARE.
|
23
|
+
############################################################################################
|
24
|
+
|
1
25
|
require_relative '../helper'
|
2
26
|
|
3
|
-
|
27
|
+
class LookerDynamicClientTest < MiniTest::Spec
|
4
28
|
|
5
29
|
def access_token
|
6
30
|
'87614b09dd141c22800f96f11737ade5226d7ba8'
|
@@ -12,6 +36,7 @@ describe LookerSDK::Client::Dynamic do
|
|
12
36
|
conn.adapter :rack, engine
|
13
37
|
end
|
14
38
|
|
39
|
+
LookerSDK.reset!
|
15
40
|
LookerSDK::Client.new do |config|
|
16
41
|
config.swagger = swagger
|
17
42
|
config.access_token = access_token
|
@@ -66,21 +91,79 @@ describe LookerSDK::Client::Dynamic do
|
|
66
91
|
mock.verify
|
67
92
|
end
|
68
93
|
|
69
|
-
|
70
94
|
describe "swagger" do
|
71
95
|
|
72
|
-
it "
|
96
|
+
it "raises when swagger.json can't be loaded" do
|
97
|
+
mock = MiniTest::Mock.new.expect(:call, nil) {raise "no swagger for you"}
|
98
|
+
mock.expect(:call, nil) {raise "still no swagger for you"}
|
99
|
+
err = assert_raises(RuntimeError) { sdk_client(nil, mock) }
|
100
|
+
assert_equal "still no swagger for you", err.message
|
101
|
+
end
|
102
|
+
|
103
|
+
it "loads swagger without authentication" do
|
104
|
+
resp = [200, {'Content-Type' => 'application/json'}, [default_swagger.to_json]]
|
105
|
+
mock = MiniTest::Mock.new.expect(:call, resp, [Hash])
|
106
|
+
sdk = sdk_client(nil, mock)
|
107
|
+
assert_equal default_swagger, sdk.swagger
|
108
|
+
end
|
109
|
+
|
110
|
+
it "loads swagger with authentication" do
|
111
|
+
resp = [200, {'Content-Type' => 'application/json'}, [default_swagger.to_json]]
|
112
|
+
mock = MiniTest::Mock.new.expect(:call, nil) {raise "login first!"}
|
113
|
+
mock.expect(:call, resp, [Hash])
|
114
|
+
sdk = sdk_client(nil, mock)
|
115
|
+
assert_equal default_swagger, sdk.swagger
|
116
|
+
end
|
117
|
+
|
118
|
+
it "invalid method name" do
|
119
|
+
sdk = sdk_client(default_swagger, nil)
|
120
|
+
assert_raises NoMethodError do
|
121
|
+
sdk.this_method_name_doesnt_exist()
|
122
|
+
end
|
123
|
+
|
124
|
+
assert_raises NameError do
|
125
|
+
sdk.invoke(:this_method_name_doesnt_exist)
|
126
|
+
end
|
127
|
+
end
|
128
|
+
|
129
|
+
describe "operation maps" do
|
130
|
+
it "invoke by string operationId" do
|
131
|
+
verify(response, :get, '/api/3.0/user') do |sdk|
|
132
|
+
sdk.invoke('me')
|
133
|
+
end
|
134
|
+
end
|
135
|
+
|
136
|
+
it "invoke by symbol operationId" do
|
137
|
+
verify(response, :get, '/api/3.0/user') do |sdk|
|
138
|
+
sdk.invoke(:me)
|
139
|
+
end
|
140
|
+
end
|
141
|
+
end
|
142
|
+
|
143
|
+
it "get no params" do
|
73
144
|
verify(response, :get, '/api/3.0/user') do |sdk|
|
74
145
|
sdk.me
|
75
146
|
end
|
76
147
|
end
|
77
148
|
|
78
|
-
it "get with
|
149
|
+
it "get with params" do
|
79
150
|
verify(response, :get, '/api/3.0/users/25') do |sdk|
|
80
151
|
sdk.user(25)
|
81
152
|
end
|
82
153
|
end
|
83
154
|
|
155
|
+
it "get with params that need encoding" do
|
156
|
+
verify(response, :get, '/api/3.0/users/foo%2Fbar') do |sdk|
|
157
|
+
sdk.user("foo/bar")
|
158
|
+
end
|
159
|
+
end
|
160
|
+
|
161
|
+
it "get with params already encoded" do
|
162
|
+
verify(response, :get, '/api/3.0/users/foo%2Fbar') do |sdk|
|
163
|
+
sdk.user("foo%2Fbar")
|
164
|
+
end
|
165
|
+
end
|
166
|
+
|
84
167
|
it "get with query" do
|
85
168
|
verify(response, :get, '/api/3.0/user', '', {bar:"foo"}) do |sdk|
|
86
169
|
sdk.me({bar:'foo'})
|
@@ -93,6 +176,20 @@ describe LookerSDK::Client::Dynamic do
|
|
93
176
|
end
|
94
177
|
end
|
95
178
|
|
179
|
+
it "get with array query param - string input (csv)" do
|
180
|
+
verify(response, :get, '/api/3.0/users/1/attribute_values','',{user_attribute_ids: '2,3,4'}) do |sdk|
|
181
|
+
sdk.user_attribute_user_values(1, {user_attribute_ids: '2,3,4'})
|
182
|
+
sdk.last_response.env.url.query.must_equal 'user_attribute_ids=2%2C3%2C4'
|
183
|
+
end
|
184
|
+
end
|
185
|
+
|
186
|
+
it "get with array query param - array input (multi[])" do
|
187
|
+
verify(response, :get, '/api/3.0/users/1/attribute_values','',{user_attribute_ids: ['2','3','4']}) do |sdk|
|
188
|
+
sdk.user_attribute_user_values(1, {user_attribute_ids: [2,3,4]})
|
189
|
+
sdk.last_response.env.url.query.must_equal 'user_attribute_ids%5B%5D=2&user_attribute_ids%5B%5D=3&user_attribute_ids%5B%5D=4'
|
190
|
+
end
|
191
|
+
end
|
192
|
+
|
96
193
|
it "post" do
|
97
194
|
verify(response, :post, '/api/3.0/users', {first_name:'Joe'}) do |sdk|
|
98
195
|
sdk.create_user({first_name:'Joe'})
|
@@ -1,3 +1,27 @@
|
|
1
|
+
############################################################################################
|
2
|
+
# The MIT License (MIT)
|
3
|
+
#
|
4
|
+
# Copyright (c) 2018 Looker Data Sciences, Inc.
|
5
|
+
#
|
6
|
+
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
7
|
+
# of this software and associated documentation files (the "Software"), to deal
|
8
|
+
# in the Software without restriction, including without limitation the rights
|
9
|
+
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
10
|
+
# copies of the Software, and to permit persons to whom the Software is
|
11
|
+
# furnished to do so, subject to the following conditions:
|
12
|
+
#
|
13
|
+
# The above copyright notice and this permission notice shall be included in
|
14
|
+
# all copies or substantial portions of the Software.
|
15
|
+
#
|
16
|
+
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
17
|
+
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
18
|
+
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
19
|
+
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
20
|
+
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
21
|
+
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
22
|
+
# THE SOFTWARE.
|
23
|
+
############################################################################################
|
24
|
+
|
1
25
|
require_relative '../helper'
|
2
26
|
|
3
27
|
describe LookerSDK::Client::Dynamic do
|
metadata
CHANGED
@@ -1,45 +1,72 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: looker-sdk
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Looker
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-09-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
|
+
name: sawyer
|
14
15
|
requirement: !ruby/object:Gem::Requirement
|
15
16
|
requirements:
|
16
|
-
- -
|
17
|
+
- - "~>"
|
17
18
|
- !ruby/object:Gem::Version
|
18
|
-
version: '0.
|
19
|
-
|
19
|
+
version: '0.8'
|
20
|
+
type: :runtime
|
20
21
|
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0.8'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: faraday
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '1.2'
|
34
|
+
- - "<"
|
35
|
+
- !ruby/object:Gem::Version
|
36
|
+
version: '2.0'
|
21
37
|
type: :runtime
|
38
|
+
prerelease: false
|
22
39
|
version_requirements: !ruby/object:Gem::Requirement
|
23
40
|
requirements:
|
24
|
-
- -
|
41
|
+
- - ">="
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
version: '1.2'
|
44
|
+
- - "<"
|
25
45
|
- !ruby/object:Gem::Version
|
26
|
-
version: '0
|
27
|
-
description: Use this SDK to access the Looker API. The Looker API provides functions
|
28
|
-
|
46
|
+
version: '2.0'
|
47
|
+
description: Use this SDK to access the Looker API. The Looker API provides functions
|
48
|
+
to perform administrative tasks such as provisioning users, configuring database
|
49
|
+
connections, and so on. It also enables you to leverage the Looker data analytics
|
50
|
+
engine to fetch data or render visualizations defined in your Looker data models.
|
51
|
+
For more information, see https://looker.com.
|
52
|
+
email: opensource+sdkruby@looker.com
|
29
53
|
executables: []
|
30
54
|
extensions: []
|
31
55
|
extra_rdoc_files: []
|
32
56
|
files:
|
33
|
-
- .gitignore
|
34
|
-
- .ruby-gemset
|
35
|
-
- .travis.yml
|
57
|
+
- ".gitignore"
|
58
|
+
- ".ruby-gemset"
|
59
|
+
- ".travis.yml"
|
60
|
+
- CODE_OF_CONDUCT.md
|
36
61
|
- Gemfile
|
37
|
-
- LICENSE
|
62
|
+
- LICENSE.md
|
63
|
+
- Makefile
|
38
64
|
- Rakefile
|
39
65
|
- authentication.md
|
40
66
|
- examples/.netrc
|
41
67
|
- examples/add_delete_users.rb
|
42
68
|
- examples/change_credentials_email_address_for_users.rb
|
69
|
+
- examples/convert_look_to_lookless_tile.rb
|
43
70
|
- examples/create_credentials_email_for_users.rb
|
44
71
|
- examples/delete_all_user_sessions.rb
|
45
72
|
- examples/delete_credentials_google_for_users.rb
|
@@ -51,6 +78,7 @@ files:
|
|
51
78
|
- examples/sdk_setup.rb
|
52
79
|
- examples/streaming_downloads.rb
|
53
80
|
- examples/users_with_credentials_email.rb
|
81
|
+
- examples/users_with_credentials_embed.rb
|
54
82
|
- examples/users_with_credentials_google.rb
|
55
83
|
- examples/users_with_credentials_google_without_credentials_email.rb
|
56
84
|
- lib/looker-sdk.rb
|
@@ -72,7 +100,7 @@ files:
|
|
72
100
|
- shell/readme.md
|
73
101
|
- shell/shell.rb
|
74
102
|
- streaming.md
|
75
|
-
- test/fixtures/.netrc
|
103
|
+
- test/fixtures/.netrc.template
|
76
104
|
- test/helper.rb
|
77
105
|
- test/looker/swagger.json
|
78
106
|
- test/looker/test_client.rb
|
@@ -83,25 +111,25 @@ homepage: https://github.com/looker/looker-sdk-ruby
|
|
83
111
|
licenses:
|
84
112
|
- MIT
|
85
113
|
metadata: {}
|
86
|
-
post_install_message:
|
114
|
+
post_install_message:
|
87
115
|
rdoc_options: []
|
88
116
|
require_paths:
|
89
117
|
- lib
|
90
118
|
required_ruby_version: !ruby/object:Gem::Requirement
|
91
119
|
requirements:
|
92
|
-
- -
|
120
|
+
- - ">="
|
93
121
|
- !ruby/object:Gem::Version
|
94
|
-
version:
|
122
|
+
version: '2.5'
|
95
123
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
96
124
|
requirements:
|
97
|
-
- -
|
125
|
+
- - ">="
|
98
126
|
- !ruby/object:Gem::Version
|
99
127
|
version: '0'
|
100
128
|
requirements:
|
101
129
|
- Looker version 4.0 or later
|
102
|
-
rubyforge_project:
|
103
|
-
rubygems_version: 2.
|
104
|
-
signing_key:
|
130
|
+
rubyforge_project:
|
131
|
+
rubygems_version: 2.7.6.2
|
132
|
+
signing_key:
|
105
133
|
specification_version: 4
|
106
134
|
summary: Looker Ruby SDK
|
107
135
|
test_files: []
|
data/LICENSE
DELETED
@@ -1,21 +0,0 @@
|
|
1
|
-
The MIT License (MIT)
|
2
|
-
|
3
|
-
Copyright (c) 2015 Looker Data Sciences, Inc.
|
4
|
-
|
5
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
6
|
-
of this software and associated documentation files (the "Software"), to deal
|
7
|
-
in the Software without restriction, including without limitation the rights
|
8
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
9
|
-
copies of the Software, and to permit persons to whom the Software is
|
10
|
-
furnished to do so, subject to the following conditions:
|
11
|
-
|
12
|
-
The above copyright notice and this permission notice shall be included in
|
13
|
-
all 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,
|
17
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
18
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
19
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
20
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
21
|
-
THE SOFTWARE.
|