gooddata 0.6.9 → 0.6.10

Sign up to get free protection for your applications and to get access to all the features.
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: