gooddata 0.6.9 → 0.6.10

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d7d013ba0b03cf22fd29f0ef4c266a06ecad756e
4
- data.tar.gz: dac86a92b7e82af815df7f4900a329012d468437
3
+ metadata.gz: 175e3df2f037ccb6001560d204998e8de3082422
4
+ data.tar.gz: 11fd46bd19cdf28cf062520df37958bca0074dc4
5
5
  SHA512:
6
- metadata.gz: 936dba585e13b83dc3a0592bf0cf068b3d4d8e23306c3ebdf0554810b7062486407d8a3ad95beaa6d86d09ca1bd8aec160080407c96d12f79dfe690ff9f40e03
7
- data.tar.gz: b9664e85e0558d130ac3ac5452f20220d833d321d9aa9c59a53b22c126ae27f0156bce5944974645c1bf741cf604e4cd7c14dac42bf684e8f5e5a48dde0d39c0
6
+ metadata.gz: 8a0c62a95ae6631b5b94fc9af128e795debb4e892e216d58477565eb45e70fe678c024ad1893ec76db2a76bccc10d8658d57ac2dac819511f59e9854f6558b14
7
+ data.tar.gz: 3108128b8750a1ea5826e1d050419a08504e3b99da75ef29542333d2f3a32e879cd0f2fd8a9fe36fc661ae10493b2c334492d92ae97ab05c76938c9314576929
@@ -1,5 +1,15 @@
1
1
  # GoodData Ruby SDK Changelog
2
2
 
3
+ ## 0.6.10
4
+ - Fixed client default missing in ProjectMetadata
5
+ - Listing schedules on processes is working
6
+ - Scrubing params in logs is back
7
+ - Added ProjectMetadata helpers on project
8
+ - Listing processes on client works as expected
9
+ - Schedule can be enabled/disabled
10
+ - Added pselect helper function
11
+
12
+
3
13
  ## 0.6.9
4
14
  - Fixing issues with creating models.
5
15
  - Adding couple more helpers for report/metric computation
@@ -19,4 +19,9 @@ module Enumerable
19
19
  a
20
20
  end
21
21
  end
22
+
23
+ def pselect(&block)
24
+ intermediate = pmap(&block)
25
+ zip(intermediate).select { |x| x[1] }.map { |x| x.first }
26
+ end
22
27
  end
@@ -21,13 +21,20 @@ module GoodData
21
21
  uri = "/gdc/projects/#{project.pid}/dataload/processes"
22
22
  data = c.get(uri)
23
23
  data['processes']['items'].map do |process_data|
24
- Process.new(process_data)
24
+ c.create(Process, process_data, project: project)
25
25
  end
26
26
  elsif id == :all
27
27
  uri = "/gdc/account/profile/#{c.user.obj_id}/dataload/processes"
28
28
  data = c.get(uri)
29
+ pids = data['processes']['items'].map { |process_data| process_data['process']['links']['self'].match(%r{/gdc/projects/(\w*)/})[1] }.uniq
30
+ projects_lookup = pids.pmap { |pid| c.projects(pid) }.reduce({}) do |a, e|
31
+ a[e.pid] = e
32
+ a
33
+ end
34
+
29
35
  data['processes']['items'].map do |process_data|
30
- c.create(Process, process_data)
36
+ pid = process_data['process']['links']['self'].match(%r{/gdc/projects/(\w*)/})[1]
37
+ c.create(Process, process_data, project: projects_lookup[pid])
31
38
  end
32
39
  else
33
40
  uri = "/gdc/projects/#{project.pid}/dataload/processes/#{id}"
@@ -40,7 +40,7 @@ module GoodData
40
40
  class << self
41
41
  # Returns an array of all projects accessible by
42
42
  # current user
43
- def all(opts = {})
43
+ def all(opts = { client: GoodData.connection })
44
44
  c = client(opts)
45
45
  c.user.projects
46
46
  end
@@ -55,7 +55,7 @@ module GoodData
55
55
  return id if id.instance_of?(GoodData::Project) || id.respond_to?(:project?) && id.project?
56
56
 
57
57
  if id == :all
58
- Project.all(opts)
58
+ Project.all({ client: GoodData.connection }.merge(opts))
59
59
  else
60
60
  if id.to_s !~ %r{^(\/gdc\/(projects|md)\/)?[a-zA-Z\d]+$}
61
61
  fail(ArgumentError, 'wrong type of argument. Should be either project ID or path')
@@ -633,6 +633,22 @@ module GoodData
633
633
  list.find { |m| m.login == profile.login }
634
634
  end
635
635
 
636
+ # Get data from project specific metadata storage
637
+ #
638
+ # @param [Symbol | String] :all or nothing for all keys or a string for value of specific key
639
+ # @return [Hash] key Hash of stored data
640
+ def metadata(key = :all)
641
+ GoodData::ProjectMetadata[key, client: client, project: self]
642
+ end
643
+
644
+ # Set data for specific key in project specific metadata storage
645
+ #
646
+ # @param [String] key key of the value to be stored
647
+ # @return [String] val value to be stored
648
+ def set_metadata(key, val)
649
+ GoodData::ProjectMetadata[key, client: client, project: self] = val
650
+ end
651
+
636
652
  # Helper for getting metrics of a project
637
653
  #
638
654
  # @return [Array<GoodData::Metric>] matric instance or list
@@ -3,11 +3,11 @@
3
3
  module GoodData
4
4
  class ProjectMetadata
5
5
  class << self
6
- def keys(opts = { :client => GoodData.connection })
6
+ def keys(opts = { :client => GoodData.connection, :project => GoodData.project })
7
7
  ProjectMetadata[:all, opts].keys
8
8
  end
9
9
 
10
- def [](key, opts = { :client => GoodData.connection })
10
+ def [](key, opts = { :client => GoodData.connection, :project => GoodData.project })
11
11
  client = opts[:client]
12
12
  fail ArgumentError, 'No :client specified' if client.nil?
13
13
 
@@ -31,14 +31,14 @@ module GoodData
31
31
  alias_method :get, :[]
32
32
  alias_method :get_key, :[]
33
33
 
34
- def key?(key, opts = { :client => GoodData.connection })
34
+ def key?(key, opts = { :client => GoodData.connection, :project => GoodData.project })
35
35
  ProjectMetadata[key, opts]
36
36
  true
37
37
  rescue RestClient::ResourceNotFound
38
38
  false
39
39
  end
40
40
 
41
- def []=(key, opts = { :client => GoodData.connection }, val = nil)
41
+ def []=(key, opts = { :client => GoodData.connection, :project => GoodData.project }, val = nil)
42
42
  client = opts[:client]
43
43
  fail ArgumentError, 'No :client specified' if client.nil?
44
44
 
@@ -5,11 +5,11 @@ require_relative '../extensions/hash'
5
5
 
6
6
  module GoodData
7
7
  class Schedule < Rest::Resource
8
- attr_reader :dirty, :data
8
+ attr_reader :dirty, :json
9
9
 
10
- alias_method :json, :data
11
- alias_method :raw_data, :data
12
- alias_method :to_hash, :data
10
+ alias_method :data, :json
11
+ alias_method :raw_data, :json
12
+ alias_method :to_hash, :json
13
13
 
14
14
  class << self
15
15
  # Looks for schedule
@@ -80,9 +80,9 @@ module GoodData
80
80
  :process_id => process_id,
81
81
  :executable => executable
82
82
  },
83
- :hidden_params => {}
83
+ :hidden_params => {},
84
+ :reschedule => options[:reschedule] || 0
84
85
  }
85
- default_opts.merge!(:reschedule => options[:reschedule])
86
86
 
87
87
  inject_schema = {
88
88
  :hidden_params => 'hiddenParams'
@@ -150,6 +150,38 @@ module GoodData
150
150
  client.delete uri
151
151
  end
152
152
 
153
+ # Is schedule enabled?
154
+ #
155
+ # @return [Boolean]
156
+ def disabled?
157
+ state == 'DISABLED'
158
+ end
159
+
160
+ # Is schedule enabled?
161
+ #
162
+ # @return [Boolean]
163
+ def enabled?
164
+ !disabled?
165
+ end
166
+
167
+ # enables
168
+ #
169
+ # @return [GoodData::Schedule]
170
+ def enable
171
+ @json['schedule']['state'] = 'ENABLED'
172
+ @dirty = true
173
+ self
174
+ end
175
+
176
+ # Is schedule enabled?
177
+ #
178
+ # @return [GoodData::Schedule]
179
+ def disable
180
+ @json['schedule']['state'] = 'DISABLED'
181
+ @dirty = true
182
+ self
183
+ end
184
+
153
185
  # Executes schedule
154
186
  #
155
187
  # @return [Object] Raw Response
@@ -313,13 +345,14 @@ module GoodData
313
345
  update_json = {
314
346
  'schedule' => {
315
347
  'type' => @json['schedule']['type'],
348
+ 'state' => @json['schedule']['state'],
316
349
  'timezone' => @json['schedule']['timezone'],
317
350
  'cron' => @json['schedule']['cron'],
318
351
  'params' => @json['schedule']['params'],
319
- 'hiddenParams' => @json['schedule']['hiddenParams']
352
+ 'hiddenParams' => @json['schedule']['hiddenParams'],
353
+ 'reschedule' => @json['schedule']['reschedule'] || 0
320
354
  }
321
355
  }
322
- update_json['schedule'].merge!('reschedule' => @json['schedule']['reschedule'])
323
356
  res = GoodData.put uri, update_json
324
357
  @json = res
325
358
  @dirty = false
@@ -75,7 +75,9 @@ module GoodData
75
75
  fail ArgumentError, 'No username specified' if new_opts[:username].nil?
76
76
  fail ArgumentError, 'No password specified' if new_opts[:password].nil?
77
77
  end
78
-
78
+ if username.is_a?(Hash) && username.key?(:server)
79
+ new_opts[:server] = username[:server]
80
+ end
79
81
  client = Client.new(new_opts)
80
82
 
81
83
  if client
@@ -175,6 +175,18 @@ module GoodData
175
175
  @cookies = { :cookies => {} }
176
176
  end
177
177
 
178
+ def scrub_params(params, keys)
179
+ keys = keys.reduce([]) { |a, e| a.concat([e.to_s, e.to_sym]) }
180
+
181
+ new_params = params.deep_dup
182
+ GoodData::Helpers.hash_dfs(new_params) do |k, key|
183
+ keys.each do |key_to_scrub|
184
+ k[key_to_scrub] = ('*' * k[key_to_scrub].length) if k && k.key?(key_to_scrub) && k[key_to_scrub]
185
+ end
186
+ end
187
+ new_params
188
+ end
189
+
178
190
  # TODO: Store PH_MAP for wildcarding of URLs in reports in separate file
179
191
  PH_MAP = [
180
192
  ['/gdc/projects/{id}/users/{id}/permissions', %r{/gdc/projects/[\w]+/users/[\w]+/permissions}],
@@ -34,7 +34,7 @@ module GoodData
34
34
  #
35
35
  # @param uri [String] Target URI
36
36
  def delete(uri, options = {})
37
- GoodData.logger.debug "DELETE: #{uri}"
37
+ GoodData.logger.debug "DELETE: #{@server.url}#{uri}"
38
38
  profile "DELETE #{uri}" do
39
39
  b = proc { @server[uri].delete cookies }
40
40
  process_response(options, &b)
@@ -45,7 +45,7 @@ module GoodData
45
45
  #
46
46
  # @param uri [String] Target URI
47
47
  def get(uri, options = {})
48
- GoodData.logger.debug "GET: #{uri}"
48
+ GoodData.logger.debug "GET: #{@server.url}#{uri}"
49
49
  profile "GET #{uri}" do
50
50
  b = proc { @server[uri].get cookies }
51
51
  process_response(options, &b)
@@ -57,7 +57,7 @@ module GoodData
57
57
  # @param uri [String] Target URI
58
58
  def put(uri, data, options = {})
59
59
  payload = data.is_a?(Hash) ? data.to_json : data
60
- GoodData.logger.debug "PUT: #{uri}, #{data}"
60
+ GoodData.logger.debug "PUT: #{@server.url}#{uri}, #{scrub_params(data, [:password, :login, :authorizationToken])}"
61
61
  profile "PUT #{uri}" do
62
62
  b = proc { @server[uri].put payload, cookies }
63
63
  process_response(options, &b)
@@ -68,7 +68,7 @@ module GoodData
68
68
  #
69
69
  # @param uri [String] Target URI
70
70
  def post(uri, data, options = {})
71
- GoodData.logger.debug "POST: #{uri}, #{data}"
71
+ GoodData.logger.debug "POST: #{@server.url}#{uri}, #{scrub_params(data, [:password, :login, :authorizationToken])}"
72
72
  profile "POST #{uri}" do
73
73
  payload = data.is_a?(Hash) ? data.to_json : data
74
74
  b = proc { @server[uri].post payload, cookies }
@@ -2,7 +2,7 @@
2
2
 
3
3
  # GoodData Module
4
4
  module GoodData
5
- VERSION = '0.6.9'
5
+ VERSION = '0.6.10'
6
6
 
7
7
  class << self
8
8
  # Version
@@ -61,6 +61,14 @@ describe "Full process and schedule exercise", :constraint => 'slow' do
61
61
  result = schedule.execute
62
62
  log = @client.get(result['execution']['log'])
63
63
  expect(log.index('HELLO WORLD')).not_to eq nil
64
+ expect(schedule.enabled?).to be_true
65
+ schedule.disable
66
+ schedule.save
67
+ expect(schedule.enabled?).to be_false
68
+ expect(schedule.disabled?).to be_true
69
+ schedule.enable
70
+ schedule.save
71
+ expect(schedule.enabled?).to be_true
64
72
  ensure
65
73
  process && process.delete
66
74
  end
@@ -71,10 +79,12 @@ describe "Full process and schedule exercise", :constraint => 'slow' do
71
79
  type: 'RUBY',
72
80
  name: 'Test ETL zipped file Process')
73
81
  begin
82
+ expect(process.schedules.count).to eq 0
74
83
  schedule = process.create_schedule('0 15 27 7 *', process.executables.first)
75
84
  result = schedule.execute
76
85
  log = @client.get(result['execution']['log'])
77
86
  expect(log.index('HELLO WORLD')).not_to eq nil
87
+ expect(process.schedules.count).to eq 1
78
88
  ensure
79
89
  process && process.delete
80
90
  end
@@ -206,8 +206,11 @@ describe "Full project implementation", :constraint => 'slow' do
206
206
  end
207
207
 
208
208
  it "should contain metadata for each dataset in project metadata" do
209
- k = GoodData::ProjectMetadata.keys(:client => @client, :project => @project)
209
+ k = @project.metadata.keys
210
210
  expect(k).to include("manifest_devs")
211
+ expect(@project.metadata("manifest_devs")).not_to be_nil
212
+ @project.set_metadata('a', 'b')
213
+ expect(@project.metadata('a')).to eq 'b'
211
214
  end
212
215
 
213
216
  it "should be able to interpolate metric based on" do
metadata CHANGED
@@ -1,440 +1,397 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gooddata
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.9
4
+ version: 0.6.10
5
5
  platform: ruby
6
6
  authors:
7
7
  - Pavel Kolesnikov
8
8
  - Thomas Watson Steen
9
9
  - Tomas Svarovsky
10
10
  - Tomas Korcak
11
- autorequire:
11
+ autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2014-09-17 00:00:00.000000000 Z
14
+ date: 2014-09-19 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
- name: debase
18
- requirement: !ruby/object:Gem::Requirement
19
- requirements:
20
- - - ">="
21
- - !ruby/object:Gem::Version
22
- version: '0'
23
- type: :development
24
- prerelease: false
17
+ name: rake
25
18
  version_requirements: !ruby/object:Gem::Requirement
26
19
  requirements:
27
- - - ">="
20
+ - - ~>
28
21
  - !ruby/object:Gem::Version
29
- version: '0'
30
- - !ruby/object:Gem::Dependency
31
- name: rake
22
+ version: 10.3.1
32
23
  requirement: !ruby/object:Gem::Requirement
33
24
  requirements:
34
- - - "~>"
25
+ - - ~>
35
26
  - !ruby/object:Gem::Version
36
27
  version: 10.3.1
37
- type: :development
38
28
  prerelease: false
39
- version_requirements: !ruby/object:Gem::Requirement
40
- requirements:
41
- - - "~>"
42
- - !ruby/object:Gem::Version
43
- version: 10.3.1
29
+ type: :development
44
30
  - !ruby/object:Gem::Dependency
45
31
  name: rake-notes
46
- requirement: !ruby/object:Gem::Requirement
47
- requirements:
48
- - - "~>"
49
- - !ruby/object:Gem::Version
50
- version: 0.2.0
51
- type: :development
52
- prerelease: false
53
32
  version_requirements: !ruby/object:Gem::Requirement
54
33
  requirements:
55
- - - "~>"
34
+ - - ~>
56
35
  - !ruby/object:Gem::Version
57
36
  version: 0.2.0
58
- - !ruby/object:Gem::Dependency
59
- name: redcarpet
60
37
  requirement: !ruby/object:Gem::Requirement
61
38
  requirements:
62
- - - "~>"
39
+ - - ~>
63
40
  - !ruby/object:Gem::Version
64
- version: 3.1.1
65
- type: :development
41
+ version: 0.2.0
66
42
  prerelease: false
67
- version_requirements: !ruby/object:Gem::Requirement
68
- requirements:
69
- - - "~>"
70
- - !ruby/object:Gem::Version
71
- version: 3.1.1
43
+ type: :development
72
44
  - !ruby/object:Gem::Dependency
73
45
  name: rspec
74
- requirement: !ruby/object:Gem::Requirement
75
- requirements:
76
- - - "~>"
77
- - !ruby/object:Gem::Version
78
- version: 2.14.1
79
- type: :development
80
- prerelease: false
81
46
  version_requirements: !ruby/object:Gem::Requirement
82
47
  requirements:
83
- - - "~>"
48
+ - - ~>
84
49
  - !ruby/object:Gem::Version
85
50
  version: 2.14.1
86
- - !ruby/object:Gem::Dependency
87
- name: ruby-debug-ide
88
51
  requirement: !ruby/object:Gem::Requirement
89
52
  requirements:
90
- - - ">="
53
+ - - ~>
91
54
  - !ruby/object:Gem::Version
92
- version: '0'
93
- type: :development
55
+ version: 2.14.1
94
56
  prerelease: false
95
- version_requirements: !ruby/object:Gem::Requirement
96
- requirements:
97
- - - ">="
98
- - !ruby/object:Gem::Version
99
- version: '0'
57
+ type: :development
100
58
  - !ruby/object:Gem::Dependency
101
59
  name: rubocop
102
- requirement: !ruby/object:Gem::Requirement
60
+ version_requirements: !ruby/object:Gem::Requirement
103
61
  requirements:
104
- - - "~>"
62
+ - - ~>
105
63
  - !ruby/object:Gem::Version
106
64
  version: 0.20.1
107
- type: :development
108
- prerelease: false
109
- version_requirements: !ruby/object:Gem::Requirement
65
+ requirement: !ruby/object:Gem::Requirement
110
66
  requirements:
111
- - - "~>"
67
+ - - ~>
112
68
  - !ruby/object:Gem::Version
113
69
  version: 0.20.1
70
+ prerelease: false
71
+ type: :development
114
72
  - !ruby/object:Gem::Dependency
115
73
  name: simplecov
116
- requirement: !ruby/object:Gem::Requirement
74
+ version_requirements: !ruby/object:Gem::Requirement
117
75
  requirements:
118
- - - "~>"
76
+ - - ~>
119
77
  - !ruby/object:Gem::Version
120
78
  version: 0.8.2
121
- type: :development
122
- prerelease: false
123
- version_requirements: !ruby/object:Gem::Requirement
79
+ requirement: !ruby/object:Gem::Requirement
124
80
  requirements:
125
- - - "~>"
81
+ - - ~>
126
82
  - !ruby/object:Gem::Version
127
83
  version: 0.8.2
84
+ prerelease: false
85
+ type: :development
128
86
  - !ruby/object:Gem::Dependency
129
87
  name: yard
130
- requirement: !ruby/object:Gem::Requirement
88
+ version_requirements: !ruby/object:Gem::Requirement
131
89
  requirements:
132
- - - "~>"
90
+ - - ~>
133
91
  - !ruby/object:Gem::Version
134
92
  version: 0.8.7.3
135
- type: :development
136
- prerelease: false
137
- version_requirements: !ruby/object:Gem::Requirement
93
+ requirement: !ruby/object:Gem::Requirement
138
94
  requirements:
139
- - - "~>"
95
+ - - ~>
140
96
  - !ruby/object:Gem::Version
141
97
  version: 0.8.7.3
98
+ prerelease: false
99
+ type: :development
142
100
  - !ruby/object:Gem::Dependency
143
101
  name: yard-rspec
144
- requirement: !ruby/object:Gem::Requirement
102
+ version_requirements: !ruby/object:Gem::Requirement
145
103
  requirements:
146
- - - "~>"
104
+ - - ~>
147
105
  - !ruby/object:Gem::Version
148
106
  version: '0.1'
149
- type: :development
150
- prerelease: false
151
- version_requirements: !ruby/object:Gem::Requirement
107
+ requirement: !ruby/object:Gem::Requirement
152
108
  requirements:
153
- - - "~>"
109
+ - - ~>
154
110
  - !ruby/object:Gem::Version
155
111
  version: '0.1'
112
+ prerelease: false
113
+ type: :development
156
114
  - !ruby/object:Gem::Dependency
157
115
  name: ZenTest
158
- requirement: !ruby/object:Gem::Requirement
116
+ version_requirements: !ruby/object:Gem::Requirement
159
117
  requirements:
160
- - - "~>"
118
+ - - ~>
161
119
  - !ruby/object:Gem::Version
162
120
  version: 4.10.0
163
- type: :development
164
- prerelease: false
165
- version_requirements: !ruby/object:Gem::Requirement
121
+ requirement: !ruby/object:Gem::Requirement
166
122
  requirements:
167
- - - "~>"
123
+ - - ~>
168
124
  - !ruby/object:Gem::Version
169
125
  version: 4.10.0
126
+ prerelease: false
127
+ type: :development
170
128
  - !ruby/object:Gem::Dependency
171
129
  name: coveralls
172
- requirement: !ruby/object:Gem::Requirement
130
+ version_requirements: !ruby/object:Gem::Requirement
173
131
  requirements:
174
- - - "~>"
132
+ - - ~>
175
133
  - !ruby/object:Gem::Version
176
134
  version: 0.7.0
177
- type: :development
178
- prerelease: false
179
- version_requirements: !ruby/object:Gem::Requirement
135
+ requirement: !ruby/object:Gem::Requirement
180
136
  requirements:
181
- - - "~>"
137
+ - - ~>
182
138
  - !ruby/object:Gem::Version
183
139
  version: 0.7.0
140
+ prerelease: false
141
+ type: :development
184
142
  - !ruby/object:Gem::Dependency
185
143
  name: activesupport
186
- requirement: !ruby/object:Gem::Requirement
144
+ version_requirements: !ruby/object:Gem::Requirement
187
145
  requirements:
188
- - - "~>"
146
+ - - ~>
189
147
  - !ruby/object:Gem::Version
190
148
  version: 4.1.0
191
- type: :runtime
192
- prerelease: false
193
- version_requirements: !ruby/object:Gem::Requirement
149
+ requirement: !ruby/object:Gem::Requirement
194
150
  requirements:
195
- - - "~>"
151
+ - - ~>
196
152
  - !ruby/object:Gem::Version
197
153
  version: 4.1.0
154
+ prerelease: false
155
+ type: :runtime
198
156
  - !ruby/object:Gem::Dependency
199
157
  name: bundler
200
- requirement: !ruby/object:Gem::Requirement
158
+ version_requirements: !ruby/object:Gem::Requirement
201
159
  requirements:
202
- - - ">="
160
+ - - '>='
203
161
  - !ruby/object:Gem::Version
204
162
  version: 1.6.1
205
- type: :runtime
206
- prerelease: false
207
- version_requirements: !ruby/object:Gem::Requirement
163
+ requirement: !ruby/object:Gem::Requirement
208
164
  requirements:
209
- - - ">="
165
+ - - '>='
210
166
  - !ruby/object:Gem::Version
211
167
  version: 1.6.1
168
+ prerelease: false
169
+ type: :runtime
212
170
  - !ruby/object:Gem::Dependency
213
171
  name: docile
214
- requirement: !ruby/object:Gem::Requirement
172
+ version_requirements: !ruby/object:Gem::Requirement
215
173
  requirements:
216
- - - "~>"
174
+ - - ~>
217
175
  - !ruby/object:Gem::Version
218
176
  version: 1.1.3
219
- type: :runtime
220
- prerelease: false
221
- version_requirements: !ruby/object:Gem::Requirement
177
+ requirement: !ruby/object:Gem::Requirement
222
178
  requirements:
223
- - - "~>"
179
+ - - ~>
224
180
  - !ruby/object:Gem::Version
225
181
  version: 1.1.3
182
+ prerelease: false
183
+ type: :runtime
226
184
  - !ruby/object:Gem::Dependency
227
185
  name: erubis
228
- requirement: !ruby/object:Gem::Requirement
186
+ version_requirements: !ruby/object:Gem::Requirement
229
187
  requirements:
230
- - - "~>"
188
+ - - ~>
231
189
  - !ruby/object:Gem::Version
232
190
  version: 2.7.0
233
- type: :runtime
234
- prerelease: false
235
- version_requirements: !ruby/object:Gem::Requirement
191
+ requirement: !ruby/object:Gem::Requirement
236
192
  requirements:
237
- - - "~>"
193
+ - - ~>
238
194
  - !ruby/object:Gem::Version
239
195
  version: 2.7.0
196
+ prerelease: false
197
+ type: :runtime
240
198
  - !ruby/object:Gem::Dependency
241
199
  name: gli
242
- requirement: !ruby/object:Gem::Requirement
200
+ version_requirements: !ruby/object:Gem::Requirement
243
201
  requirements:
244
- - - "~>"
202
+ - - ~>
245
203
  - !ruby/object:Gem::Version
246
204
  version: 2.10.0
247
- type: :runtime
248
- prerelease: false
249
- version_requirements: !ruby/object:Gem::Requirement
205
+ requirement: !ruby/object:Gem::Requirement
250
206
  requirements:
251
- - - "~>"
207
+ - - ~>
252
208
  - !ruby/object:Gem::Version
253
209
  version: 2.10.0
210
+ prerelease: false
211
+ type: :runtime
254
212
  - !ruby/object:Gem::Dependency
255
213
  name: highline
256
- requirement: !ruby/object:Gem::Requirement
214
+ version_requirements: !ruby/object:Gem::Requirement
257
215
  requirements:
258
- - - "~>"
216
+ - - ~>
259
217
  - !ruby/object:Gem::Version
260
218
  version: 1.6.21
261
- type: :runtime
262
- prerelease: false
263
- version_requirements: !ruby/object:Gem::Requirement
219
+ requirement: !ruby/object:Gem::Requirement
264
220
  requirements:
265
- - - "~>"
221
+ - - ~>
266
222
  - !ruby/object:Gem::Version
267
223
  version: 1.6.21
224
+ prerelease: false
225
+ type: :runtime
268
226
  - !ruby/object:Gem::Dependency
269
227
  name: i18n
270
- requirement: !ruby/object:Gem::Requirement
228
+ version_requirements: !ruby/object:Gem::Requirement
271
229
  requirements:
272
- - - "~>"
230
+ - - ~>
273
231
  - !ruby/object:Gem::Version
274
232
  version: 0.6.9
275
- type: :runtime
276
- prerelease: false
277
- version_requirements: !ruby/object:Gem::Requirement
233
+ requirement: !ruby/object:Gem::Requirement
278
234
  requirements:
279
- - - "~>"
235
+ - - ~>
280
236
  - !ruby/object:Gem::Version
281
237
  version: 0.6.9
238
+ prerelease: false
239
+ type: :runtime
282
240
  - !ruby/object:Gem::Dependency
283
241
  name: json_pure
284
- requirement: !ruby/object:Gem::Requirement
242
+ version_requirements: !ruby/object:Gem::Requirement
285
243
  requirements:
286
- - - "~>"
244
+ - - ~>
287
245
  - !ruby/object:Gem::Version
288
246
  version: 1.8.1
289
- type: :runtime
290
- prerelease: false
291
- version_requirements: !ruby/object:Gem::Requirement
247
+ requirement: !ruby/object:Gem::Requirement
292
248
  requirements:
293
- - - "~>"
249
+ - - ~>
294
250
  - !ruby/object:Gem::Version
295
251
  version: 1.8.1
252
+ prerelease: false
253
+ type: :runtime
296
254
  - !ruby/object:Gem::Dependency
297
255
  name: multi_json
298
- requirement: !ruby/object:Gem::Requirement
256
+ version_requirements: !ruby/object:Gem::Requirement
299
257
  requirements:
300
- - - "~>"
258
+ - - ~>
301
259
  - !ruby/object:Gem::Version
302
260
  version: 1.10.0
303
- type: :runtime
304
- prerelease: false
305
- version_requirements: !ruby/object:Gem::Requirement
261
+ requirement: !ruby/object:Gem::Requirement
306
262
  requirements:
307
- - - "~>"
263
+ - - ~>
308
264
  - !ruby/object:Gem::Version
309
265
  version: 1.10.0
266
+ prerelease: false
267
+ type: :runtime
310
268
  - !ruby/object:Gem::Dependency
311
269
  name: parseconfig
312
- requirement: !ruby/object:Gem::Requirement
270
+ version_requirements: !ruby/object:Gem::Requirement
313
271
  requirements:
314
- - - "~>"
272
+ - - ~>
315
273
  - !ruby/object:Gem::Version
316
274
  version: 1.0.4
317
- type: :runtime
318
- prerelease: false
319
- version_requirements: !ruby/object:Gem::Requirement
275
+ requirement: !ruby/object:Gem::Requirement
320
276
  requirements:
321
- - - "~>"
277
+ - - ~>
322
278
  - !ruby/object:Gem::Version
323
279
  version: 1.0.4
280
+ prerelease: false
281
+ type: :runtime
324
282
  - !ruby/object:Gem::Dependency
325
283
  name: pmap
326
- requirement: !ruby/object:Gem::Requirement
284
+ version_requirements: !ruby/object:Gem::Requirement
327
285
  requirements:
328
- - - "~>"
286
+ - - ~>
329
287
  - !ruby/object:Gem::Version
330
288
  version: 1.0.1
331
- type: :runtime
332
- prerelease: false
333
- version_requirements: !ruby/object:Gem::Requirement
289
+ requirement: !ruby/object:Gem::Requirement
334
290
  requirements:
335
- - - "~>"
291
+ - - ~>
336
292
  - !ruby/object:Gem::Version
337
293
  version: 1.0.1
294
+ prerelease: false
295
+ type: :runtime
338
296
  - !ruby/object:Gem::Dependency
339
297
  name: pry
340
- requirement: !ruby/object:Gem::Requirement
298
+ version_requirements: !ruby/object:Gem::Requirement
341
299
  requirements:
342
- - - "~>"
300
+ - - ~>
343
301
  - !ruby/object:Gem::Version
344
302
  version: 0.9.12.6
345
- type: :runtime
346
- prerelease: false
347
- version_requirements: !ruby/object:Gem::Requirement
303
+ requirement: !ruby/object:Gem::Requirement
348
304
  requirements:
349
- - - "~>"
305
+ - - ~>
350
306
  - !ruby/object:Gem::Version
351
307
  version: 0.9.12.6
308
+ prerelease: false
309
+ type: :runtime
352
310
  - !ruby/object:Gem::Dependency
353
311
  name: restforce
354
- requirement: !ruby/object:Gem::Requirement
312
+ version_requirements: !ruby/object:Gem::Requirement
355
313
  requirements:
356
- - - "~>"
314
+ - - ~>
357
315
  - !ruby/object:Gem::Version
358
316
  version: 1.4.3
359
- type: :runtime
360
- prerelease: false
361
- version_requirements: !ruby/object:Gem::Requirement
317
+ requirement: !ruby/object:Gem::Requirement
362
318
  requirements:
363
- - - "~>"
319
+ - - ~>
364
320
  - !ruby/object:Gem::Version
365
321
  version: 1.4.3
322
+ prerelease: false
323
+ type: :runtime
366
324
  - !ruby/object:Gem::Dependency
367
325
  name: rest-client
368
- requirement: !ruby/object:Gem::Requirement
326
+ version_requirements: !ruby/object:Gem::Requirement
369
327
  requirements:
370
- - - "~>"
328
+ - - ~>
371
329
  - !ruby/object:Gem::Version
372
330
  version: 1.6.7
373
- type: :runtime
374
- prerelease: false
375
- version_requirements: !ruby/object:Gem::Requirement
331
+ requirement: !ruby/object:Gem::Requirement
376
332
  requirements:
377
- - - "~>"
333
+ - - ~>
378
334
  - !ruby/object:Gem::Version
379
335
  version: 1.6.7
336
+ prerelease: false
337
+ type: :runtime
380
338
  - !ruby/object:Gem::Dependency
381
339
  name: rubyzip
382
- requirement: !ruby/object:Gem::Requirement
340
+ version_requirements: !ruby/object:Gem::Requirement
383
341
  requirements:
384
- - - "~>"
342
+ - - ~>
385
343
  - !ruby/object:Gem::Version
386
344
  version: 1.1.0
387
- type: :runtime
388
- prerelease: false
389
- version_requirements: !ruby/object:Gem::Requirement
345
+ requirement: !ruby/object:Gem::Requirement
390
346
  requirements:
391
- - - "~>"
347
+ - - ~>
392
348
  - !ruby/object:Gem::Version
393
349
  version: 1.1.0
350
+ prerelease: false
351
+ type: :runtime
394
352
  - !ruby/object:Gem::Dependency
395
353
  name: terminal-table
396
- requirement: !ruby/object:Gem::Requirement
354
+ version_requirements: !ruby/object:Gem::Requirement
397
355
  requirements:
398
- - - "~>"
356
+ - - ~>
399
357
  - !ruby/object:Gem::Version
400
358
  version: 1.4.5
401
- type: :runtime
402
- prerelease: false
403
- version_requirements: !ruby/object:Gem::Requirement
359
+ requirement: !ruby/object:Gem::Requirement
404
360
  requirements:
405
- - - "~>"
361
+ - - ~>
406
362
  - !ruby/object:Gem::Version
407
363
  version: 1.4.5
364
+ prerelease: false
365
+ type: :runtime
408
366
  - !ruby/object:Gem::Dependency
409
367
  name: salesforce_bulk_query
410
- requirement: !ruby/object:Gem::Requirement
368
+ version_requirements: !ruby/object:Gem::Requirement
411
369
  requirements:
412
- - - "~>"
370
+ - - ~>
413
371
  - !ruby/object:Gem::Version
414
372
  version: '0.0'
415
- type: :runtime
416
- prerelease: false
417
- version_requirements: !ruby/object:Gem::Requirement
373
+ requirement: !ruby/object:Gem::Requirement
418
374
  requirements:
419
- - - "~>"
375
+ - - ~>
420
376
  - !ruby/object:Gem::Version
421
377
  version: '0.0'
378
+ prerelease: false
379
+ type: :runtime
422
380
  - !ruby/object:Gem::Dependency
423
381
  name: aws-sdk
424
- requirement: !ruby/object:Gem::Requirement
382
+ version_requirements: !ruby/object:Gem::Requirement
425
383
  requirements:
426
- - - "~>"
384
+ - - ~>
427
385
  - !ruby/object:Gem::Version
428
386
  version: '1.45'
429
- type: :runtime
430
- prerelease: false
431
- version_requirements: !ruby/object:Gem::Requirement
387
+ requirement: !ruby/object:Gem::Requirement
432
388
  requirements:
433
- - - "~>"
389
+ - - ~>
434
390
  - !ruby/object:Gem::Version
435
391
  version: '1.45'
436
- description: Use the GoodData::Client class to integrate GoodData into your own application
437
- or use the CLI to work with GoodData directly from the command line.
392
+ prerelease: false
393
+ type: :runtime
394
+ description: Use the GoodData::Client class to integrate GoodData into your own application or use the CLI to work with GoodData directly from the command line.
438
395
  email: pavel@gooddata.com
439
396
  executables:
440
397
  - gooddata
@@ -443,13 +400,13 @@ extra_rdoc_files:
443
400
  - LICENSE
444
401
  - README.md
445
402
  files:
446
- - ".autotest"
447
- - ".document"
448
- - ".gitignore"
449
- - ".rspec"
450
- - ".rubocop.yml"
451
- - ".travis.yml"
452
- - ".yardopts"
403
+ - .autotest
404
+ - .document
405
+ - .gitignore
406
+ - .rspec
407
+ - .rubocop.yml
408
+ - .travis.yml
409
+ - .yardopts
453
410
  - CHANGELOG.md
454
411
  - CLI.md
455
412
  - Gemfile
@@ -721,25 +678,25 @@ homepage: http://github.com/gooddata/gooddata-ruby
721
678
  licenses:
722
679
  - BSD
723
680
  metadata: {}
724
- post_install_message:
681
+ post_install_message:
725
682
  rdoc_options: []
726
683
  require_paths:
727
684
  - lib
728
685
  required_ruby_version: !ruby/object:Gem::Requirement
729
686
  requirements:
730
- - - ">="
687
+ - - '>='
731
688
  - !ruby/object:Gem::Version
732
689
  version: '0'
733
690
  required_rubygems_version: !ruby/object:Gem::Requirement
734
691
  requirements:
735
- - - ">="
692
+ - - '>='
736
693
  - !ruby/object:Gem::Version
737
694
  version: '0'
738
695
  requirements: []
739
- rubyforge_project:
696
+ rubyforge_project:
740
697
  rubygems_version: 2.1.9
741
- signing_key:
698
+ signing_key:
742
699
  specification_version: 4
743
700
  summary: A convenient Ruby wrapper around the GoodData RESTful API
744
701
  test_files: []
745
- has_rdoc:
702
+ has_rdoc: