gooddata-bricks 0.5.0 → 0.6.0
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/.gitignore +1 -0
- data/.rubocop.yml +78 -3
- data/gooddata-bricks.gemspec +5 -5
- data/lib/gooddata/bricks/base_downloader.rb +86 -0
- data/lib/gooddata/bricks/middleware/bench_middleware.rb +1 -0
- data/lib/gooddata/bricks/middleware/dwh_middleware.rb +1 -1
- data/lib/gooddata/bricks/middleware/gooddata_middleware.rb +61 -22
- data/lib/gooddata/bricks/middleware/params_inspect_middleware.rb +21 -0
- data/lib/gooddata/bricks/version.rb +1 -1
- data/lib/gooddata/helpers/data_helper.rb +2 -3
- metadata +72 -47
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1bbf4e721ee07561d0a148a71a03be11adbdc43f
|
4
|
+
data.tar.gz: 05d5f2febf699e6a10113c500ae83d1c396789e3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 90a7c09c10fcad5d51419f2a16f056a2843b3b2524ff00e4bba5ef7487879b4c07b48dbee76d31953f7d6e0355acc6783cec43b4bf5d1be80e52e56358f30bbd
|
7
|
+
data.tar.gz: 515f0a2473d13895cab46eee334422b4e9af19282f69201613fb14c099c2f30bc062cea3704d388a044093309ecd937293cd2d88bbf496d9eb201eea97a8a2a7
|
data/.gitignore
CHANGED
data/.rubocop.yml
CHANGED
@@ -1,20 +1,95 @@
|
|
1
|
+
AllCops:
|
2
|
+
DisplayCopNames: true
|
3
|
+
|
1
4
|
AbcSize:
|
2
5
|
Enabled: false
|
3
6
|
|
7
|
+
ClassLength:
|
8
|
+
Enabled: false
|
9
|
+
|
10
|
+
Metrics/BlockLength:
|
11
|
+
Max: 40
|
12
|
+
|
13
|
+
ModuleLength:
|
14
|
+
Enabled: false
|
15
|
+
|
16
|
+
CyclomaticComplexity:
|
17
|
+
Enabled: false
|
18
|
+
|
4
19
|
Documentation:
|
5
20
|
Enabled: false
|
6
21
|
|
22
|
+
EachWithObject:
|
23
|
+
Enabled: false
|
24
|
+
|
25
|
+
Eval:
|
26
|
+
Enabled: false
|
27
|
+
|
28
|
+
FormatString:
|
29
|
+
Enabled: false
|
30
|
+
|
31
|
+
HashSyntax:
|
32
|
+
Enabled: false
|
33
|
+
|
7
34
|
LineLength:
|
8
35
|
Max: 323
|
9
36
|
|
10
37
|
MethodLength:
|
11
38
|
Enabled: false
|
12
39
|
|
13
|
-
|
40
|
+
PerceivedComplexity:
|
14
41
|
Enabled: false
|
15
42
|
|
16
|
-
|
43
|
+
Alias:
|
17
44
|
Enabled: false
|
18
45
|
|
19
|
-
|
46
|
+
Casecmp:
|
47
|
+
Enabled: false
|
48
|
+
|
49
|
+
ConditionalAssignment:
|
50
|
+
Enabled: false
|
51
|
+
|
52
|
+
GuardClause:
|
53
|
+
Enabled: false
|
54
|
+
|
55
|
+
IdenticalConditionalBranches:
|
56
|
+
Enabled: false
|
57
|
+
|
58
|
+
IfInsideElse:
|
59
|
+
Enabled: false
|
60
|
+
|
61
|
+
IneffectiveAccessModifier:
|
62
|
+
Enabled: false
|
63
|
+
|
64
|
+
MultilineMethodCallIndentation:
|
65
|
+
Enabled: false
|
66
|
+
|
67
|
+
MutableConstant:
|
68
|
+
Enabled: false
|
69
|
+
|
70
|
+
RedundantBlockCall:
|
71
|
+
Enabled: false
|
72
|
+
|
73
|
+
RedundantMerge:
|
74
|
+
Enabled: false
|
75
|
+
|
76
|
+
RedundantParentheses:
|
77
|
+
Enabled: false
|
78
|
+
|
79
|
+
StringLiterals:
|
80
|
+
Enabled: false
|
81
|
+
|
82
|
+
SignalException:
|
83
|
+
Enabled: false
|
84
|
+
|
85
|
+
TimesMap:
|
86
|
+
Enabled: false
|
87
|
+
|
88
|
+
UnneededDisable:
|
89
|
+
Enabled: false
|
90
|
+
|
91
|
+
UnneededInterpolation:
|
92
|
+
Enabled: false
|
93
|
+
|
94
|
+
UselessAccessModifier:
|
20
95
|
Enabled: false
|
data/gooddata-bricks.gemspec
CHANGED
@@ -25,15 +25,15 @@ Gem::Specification.new do |spec|
|
|
25
25
|
spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
|
26
26
|
spec.require_paths = ["lib"]
|
27
27
|
|
28
|
-
spec.add_development_dependency "bundler", "~> 1.
|
29
|
-
spec.add_development_dependency "rake", "~>
|
30
|
-
spec.add_development_dependency "rspec"
|
31
|
-
spec.add_development_dependency 'rubocop', '~> 0.
|
28
|
+
spec.add_development_dependency "bundler", "~> 1.13", '>= 1.13.6'
|
29
|
+
spec.add_development_dependency "rake", "~> 11.1", '>= 11.1.1'
|
30
|
+
spec.add_development_dependency "rspec", '~> 3.5', '>= 3.5.0'
|
31
|
+
spec.add_development_dependency 'rubocop', '~> 0.45', '>= 0.45.0'
|
32
32
|
|
33
33
|
spec.add_dependency 'aws-sdk', '~> 1.45'
|
34
34
|
spec.add_dependency 'restforce', '~> 2.1', '>= 2.1.1'
|
35
35
|
spec.add_dependency 'salesforce_bulk_query', '~> 0.2', '>= 0.2.0'
|
36
36
|
spec.add_dependency 'gooddata'
|
37
37
|
spec.add_dependency 'gooddata_datawarehouse'
|
38
|
-
spec.add_dependency 'multi_json'
|
38
|
+
spec.add_dependency 'multi_json', '~> 1.11', '>= 1.11.2'
|
39
39
|
end
|
@@ -0,0 +1,86 @@
|
|
1
|
+
# encoding: UTF-8
|
2
|
+
#
|
3
|
+
# Copyright (c) 2010-2015 GoodData Corporation. All rights reserved.
|
4
|
+
# This source code is licensed under the BSD-style license found in the
|
5
|
+
# LICENSE file in the root directory of this source tree.
|
6
|
+
|
7
|
+
require 'pathname'
|
8
|
+
require 'aws'
|
9
|
+
|
10
|
+
module GoodData
|
11
|
+
module Bricks
|
12
|
+
class BaseDownloader
|
13
|
+
def initialize(params)
|
14
|
+
@params = params
|
15
|
+
@logger = @params['GDC_LOGGER']
|
16
|
+
end
|
17
|
+
|
18
|
+
def pre_process(meta)
|
19
|
+
meta
|
20
|
+
end
|
21
|
+
|
22
|
+
def download
|
23
|
+
@logger.info 'would download data' if @logger
|
24
|
+
[]
|
25
|
+
end
|
26
|
+
|
27
|
+
def backup(meta)
|
28
|
+
@logger.info 'would send a backup list of files to backup' if @logger
|
29
|
+
|
30
|
+
files = meta['objects'].map { |_k, o| o }.reduce([]) do |a, e|
|
31
|
+
a + e['filenames']
|
32
|
+
end
|
33
|
+
|
34
|
+
bucket_name = @params['s3_backup_bucket_name']
|
35
|
+
|
36
|
+
s3 = AWS::S3.new(
|
37
|
+
:access_key_id => @params['aws_access_key_id'],
|
38
|
+
:secret_access_key => @params['aws_secret_access_key']
|
39
|
+
)
|
40
|
+
|
41
|
+
bucket = s3.buckets[bucket_name]
|
42
|
+
bucket = s3.buckets.create(bucket_name) unless bucket.exists?
|
43
|
+
|
44
|
+
files.each do |file|
|
45
|
+
file_path = Pathname.new(file)
|
46
|
+
target_path = Pathname.new(@params['s3_backup_path'] || '') + file_path.basename
|
47
|
+
obj = bucket.objects[target_path]
|
48
|
+
obj.write(file_path)
|
49
|
+
@logger.info "Backed up file #{file_path} to s3 #{target_path}" if @logger
|
50
|
+
end
|
51
|
+
|
52
|
+
meta
|
53
|
+
end
|
54
|
+
|
55
|
+
def post_process(meta)
|
56
|
+
@logger.info 'Maybe some postprocessing' if @logger
|
57
|
+
meta
|
58
|
+
end
|
59
|
+
|
60
|
+
# Run downloader
|
61
|
+
def run
|
62
|
+
downloaded_data = download
|
63
|
+
downloaded_data = pre_process(downloaded_data)
|
64
|
+
backup(downloaded_data) unless @params['skip_backup']
|
65
|
+
|
66
|
+
downloaded_data = post_process(downloaded_data)
|
67
|
+
|
68
|
+
# save the state - whatever is in the return value of #download in the :persist key .. to project metadata
|
69
|
+
if downloaded_data[:persist]
|
70
|
+
accumulated_state = downloaded_data[:persist].reduce([]) do |memo, item|
|
71
|
+
item.key?(:state) ? memo.concat(item[:state]) : memo
|
72
|
+
end
|
73
|
+
accumulated_state.each do |item|
|
74
|
+
key = item[:key]
|
75
|
+
val = item[:value]
|
76
|
+
|
77
|
+
@logger.info "Saving metadata #{key} => #{val}" if @logger
|
78
|
+
GoodData::ProjectMetadata[key] = val
|
79
|
+
end
|
80
|
+
end
|
81
|
+
|
82
|
+
post_process(downloaded_data)
|
83
|
+
end
|
84
|
+
end
|
85
|
+
end
|
86
|
+
end
|
@@ -12,7 +12,7 @@ module GoodData
|
|
12
12
|
class WarehouseMiddleware < Bricks::Middleware
|
13
13
|
def call(params)
|
14
14
|
if params.key?('ads_client')
|
15
|
-
|
15
|
+
GoodData.logger.info "Setting up ADS connection to #{params['ads_client']['ads_id'] || params['ads_client']['jdbc_url']}"
|
16
16
|
raise "ADS middleware needs username either as part of ads_client spec or as a global 'GDC_USERNAME' parameter" unless params['ads_client']['username'] || params['GDC_USERNAME']
|
17
17
|
raise "ADS middleware needs password either as part of ads_client spec or as a global 'GDC_PASSWORD' parameter" unless params['ads_client']['password'] || params['GDC_PASSWORD']
|
18
18
|
|
@@ -9,38 +9,77 @@ require_relative 'base_middleware'
|
|
9
9
|
module GoodData
|
10
10
|
module Bricks
|
11
11
|
class GoodDataMiddleware < Bricks::Middleware
|
12
|
+
DEFAULT_PROTOCOL = 'https'
|
13
|
+
DEFAULT_HOSTNAME = 'secure.gooddata.com'
|
14
|
+
|
12
15
|
def call(params)
|
16
|
+
# Convert possible jruby hash to plain hash
|
13
17
|
params = params.to_hash
|
18
|
+
|
19
|
+
# Transform keys
|
20
|
+
params = GoodData::Helpers.deep_stringify_keys(params)
|
21
|
+
# params = GoodData::Helpers.deep_symbolize_keys(params)
|
22
|
+
|
23
|
+
# Set logger
|
14
24
|
logger = params['GDC_LOGGER']
|
15
|
-
token_name = 'GDC_SST'
|
16
|
-
protocol_name = 'CLIENT_GDC_PROTOCOL'
|
17
|
-
server_name = 'CLIENT_GDC_HOSTNAME'
|
18
|
-
project_id = params['GDC_PROJECT_ID']
|
19
|
-
verify_ssl = params['GDC_VERIFY_SSL'] == 'false' || params['GDC_VERIFY_SSL'] == false ? false : true
|
20
|
-
|
21
|
-
server = if params[protocol_name] && params[server_name]
|
22
|
-
"#{params[protocol_name]}://#{params[server_name]}"
|
23
|
-
end
|
24
|
-
|
25
|
-
client = if params['GDC_USERNAME'].nil? || params['GDC_PASSWORD'].nil?
|
26
|
-
puts "Connecting with SST to server #{server}"
|
27
|
-
raise 'SST (SuperSecureToken) not present in params' if params[token_name].nil?
|
28
|
-
GoodData.connect(sst_token: params[token_name], server: server, verify_ssl: verify_ssl)
|
29
|
-
else
|
30
|
-
puts "Connecting as #{params['GDC_USERNAME']} to server #{server}"
|
31
|
-
GoodData.connect(params['GDC_USERNAME'], params['GDC_PASSWORD'], server: server, verify_ssl: verify_ssl)
|
32
|
-
end
|
33
|
-
project = client.projects(project_id)
|
34
|
-
GoodData.project = project
|
35
25
|
GoodData.logger = logger
|
36
|
-
|
26
|
+
|
27
|
+
# Connect Client
|
28
|
+
client = GoodDataMiddleware.connect(
|
29
|
+
params['CLIENT_GDC_PROTOCOL'] || DEFAULT_PROTOCOL,
|
30
|
+
params['CLIENT_GDC_HOSTNAME'] || DEFAULT_HOSTNAME,
|
31
|
+
params['GDC_VERIFY_SSL'].to_b,
|
32
|
+
params['GDC_USERNAME'],
|
33
|
+
params['GDC_PASSWORD'],
|
34
|
+
params['GDC_SST']
|
35
|
+
)
|
36
|
+
|
37
|
+
opts = params['development_client']
|
38
|
+
if opts
|
39
|
+
development_client = GoodDataMiddleware.connect(
|
40
|
+
opts['protocol'] || DEFAULT_PROTOCOL,
|
41
|
+
opts['hostname'] || DEFAULT_HOSTNAME,
|
42
|
+
opts['verify_ssl'].to_b,
|
43
|
+
opts['username'],
|
44
|
+
opts['password'],
|
45
|
+
opts['sst']
|
46
|
+
)
|
47
|
+
else
|
48
|
+
development_client = client
|
49
|
+
end
|
50
|
+
|
51
|
+
new_params = {
|
52
|
+
'GDC_GD_CLIENT' => client,
|
53
|
+
'development_client' => development_client
|
54
|
+
}
|
55
|
+
|
56
|
+
if params['GDC_PROJECT_ID']
|
57
|
+
new_params['gdc_project'] = GoodData.project = client.projects(params['GDC_PROJECT_ID'])
|
58
|
+
end
|
59
|
+
|
60
|
+
returning_value = @app.call(params.merge(new_params))
|
37
61
|
begin
|
38
62
|
client.disconnect
|
39
63
|
rescue
|
40
|
-
puts 'Tried to disconnect. Was
|
64
|
+
puts 'Tried to disconnect. Was unsuccessful. Proceeding anyway.'
|
41
65
|
end
|
42
66
|
returning_value
|
43
67
|
end
|
68
|
+
|
69
|
+
class << self
|
70
|
+
def connect(protocol, hostname, verify_ssl, username, password, sst_token)
|
71
|
+
server = "#{protocol}://#{hostname}" if protocol && hostname
|
72
|
+
|
73
|
+
if username.nil? || password.nil?
|
74
|
+
puts "Connecting with SST to server #{server}"
|
75
|
+
raise 'SST (SuperSecureToken) not present in params' if sst_token.nil?
|
76
|
+
GoodData.connect(sst_token: sst_token, server: server, verify_ssl: verify_ssl)
|
77
|
+
else
|
78
|
+
puts "Connecting as #{username} to server #{server}"
|
79
|
+
GoodData.connect(username, password, server: server, verify_ssl: verify_ssl)
|
80
|
+
end
|
81
|
+
end
|
82
|
+
end
|
44
83
|
end
|
45
84
|
end
|
46
85
|
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
# encoding: UTF-8
|
2
|
+
#
|
3
|
+
# Copyright (c) 2010-2015 GoodData Corporation. All rights reserved.
|
4
|
+
# This source code is licensed under the BSD-style license found in the
|
5
|
+
# LICENSE file in the root directory of this source tree.
|
6
|
+
|
7
|
+
require 'logger'
|
8
|
+
|
9
|
+
require_relative 'base_middleware'
|
10
|
+
|
11
|
+
module GoodData
|
12
|
+
module Bricks
|
13
|
+
class ParamsInspectMiddleware < Bricks::Middleware
|
14
|
+
def call(params)
|
15
|
+
inspect = params[:inspect_params] || params['inspect_params']
|
16
|
+
puts 'Inspecting Parameters ...'
|
17
|
+
puts JSON.pretty_generate(params) if inspect.to_b
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
@@ -57,8 +57,7 @@ module GoodData
|
|
57
57
|
|
58
58
|
def realize_query(params)
|
59
59
|
query = DataSource.interpolate_sql_params(@options[:query], params)
|
60
|
-
dwh = params['ads_client']
|
61
|
-
raise "Data Source needs a client to ads to be able to query the storage but 'ads_client' is empty." unless dwh
|
60
|
+
dwh = params['ads_client'] || params[:ads_client] || raise("Data Source needs a client to ads to be able to query the storage but 'ads_client' is empty.")
|
62
61
|
filename = Digest::SHA256.new.hexdigest(query)
|
63
62
|
measure = Benchmark.measure do
|
64
63
|
CSV.open(filename, 'w') do |csv|
|
@@ -74,7 +73,7 @@ module GoodData
|
|
74
73
|
end
|
75
74
|
end
|
76
75
|
end
|
77
|
-
|
76
|
+
GoodData.logger.info "Realizing SQL query \"#{query}\" took #{measure.real}"
|
78
77
|
filename
|
79
78
|
end
|
80
79
|
|
metadata
CHANGED
@@ -1,81 +1,99 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gooddata-bricks
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.6.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tomas Svarovsky
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2017-02-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
requirement: !ruby/object:Gem::Requirement
|
15
15
|
requirements:
|
16
|
-
- - ~>
|
16
|
+
- - "~>"
|
17
17
|
- !ruby/object:Gem::Version
|
18
|
-
version: '1.
|
18
|
+
version: '1.13'
|
19
|
+
- - ">="
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: 1.13.6
|
19
22
|
name: bundler
|
20
23
|
prerelease: false
|
21
24
|
type: :development
|
22
25
|
version_requirements: !ruby/object:Gem::Requirement
|
23
26
|
requirements:
|
24
|
-
- - ~>
|
27
|
+
- - "~>"
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '1.13'
|
30
|
+
- - ">="
|
25
31
|
- !ruby/object:Gem::Version
|
26
|
-
version:
|
32
|
+
version: 1.13.6
|
27
33
|
- !ruby/object:Gem::Dependency
|
28
34
|
requirement: !ruby/object:Gem::Requirement
|
29
35
|
requirements:
|
30
|
-
- - ~>
|
36
|
+
- - "~>"
|
37
|
+
- !ruby/object:Gem::Version
|
38
|
+
version: '11.1'
|
39
|
+
- - ">="
|
31
40
|
- !ruby/object:Gem::Version
|
32
|
-
version:
|
41
|
+
version: 11.1.1
|
33
42
|
name: rake
|
34
43
|
prerelease: false
|
35
44
|
type: :development
|
36
45
|
version_requirements: !ruby/object:Gem::Requirement
|
37
46
|
requirements:
|
38
|
-
- - ~>
|
47
|
+
- - "~>"
|
39
48
|
- !ruby/object:Gem::Version
|
40
|
-
version: '
|
49
|
+
version: '11.1'
|
50
|
+
- - ">="
|
51
|
+
- !ruby/object:Gem::Version
|
52
|
+
version: 11.1.1
|
41
53
|
- !ruby/object:Gem::Dependency
|
42
54
|
requirement: !ruby/object:Gem::Requirement
|
43
55
|
requirements:
|
44
|
-
- -
|
56
|
+
- - "~>"
|
45
57
|
- !ruby/object:Gem::Version
|
46
|
-
version: '
|
58
|
+
version: '3.5'
|
59
|
+
- - ">="
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: 3.5.0
|
47
62
|
name: rspec
|
48
63
|
prerelease: false
|
49
64
|
type: :development
|
50
65
|
version_requirements: !ruby/object:Gem::Requirement
|
51
66
|
requirements:
|
52
|
-
- -
|
67
|
+
- - "~>"
|
53
68
|
- !ruby/object:Gem::Version
|
54
|
-
version: '
|
69
|
+
version: '3.5'
|
70
|
+
- - ">="
|
71
|
+
- !ruby/object:Gem::Version
|
72
|
+
version: 3.5.0
|
55
73
|
- !ruby/object:Gem::Dependency
|
56
74
|
requirement: !ruby/object:Gem::Requirement
|
57
75
|
requirements:
|
58
|
-
- - ~>
|
76
|
+
- - "~>"
|
59
77
|
- !ruby/object:Gem::Version
|
60
|
-
version: '0.
|
61
|
-
- -
|
78
|
+
version: '0.45'
|
79
|
+
- - ">="
|
62
80
|
- !ruby/object:Gem::Version
|
63
|
-
version: 0.
|
81
|
+
version: 0.45.0
|
64
82
|
name: rubocop
|
65
83
|
prerelease: false
|
66
84
|
type: :development
|
67
85
|
version_requirements: !ruby/object:Gem::Requirement
|
68
86
|
requirements:
|
69
|
-
- - ~>
|
87
|
+
- - "~>"
|
70
88
|
- !ruby/object:Gem::Version
|
71
|
-
version: '0.
|
72
|
-
- -
|
89
|
+
version: '0.45'
|
90
|
+
- - ">="
|
73
91
|
- !ruby/object:Gem::Version
|
74
|
-
version: 0.
|
92
|
+
version: 0.45.0
|
75
93
|
- !ruby/object:Gem::Dependency
|
76
94
|
requirement: !ruby/object:Gem::Requirement
|
77
95
|
requirements:
|
78
|
-
- - ~>
|
96
|
+
- - "~>"
|
79
97
|
- !ruby/object:Gem::Version
|
80
98
|
version: '1.45'
|
81
99
|
name: aws-sdk
|
@@ -83,16 +101,16 @@ dependencies:
|
|
83
101
|
type: :runtime
|
84
102
|
version_requirements: !ruby/object:Gem::Requirement
|
85
103
|
requirements:
|
86
|
-
- - ~>
|
104
|
+
- - "~>"
|
87
105
|
- !ruby/object:Gem::Version
|
88
106
|
version: '1.45'
|
89
107
|
- !ruby/object:Gem::Dependency
|
90
108
|
requirement: !ruby/object:Gem::Requirement
|
91
109
|
requirements:
|
92
|
-
- - ~>
|
110
|
+
- - "~>"
|
93
111
|
- !ruby/object:Gem::Version
|
94
112
|
version: '2.1'
|
95
|
-
- -
|
113
|
+
- - ">="
|
96
114
|
- !ruby/object:Gem::Version
|
97
115
|
version: 2.1.1
|
98
116
|
name: restforce
|
@@ -100,19 +118,19 @@ dependencies:
|
|
100
118
|
type: :runtime
|
101
119
|
version_requirements: !ruby/object:Gem::Requirement
|
102
120
|
requirements:
|
103
|
-
- - ~>
|
121
|
+
- - "~>"
|
104
122
|
- !ruby/object:Gem::Version
|
105
123
|
version: '2.1'
|
106
|
-
- -
|
124
|
+
- - ">="
|
107
125
|
- !ruby/object:Gem::Version
|
108
126
|
version: 2.1.1
|
109
127
|
- !ruby/object:Gem::Dependency
|
110
128
|
requirement: !ruby/object:Gem::Requirement
|
111
129
|
requirements:
|
112
|
-
- - ~>
|
130
|
+
- - "~>"
|
113
131
|
- !ruby/object:Gem::Version
|
114
132
|
version: '0.2'
|
115
|
-
- -
|
133
|
+
- - ">="
|
116
134
|
- !ruby/object:Gem::Version
|
117
135
|
version: 0.2.0
|
118
136
|
name: salesforce_bulk_query
|
@@ -120,16 +138,16 @@ dependencies:
|
|
120
138
|
type: :runtime
|
121
139
|
version_requirements: !ruby/object:Gem::Requirement
|
122
140
|
requirements:
|
123
|
-
- - ~>
|
141
|
+
- - "~>"
|
124
142
|
- !ruby/object:Gem::Version
|
125
143
|
version: '0.2'
|
126
|
-
- -
|
144
|
+
- - ">="
|
127
145
|
- !ruby/object:Gem::Version
|
128
146
|
version: 0.2.0
|
129
147
|
- !ruby/object:Gem::Dependency
|
130
148
|
requirement: !ruby/object:Gem::Requirement
|
131
149
|
requirements:
|
132
|
-
- -
|
150
|
+
- - ">="
|
133
151
|
- !ruby/object:Gem::Version
|
134
152
|
version: '0'
|
135
153
|
name: gooddata
|
@@ -137,13 +155,13 @@ dependencies:
|
|
137
155
|
type: :runtime
|
138
156
|
version_requirements: !ruby/object:Gem::Requirement
|
139
157
|
requirements:
|
140
|
-
- -
|
158
|
+
- - ">="
|
141
159
|
- !ruby/object:Gem::Version
|
142
160
|
version: '0'
|
143
161
|
- !ruby/object:Gem::Dependency
|
144
162
|
requirement: !ruby/object:Gem::Requirement
|
145
163
|
requirements:
|
146
|
-
- -
|
164
|
+
- - ">="
|
147
165
|
- !ruby/object:Gem::Version
|
148
166
|
version: '0'
|
149
167
|
name: gooddata_datawarehouse
|
@@ -151,23 +169,29 @@ dependencies:
|
|
151
169
|
type: :runtime
|
152
170
|
version_requirements: !ruby/object:Gem::Requirement
|
153
171
|
requirements:
|
154
|
-
- -
|
172
|
+
- - ">="
|
155
173
|
- !ruby/object:Gem::Version
|
156
174
|
version: '0'
|
157
175
|
- !ruby/object:Gem::Dependency
|
158
176
|
requirement: !ruby/object:Gem::Requirement
|
159
177
|
requirements:
|
160
|
-
- -
|
178
|
+
- - "~>"
|
161
179
|
- !ruby/object:Gem::Version
|
162
|
-
version: '
|
180
|
+
version: '1.11'
|
181
|
+
- - ">="
|
182
|
+
- !ruby/object:Gem::Version
|
183
|
+
version: 1.11.2
|
163
184
|
name: multi_json
|
164
185
|
prerelease: false
|
165
186
|
type: :runtime
|
166
187
|
version_requirements: !ruby/object:Gem::Requirement
|
167
188
|
requirements:
|
168
|
-
- -
|
189
|
+
- - "~>"
|
169
190
|
- !ruby/object:Gem::Version
|
170
|
-
version: '
|
191
|
+
version: '1.11'
|
192
|
+
- - ">="
|
193
|
+
- !ruby/object:Gem::Version
|
194
|
+
version: 1.11.2
|
171
195
|
description: Provides some utils, simple framework and wraps some commond functionality.
|
172
196
|
email:
|
173
197
|
- svarovsky@gooddata.com
|
@@ -175,9 +199,9 @@ executables: []
|
|
175
199
|
extensions: []
|
176
200
|
extra_rdoc_files: []
|
177
201
|
files:
|
178
|
-
- .gitignore
|
179
|
-
- .rspec
|
180
|
-
- .rubocop.yml
|
202
|
+
- ".gitignore"
|
203
|
+
- ".rspec"
|
204
|
+
- ".rubocop.yml"
|
181
205
|
- CHANGELOG.md
|
182
206
|
- Gemfile
|
183
207
|
- LICENSE.txt
|
@@ -185,6 +209,7 @@ files:
|
|
185
209
|
- Rakefile
|
186
210
|
- gooddata-bricks.gemspec
|
187
211
|
- lib/gooddata/bricks.rb
|
212
|
+
- lib/gooddata/bricks/base_downloader.rb
|
188
213
|
- lib/gooddata/bricks/brick.rb
|
189
214
|
- lib/gooddata/bricks/middleware/aws_middleware.rb
|
190
215
|
- lib/gooddata/bricks/middleware/base_middleware.rb
|
@@ -197,6 +222,7 @@ files:
|
|
197
222
|
- lib/gooddata/bricks/middleware/gooddata_middleware.rb
|
198
223
|
- lib/gooddata/bricks/middleware/logger_middleware.rb
|
199
224
|
- lib/gooddata/bricks/middleware/middleware.rb
|
225
|
+
- lib/gooddata/bricks/middleware/params_inspect_middleware.rb
|
200
226
|
- lib/gooddata/bricks/middleware/restforce_middleware.rb
|
201
227
|
- lib/gooddata/bricks/middleware/stdout_middleware.rb
|
202
228
|
- lib/gooddata/bricks/middleware/twitter_middleware.rb
|
@@ -215,19 +241,18 @@ require_paths:
|
|
215
241
|
- lib
|
216
242
|
required_ruby_version: !ruby/object:Gem::Requirement
|
217
243
|
requirements:
|
218
|
-
- -
|
244
|
+
- - ">="
|
219
245
|
- !ruby/object:Gem::Version
|
220
246
|
version: '0'
|
221
247
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
222
248
|
requirements:
|
223
|
-
- -
|
249
|
+
- - ">="
|
224
250
|
- !ruby/object:Gem::Version
|
225
251
|
version: '0'
|
226
252
|
requirements: []
|
227
253
|
rubyforge_project:
|
228
|
-
rubygems_version: 2.
|
254
|
+
rubygems_version: 2.6.10
|
229
255
|
signing_key:
|
230
256
|
specification_version: 4
|
231
257
|
summary: Simple library that simplifies development of GoodData Bricks
|
232
258
|
test_files: []
|
233
|
-
has_rdoc:
|