jomz-google-api-client 0.7.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.
Files changed (63) hide show
  1. data/CHANGELOG.md +144 -0
  2. data/CONTRIBUTING.md +32 -0
  3. data/Gemfile +41 -0
  4. data/LICENSE +202 -0
  5. data/README.md +192 -0
  6. data/Rakefile +46 -0
  7. data/lib/cacerts.pem +2183 -0
  8. data/lib/compat/multi_json.rb +16 -0
  9. data/lib/google/api_client.rb +672 -0
  10. data/lib/google/api_client/auth/compute_service_account.rb +28 -0
  11. data/lib/google/api_client/auth/file_storage.rb +87 -0
  12. data/lib/google/api_client/auth/installed_app.rb +122 -0
  13. data/lib/google/api_client/auth/jwt_asserter.rb +126 -0
  14. data/lib/google/api_client/auth/key_utils.rb +93 -0
  15. data/lib/google/api_client/auth/pkcs12.rb +41 -0
  16. data/lib/google/api_client/batch.rb +323 -0
  17. data/lib/google/api_client/client_secrets.rb +176 -0
  18. data/lib/google/api_client/discovery.rb +19 -0
  19. data/lib/google/api_client/discovery/api.rb +300 -0
  20. data/lib/google/api_client/discovery/media.rb +77 -0
  21. data/lib/google/api_client/discovery/method.rb +363 -0
  22. data/lib/google/api_client/discovery/resource.rb +156 -0
  23. data/lib/google/api_client/discovery/schema.rb +121 -0
  24. data/lib/google/api_client/environment.rb +42 -0
  25. data/lib/google/api_client/errors.rb +60 -0
  26. data/lib/google/api_client/gzip.rb +28 -0
  27. data/lib/google/api_client/logging.rb +32 -0
  28. data/lib/google/api_client/media.rb +259 -0
  29. data/lib/google/api_client/railtie.rb +16 -0
  30. data/lib/google/api_client/reference.rb +27 -0
  31. data/lib/google/api_client/request.rb +351 -0
  32. data/lib/google/api_client/result.rb +253 -0
  33. data/lib/google/api_client/service.rb +233 -0
  34. data/lib/google/api_client/service/batch.rb +103 -0
  35. data/lib/google/api_client/service/request.rb +144 -0
  36. data/lib/google/api_client/service/resource.rb +40 -0
  37. data/lib/google/api_client/service/result.rb +162 -0
  38. data/lib/google/api_client/service/simple_file_store.rb +151 -0
  39. data/lib/google/api_client/service/stub_generator.rb +59 -0
  40. data/lib/google/api_client/service_account.rb +18 -0
  41. data/lib/google/api_client/version.rb +31 -0
  42. data/lib/google/inflection.rb +28 -0
  43. data/spec/fixtures/files/privatekey.p12 +0 -0
  44. data/spec/fixtures/files/sample.txt +33 -0
  45. data/spec/fixtures/files/secret.pem +19 -0
  46. data/spec/google/api_client/batch_spec.rb +249 -0
  47. data/spec/google/api_client/discovery_spec.rb +652 -0
  48. data/spec/google/api_client/gzip_spec.rb +86 -0
  49. data/spec/google/api_client/media_spec.rb +179 -0
  50. data/spec/google/api_client/request_spec.rb +30 -0
  51. data/spec/google/api_client/result_spec.rb +203 -0
  52. data/spec/google/api_client/service_account_spec.rb +164 -0
  53. data/spec/google/api_client/service_spec.rb +586 -0
  54. data/spec/google/api_client/simple_file_store_spec.rb +137 -0
  55. data/spec/google/api_client_spec.rb +253 -0
  56. data/spec/spec_helper.rb +56 -0
  57. data/tasks/gem.rake +97 -0
  58. data/tasks/git.rake +45 -0
  59. data/tasks/metrics.rake +22 -0
  60. data/tasks/spec.rake +57 -0
  61. data/tasks/wiki.rake +82 -0
  62. data/tasks/yard.rake +29 -0
  63. metadata +309 -0
@@ -0,0 +1,45 @@
1
+ namespace :git do
2
+ namespace :tag do
3
+ desc 'List tags from the Git repository'
4
+ task :list do
5
+ tags = `git tag -l`
6
+ tags.gsub!("\r", '')
7
+ tags = tags.split("\n").sort {|a, b| b <=> a }
8
+ puts tags.join("\n")
9
+ end
10
+
11
+ desc 'Create a new tag in the Git repository'
12
+ task :create do
13
+ changelog = File.open('CHANGELOG.md', 'r') { |file| file.read }
14
+ puts '-' * 80
15
+ puts changelog
16
+ puts '-' * 80
17
+ puts
18
+
19
+ v = ENV['VERSION'] or abort 'Must supply VERSION=x.y.z'
20
+ abort "Versions don't match #{v} vs #{PKG_VERSION}" if v != PKG_VERSION
21
+
22
+ git_status = `git status`
23
+ if git_status !~ /nothing to commit \(working directory clean\)/
24
+ abort "Working directory isn't clean."
25
+ end
26
+
27
+ tag = "#{PKG_NAME}-#{PKG_VERSION}"
28
+ msg = "Release #{PKG_NAME}-#{PKG_VERSION}"
29
+
30
+ existing_tags = `git tag -l #{PKG_NAME}-*`.split('\n')
31
+ if existing_tags.include?(tag)
32
+ warn('Tag already exists, deleting...')
33
+ unless system "git tag -d #{tag}"
34
+ abort 'Tag deletion failed.'
35
+ end
36
+ end
37
+ puts "Creating git tag '#{tag}'..."
38
+ unless system "git tag -a -m \"#{msg}\" #{tag}"
39
+ abort 'Tag creation failed.'
40
+ end
41
+ end
42
+ end
43
+ end
44
+
45
+ task 'gem:release' => 'git:tag:create'
@@ -0,0 +1,22 @@
1
+ namespace :metrics do
2
+ task :lines do
3
+ lines, codelines, total_lines, total_codelines = 0, 0, 0, 0
4
+ for file_name in FileList['lib/**/*.rb']
5
+ f = File.open(file_name)
6
+ while line = f.gets
7
+ lines += 1
8
+ next if line =~ /^\s*$/
9
+ next if line =~ /^\s*#/
10
+ codelines += 1
11
+ end
12
+ puts "L: #{sprintf('%4d', lines)}, " +
13
+ "LOC #{sprintf('%4d', codelines)} | #{file_name}"
14
+ total_lines += lines
15
+ total_codelines += codelines
16
+
17
+ lines, codelines = 0, 0
18
+ end
19
+
20
+ puts "Total: Lines #{total_lines}, LOC #{total_codelines}"
21
+ end
22
+ end
@@ -0,0 +1,57 @@
1
+ require 'rake/clean'
2
+ require 'rspec/core/rake_task'
3
+
4
+ CLOBBER.include('coverage', 'specdoc')
5
+
6
+ namespace :spec do
7
+ RSpec::Core::RakeTask.new(:all) do |t|
8
+ t.pattern = FileList['spec/**/*_spec.rb']
9
+ t.rspec_opts = ['--color', '--format', 'documentation']
10
+ t.rcov = false
11
+ end
12
+
13
+ desc 'Generate HTML Specdocs for all specs.'
14
+ RSpec::Core::RakeTask.new(:specdoc) do |t|
15
+ specdoc_path = File.expand_path('../../specdoc', __FILE__)
16
+
17
+ t.rspec_opts = %W( --format html --out #{File.join(specdoc_path, 'index.html')} )
18
+ t.fail_on_error = false
19
+ end
20
+
21
+ RSpec::Core::RakeTask.new(:rcov) do |t|
22
+ if RCOV_ENABLED
23
+ if `which rcov`.strip == ""
24
+ STDERR.puts(
25
+ "Please install rcov and ensure that its binary is in the PATH:"
26
+ )
27
+ STDERR.puts("sudo gem install rcov")
28
+ exit(1)
29
+ end
30
+ t.rcov = true
31
+ else
32
+ t.rcov = false
33
+ end
34
+ t.rcov_opts = %w(
35
+ --exclude gems/
36
+ --exclude spec/
37
+ --exclude lib/google/api_client/environment.rb
38
+ --exclude lib/compat
39
+ )
40
+ end
41
+
42
+ namespace :rcov do
43
+ desc 'Browse the code coverage report.'
44
+ task :browse => 'spec:rcov' do
45
+ require 'launchy'
46
+ Launchy::Browser.run('coverage/index.html')
47
+ end
48
+ end
49
+ end
50
+
51
+ if RCOV_ENABLED
52
+ desc 'Alias to spec:rcov'
53
+ task 'spec' => 'spec:rcov'
54
+ else
55
+ desc 'Alias to spec:all'
56
+ task 'spec' => 'spec:all'
57
+ end
@@ -0,0 +1,82 @@
1
+ require 'rake'
2
+ require 'rake/clean'
3
+
4
+ CLOBBER.include('wiki')
5
+
6
+ CACHE_PREFIX =
7
+ "http://www.gmodules.com/gadgets/proxy/container=default&debug=0&nocache=0/"
8
+
9
+ namespace :wiki do
10
+ desc 'Autogenerate wiki pages'
11
+ task :supported_apis do
12
+ output = <<-WIKI
13
+ #summary The list of supported APIs
14
+
15
+ The Google API Client for Ruby is a small flexible client library for accessing
16
+ the following Google APIs.
17
+
18
+ WIKI
19
+ preferred_apis = {}
20
+ require 'google/api_client'
21
+ client = Google::APIClient.new
22
+ for api in client.discovered_apis
23
+ if !preferred_apis.has_key?(api.name)
24
+ preferred_apis[api.name] = api
25
+ elsif api.preferred
26
+ preferred_apis[api.name] = api
27
+ end
28
+ end
29
+ for api_name, api in preferred_apis
30
+ if api.documentation.to_s != "" && api.title != ""
31
+ output += (
32
+ "||#{CACHE_PREFIX}#{api['icons']['x16']}||" +
33
+ "[#{api.documentation} #{api.title}]||" +
34
+ "#{api.description}||\n"
35
+ )
36
+ end
37
+ end
38
+ output.gsub!(/-32\./, "-16.")
39
+ wiki_path = File.expand_path(
40
+ File.join(File.dirname(__FILE__), '../wiki/'))
41
+ Dir.mkdir(wiki_path) if !File.exist?(wiki_path)
42
+ File.open(File.join(wiki_path, 'SupportedAPIs.wiki'), 'w') do |file|
43
+ file.write(output)
44
+ end
45
+ end
46
+
47
+ task 'generate' => ['wiki:supported_apis']
48
+ end
49
+
50
+ begin
51
+ $LOAD_PATH.unshift(
52
+ File.expand_path(File.join(File.dirname(__FILE__), '../yard/lib'))
53
+ )
54
+ $LOAD_PATH.unshift(File.expand_path('.'))
55
+ $LOAD_PATH.uniq!
56
+
57
+ require 'yard'
58
+ require 'yard/rake/wikidoc_task'
59
+
60
+ namespace :wiki do
61
+ desc 'Generate Wiki Documentation with YARD'
62
+ YARD::Rake::WikidocTask.new do |yardoc|
63
+ yardoc.name = 'reference'
64
+ yardoc.options = [
65
+ '--verbose',
66
+ '--markup', 'markdown',
67
+ '-e', 'yard/lib/yard-google-code.rb',
68
+ '-p', 'yard/templates',
69
+ '-f', 'wiki',
70
+ '-o', 'wiki'
71
+ ]
72
+ yardoc.files = [
73
+ 'lib/**/*.rb', 'ext/**/*.c', '-', 'README.md', 'CHANGELOG.md'
74
+ ]
75
+ end
76
+
77
+ task 'generate' => ['wiki:reference', 'wiki:supported_apis']
78
+ end
79
+ rescue LoadError
80
+ # If yard isn't available, it's not the end of the world
81
+ warn('YARD unavailable. Cannot fully generate wiki.')
82
+ end
@@ -0,0 +1,29 @@
1
+ require 'rake'
2
+ require 'rake/clean'
3
+
4
+ CLOBBER.include('doc', '.yardoc')
5
+ CLOBBER.uniq!
6
+
7
+ begin
8
+ require 'yard'
9
+ require 'yard/rake/yardoc_task'
10
+
11
+ namespace :doc do
12
+ desc 'Generate Yardoc documentation'
13
+ YARD::Rake::YardocTask.new do |yardoc|
14
+ yardoc.name = 'yard'
15
+ yardoc.options = ['--verbose', '--markup', 'markdown']
16
+ yardoc.files = [
17
+ 'lib/**/*.rb', 'ext/**/*.c', '-',
18
+ 'README.md', 'CONTRIB.md', 'CHANGELOG.md', 'LICENSE'
19
+ ]
20
+ end
21
+ end
22
+
23
+ desc 'Alias to doc:yard'
24
+ task 'doc' => 'doc:yard'
25
+ rescue LoadError
26
+ # If yard isn't available, it's not the end of the world
27
+ desc 'Alias to doc:rdoc'
28
+ task 'doc' => 'doc:rdoc'
29
+ end
metadata ADDED
@@ -0,0 +1,309 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: jomz-google-api-client
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.7.1
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Bob Aman
9
+ - Steve Bazyl
10
+ - Benny Degezelle
11
+ autorequire:
12
+ bindir: bin
13
+ cert_chain: []
14
+ date: 2014-01-23 00:00:00.000000000 Z
15
+ dependencies:
16
+ - !ruby/object:Gem::Dependency
17
+ name: signet
18
+ requirement: !ruby/object:Gem::Requirement
19
+ none: false
20
+ requirements:
21
+ - - ! '>='
22
+ - !ruby/object:Gem::Version
23
+ version: 0.5.0
24
+ type: :runtime
25
+ prerelease: false
26
+ version_requirements: !ruby/object:Gem::Requirement
27
+ none: false
28
+ requirements:
29
+ - - ! '>='
30
+ - !ruby/object:Gem::Version
31
+ version: 0.5.0
32
+ - !ruby/object:Gem::Dependency
33
+ name: addressable
34
+ requirement: !ruby/object:Gem::Requirement
35
+ none: false
36
+ requirements:
37
+ - - ! '>='
38
+ - !ruby/object:Gem::Version
39
+ version: 2.3.2
40
+ type: :runtime
41
+ prerelease: false
42
+ version_requirements: !ruby/object:Gem::Requirement
43
+ none: false
44
+ requirements:
45
+ - - ! '>='
46
+ - !ruby/object:Gem::Version
47
+ version: 2.3.2
48
+ - !ruby/object:Gem::Dependency
49
+ name: uuidtools
50
+ requirement: !ruby/object:Gem::Requirement
51
+ none: false
52
+ requirements:
53
+ - - ! '>='
54
+ - !ruby/object:Gem::Version
55
+ version: 2.1.0
56
+ type: :runtime
57
+ prerelease: false
58
+ version_requirements: !ruby/object:Gem::Requirement
59
+ none: false
60
+ requirements:
61
+ - - ! '>='
62
+ - !ruby/object:Gem::Version
63
+ version: 2.1.0
64
+ - !ruby/object:Gem::Dependency
65
+ name: autoparse
66
+ requirement: !ruby/object:Gem::Requirement
67
+ none: false
68
+ requirements:
69
+ - - ! '>='
70
+ - !ruby/object:Gem::Version
71
+ version: 0.3.3
72
+ type: :runtime
73
+ prerelease: false
74
+ version_requirements: !ruby/object:Gem::Requirement
75
+ none: false
76
+ requirements:
77
+ - - ! '>='
78
+ - !ruby/object:Gem::Version
79
+ version: 0.3.3
80
+ - !ruby/object:Gem::Dependency
81
+ name: faraday
82
+ requirement: !ruby/object:Gem::Requirement
83
+ none: false
84
+ requirements:
85
+ - - ! '>='
86
+ - !ruby/object:Gem::Version
87
+ version: 0.9.0
88
+ type: :runtime
89
+ prerelease: false
90
+ version_requirements: !ruby/object:Gem::Requirement
91
+ none: false
92
+ requirements:
93
+ - - ! '>='
94
+ - !ruby/object:Gem::Version
95
+ version: 0.9.0
96
+ - !ruby/object:Gem::Dependency
97
+ name: multi_json
98
+ requirement: !ruby/object:Gem::Requirement
99
+ none: false
100
+ requirements:
101
+ - - ! '>='
102
+ - !ruby/object:Gem::Version
103
+ version: 1.0.0
104
+ type: :runtime
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ none: false
108
+ requirements:
109
+ - - ! '>='
110
+ - !ruby/object:Gem::Version
111
+ version: 1.0.0
112
+ - !ruby/object:Gem::Dependency
113
+ name: extlib
114
+ requirement: !ruby/object:Gem::Requirement
115
+ none: false
116
+ requirements:
117
+ - - ! '>='
118
+ - !ruby/object:Gem::Version
119
+ version: 0.9.15
120
+ type: :runtime
121
+ prerelease: false
122
+ version_requirements: !ruby/object:Gem::Requirement
123
+ none: false
124
+ requirements:
125
+ - - ! '>='
126
+ - !ruby/object:Gem::Version
127
+ version: 0.9.15
128
+ - !ruby/object:Gem::Dependency
129
+ name: jwt
130
+ requirement: !ruby/object:Gem::Requirement
131
+ none: false
132
+ requirements:
133
+ - - ! '>='
134
+ - !ruby/object:Gem::Version
135
+ version: 0.1.5
136
+ type: :runtime
137
+ prerelease: false
138
+ version_requirements: !ruby/object:Gem::Requirement
139
+ none: false
140
+ requirements:
141
+ - - ! '>='
142
+ - !ruby/object:Gem::Version
143
+ version: 0.1.5
144
+ - !ruby/object:Gem::Dependency
145
+ name: retriable
146
+ requirement: !ruby/object:Gem::Requirement
147
+ none: false
148
+ requirements:
149
+ - - ! '>='
150
+ - !ruby/object:Gem::Version
151
+ version: '1.4'
152
+ type: :runtime
153
+ prerelease: false
154
+ version_requirements: !ruby/object:Gem::Requirement
155
+ none: false
156
+ requirements:
157
+ - - ! '>='
158
+ - !ruby/object:Gem::Version
159
+ version: '1.4'
160
+ - !ruby/object:Gem::Dependency
161
+ name: launchy
162
+ requirement: !ruby/object:Gem::Requirement
163
+ none: false
164
+ requirements:
165
+ - - ! '>='
166
+ - !ruby/object:Gem::Version
167
+ version: 2.1.1
168
+ type: :runtime
169
+ prerelease: false
170
+ version_requirements: !ruby/object:Gem::Requirement
171
+ none: false
172
+ requirements:
173
+ - - ! '>='
174
+ - !ruby/object:Gem::Version
175
+ version: 2.1.1
176
+ - !ruby/object:Gem::Dependency
177
+ name: rake
178
+ requirement: !ruby/object:Gem::Requirement
179
+ none: false
180
+ requirements:
181
+ - - ! '>='
182
+ - !ruby/object:Gem::Version
183
+ version: 0.9.0
184
+ type: :development
185
+ prerelease: false
186
+ version_requirements: !ruby/object:Gem::Requirement
187
+ none: false
188
+ requirements:
189
+ - - ! '>='
190
+ - !ruby/object:Gem::Version
191
+ version: 0.9.0
192
+ - !ruby/object:Gem::Dependency
193
+ name: rspec
194
+ requirement: !ruby/object:Gem::Requirement
195
+ none: false
196
+ requirements:
197
+ - - ! '>='
198
+ - !ruby/object:Gem::Version
199
+ version: 2.11.0
200
+ type: :development
201
+ prerelease: false
202
+ version_requirements: !ruby/object:Gem::Requirement
203
+ none: false
204
+ requirements:
205
+ - - ! '>='
206
+ - !ruby/object:Gem::Version
207
+ version: 2.11.0
208
+ description: ! 'The Google API Ruby Client makes it trivial to discover and access
209
+ supported
210
+
211
+ APIs.
212
+
213
+ '
214
+ email: sbazyl@google.com
215
+ executables: []
216
+ extensions: []
217
+ extra_rdoc_files:
218
+ - README.md
219
+ files:
220
+ - lib/cacerts.pem
221
+ - lib/compat/multi_json.rb
222
+ - lib/google/api_client.rb
223
+ - lib/google/api_client/auth/compute_service_account.rb
224
+ - lib/google/api_client/auth/file_storage.rb
225
+ - lib/google/api_client/auth/installed_app.rb
226
+ - lib/google/api_client/auth/jwt_asserter.rb
227
+ - lib/google/api_client/auth/key_utils.rb
228
+ - lib/google/api_client/auth/pkcs12.rb
229
+ - lib/google/api_client/batch.rb
230
+ - lib/google/api_client/client_secrets.rb
231
+ - lib/google/api_client/discovery.rb
232
+ - lib/google/api_client/discovery/api.rb
233
+ - lib/google/api_client/discovery/media.rb
234
+ - lib/google/api_client/discovery/method.rb
235
+ - lib/google/api_client/discovery/resource.rb
236
+ - lib/google/api_client/discovery/schema.rb
237
+ - lib/google/api_client/environment.rb
238
+ - lib/google/api_client/errors.rb
239
+ - lib/google/api_client/gzip.rb
240
+ - lib/google/api_client/logging.rb
241
+ - lib/google/api_client/media.rb
242
+ - lib/google/api_client/railtie.rb
243
+ - lib/google/api_client/reference.rb
244
+ - lib/google/api_client/request.rb
245
+ - lib/google/api_client/result.rb
246
+ - lib/google/api_client/service.rb
247
+ - lib/google/api_client/service/batch.rb
248
+ - lib/google/api_client/service/request.rb
249
+ - lib/google/api_client/service/resource.rb
250
+ - lib/google/api_client/service/result.rb
251
+ - lib/google/api_client/service/simple_file_store.rb
252
+ - lib/google/api_client/service/stub_generator.rb
253
+ - lib/google/api_client/service_account.rb
254
+ - lib/google/api_client/version.rb
255
+ - lib/google/inflection.rb
256
+ - spec/fixtures/files/privatekey.p12
257
+ - spec/fixtures/files/sample.txt
258
+ - spec/fixtures/files/secret.pem
259
+ - spec/google/api_client/batch_spec.rb
260
+ - spec/google/api_client/discovery_spec.rb
261
+ - spec/google/api_client/gzip_spec.rb
262
+ - spec/google/api_client/media_spec.rb
263
+ - spec/google/api_client/request_spec.rb
264
+ - spec/google/api_client/result_spec.rb
265
+ - spec/google/api_client/service_account_spec.rb
266
+ - spec/google/api_client/service_spec.rb
267
+ - spec/google/api_client/simple_file_store_spec.rb
268
+ - spec/google/api_client_spec.rb
269
+ - spec/spec_helper.rb
270
+ - tasks/gem.rake
271
+ - tasks/git.rake
272
+ - tasks/metrics.rake
273
+ - tasks/spec.rake
274
+ - tasks/wiki.rake
275
+ - tasks/yard.rake
276
+ - CHANGELOG.md
277
+ - CONTRIBUTING.md
278
+ - Gemfile
279
+ - LICENSE
280
+ - README.md
281
+ - Rakefile
282
+ homepage: https://github.com/google/google-api-ruby-client
283
+ licenses:
284
+ - Apache 2.0
285
+ post_install_message:
286
+ rdoc_options:
287
+ - --main
288
+ - README.md
289
+ require_paths:
290
+ - lib
291
+ required_ruby_version: !ruby/object:Gem::Requirement
292
+ none: false
293
+ requirements:
294
+ - - ! '>='
295
+ - !ruby/object:Gem::Version
296
+ version: '0'
297
+ required_rubygems_version: !ruby/object:Gem::Requirement
298
+ none: false
299
+ requirements:
300
+ - - ! '>='
301
+ - !ruby/object:Gem::Version
302
+ version: '0'
303
+ requirements: []
304
+ rubyforge_project:
305
+ rubygems_version: 1.8.25
306
+ signing_key:
307
+ specification_version: 4
308
+ summary: Package Summary
309
+ test_files: []