ghost_google-api-client 0.4.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 (40) hide show
  1. data/CHANGELOG.md +77 -0
  2. data/Gemfile +30 -0
  3. data/Gemfile.lock +80 -0
  4. data/LICENSE +202 -0
  5. data/README.md +71 -0
  6. data/Rakefile +42 -0
  7. data/bin/google-api +545 -0
  8. data/lib/compat/multi_json.rb +17 -0
  9. data/lib/google/api_client.rb +802 -0
  10. data/lib/google/api_client/batch.rb +296 -0
  11. data/lib/google/api_client/client_secrets.rb +106 -0
  12. data/lib/google/api_client/discovery.rb +19 -0
  13. data/lib/google/api_client/discovery/api.rb +287 -0
  14. data/lib/google/api_client/discovery/media.rb +77 -0
  15. data/lib/google/api_client/discovery/method.rb +369 -0
  16. data/lib/google/api_client/discovery/resource.rb +150 -0
  17. data/lib/google/api_client/discovery/schema.rb +119 -0
  18. data/lib/google/api_client/environment.rb +42 -0
  19. data/lib/google/api_client/errors.rb +49 -0
  20. data/lib/google/api_client/media.rb +172 -0
  21. data/lib/google/api_client/reference.rb +305 -0
  22. data/lib/google/api_client/result.rb +161 -0
  23. data/lib/google/api_client/service_account.rb +134 -0
  24. data/lib/google/api_client/version.rb +31 -0
  25. data/lib/google/inflection.rb +28 -0
  26. data/spec/fixtures/files/sample.txt +33 -0
  27. data/spec/google/api_client/batch_spec.rb +241 -0
  28. data/spec/google/api_client/discovery_spec.rb +670 -0
  29. data/spec/google/api_client/media_spec.rb +143 -0
  30. data/spec/google/api_client/result_spec.rb +185 -0
  31. data/spec/google/api_client/service_account_spec.rb +58 -0
  32. data/spec/google/api_client_spec.rb +139 -0
  33. data/spec/spec_helper.rb +7 -0
  34. data/tasks/gem.rake +97 -0
  35. data/tasks/git.rake +45 -0
  36. data/tasks/metrics.rake +22 -0
  37. data/tasks/spec.rake +57 -0
  38. data/tasks/wiki.rake +82 -0
  39. data/tasks/yard.rake +29 -0
  40. metadata +253 -0
@@ -0,0 +1,7 @@
1
+ $LOAD_PATH.unshift(File.expand_path('../../lib', __FILE__))
2
+ $LOAD_PATH.uniq!
3
+
4
+ require 'rspec'
5
+
6
+ RSpec.configure do |config|
7
+ end
@@ -0,0 +1,97 @@
1
+ require 'rubygems/package_task'
2
+ require 'rake/clean'
3
+
4
+ CLOBBER.include('pkg')
5
+
6
+ namespace :gem do
7
+ GEM_SPEC = Gem::Specification.new do |s|
8
+ unless s.respond_to?(:add_development_dependency)
9
+ puts 'The gem spec requires a newer version of RubyGems.'
10
+ exit(1)
11
+ end
12
+
13
+ s.name = PKG_NAME
14
+ s.version = PKG_VERSION
15
+ s.author = PKG_AUTHOR
16
+ s.email = PKG_AUTHOR_EMAIL
17
+ s.summary = PKG_SUMMARY
18
+ s.description = PKG_DESCRIPTION
19
+
20
+ s.files = PKG_FILES.to_a
21
+ s.executables << 'google-api'
22
+
23
+ s.extra_rdoc_files = %w( README.md )
24
+ s.rdoc_options.concat ['--main', 'README.md']
25
+
26
+ # Dependencies used in the main library
27
+ s.add_runtime_dependency('signet', '>= 0.4.1')
28
+ s.add_runtime_dependency('addressable', '>= 2.3.2')
29
+ s.add_runtime_dependency('uuidtools', '>= 2.1.0')
30
+ s.add_runtime_dependency('autoparse', '>= 0.3.2')
31
+ s.add_runtime_dependency('faraday', '~> 0.8.1')
32
+ s.add_runtime_dependency('multi_json', '>= 1.0.0')
33
+ s.add_runtime_dependency('extlib', '>= 0.9.15')
34
+
35
+ # Dependencies used in the CLI
36
+ s.add_runtime_dependency('launchy', '>= 2.1.1')
37
+
38
+ # Dependencies used in the examples
39
+ s.add_development_dependency('rake', '>= 0.9.0')
40
+ s.add_development_dependency('rspec', '>= 2.11.0')
41
+
42
+ s.require_path = 'lib'
43
+
44
+ s.homepage = PKG_HOMEPAGE
45
+ end
46
+
47
+ Gem::PackageTask.new(GEM_SPEC) do |p|
48
+ p.gem_spec = GEM_SPEC
49
+ p.need_tar = true
50
+ p.need_zip = true
51
+ end
52
+
53
+ desc 'Show information about the gem'
54
+ task :debug do
55
+ puts GEM_SPEC.to_ruby
56
+ end
57
+
58
+ desc "Generates .gemspec file"
59
+ task :gemspec do
60
+ spec_string = GEM_SPEC.to_ruby
61
+
62
+ begin
63
+ Thread.new { eval("$SAFE = 3\n#{spec_string}", binding) }.join
64
+ rescue
65
+ abort "unsafe gemspec: #{$!}"
66
+ else
67
+ File.open("#{GEM_SPEC.name}.gemspec", 'w') do |file|
68
+ file.write spec_string
69
+ end
70
+ end
71
+ end
72
+
73
+ desc 'Install the gem'
74
+ task :install => ['clobber', 'gem:package'] do
75
+ sh "#{SUDO} gem install --local pkg/#{GEM_SPEC.full_name}"
76
+ end
77
+
78
+ desc 'Uninstall the gem'
79
+ task :uninstall do
80
+ installed_list = Gem.source_index.find_name(PKG_NAME)
81
+ if installed_list &&
82
+ (installed_list.collect { |s| s.version.to_s}.include?(PKG_VERSION))
83
+ sh(
84
+ "#{SUDO} gem uninstall --version '#{PKG_VERSION}' " +
85
+ "--ignore-dependencies --executables #{PKG_NAME}"
86
+ )
87
+ end
88
+ end
89
+
90
+ desc 'Reinstall the gem'
91
+ task :reinstall => [:uninstall, :install]
92
+ end
93
+
94
+ desc 'Alias to gem:package'
95
+ task 'gem' => 'gem:package'
96
+
97
+ task 'gem:release' => 'gem:gemspec'
@@ -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', '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,253 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: ghost_google-api-client
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.4.7.1
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Jon Rose
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2012-08-30 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: signet
16
+ requirement: !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: 0.4.1
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ! '>='
28
+ - !ruby/object:Gem::Version
29
+ version: 0.4.1
30
+ - !ruby/object:Gem::Dependency
31
+ name: addressable
32
+ requirement: !ruby/object:Gem::Requirement
33
+ none: false
34
+ requirements:
35
+ - - ! '>='
36
+ - !ruby/object:Gem::Version
37
+ version: 2.2.8
38
+ type: :runtime
39
+ prerelease: false
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: 2.2.8
46
+ - !ruby/object:Gem::Dependency
47
+ name: uuidtools
48
+ requirement: !ruby/object:Gem::Requirement
49
+ none: false
50
+ requirements:
51
+ - - ! '>='
52
+ - !ruby/object:Gem::Version
53
+ version: 2.1.0
54
+ type: :runtime
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ! '>='
60
+ - !ruby/object:Gem::Version
61
+ version: 2.1.0
62
+ - !ruby/object:Gem::Dependency
63
+ name: autoparse
64
+ requirement: !ruby/object:Gem::Requirement
65
+ none: false
66
+ requirements:
67
+ - - ! '>='
68
+ - !ruby/object:Gem::Version
69
+ version: 0.3.2
70
+ type: :runtime
71
+ prerelease: false
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ! '>='
76
+ - !ruby/object:Gem::Version
77
+ version: 0.3.2
78
+ - !ruby/object:Gem::Dependency
79
+ name: faraday
80
+ requirement: !ruby/object:Gem::Requirement
81
+ none: false
82
+ requirements:
83
+ - - ~>
84
+ - !ruby/object:Gem::Version
85
+ version: 0.8.1
86
+ type: :runtime
87
+ prerelease: false
88
+ version_requirements: !ruby/object:Gem::Requirement
89
+ none: false
90
+ requirements:
91
+ - - ~>
92
+ - !ruby/object:Gem::Version
93
+ version: 0.8.1
94
+ - !ruby/object:Gem::Dependency
95
+ name: multi_json
96
+ requirement: !ruby/object:Gem::Requirement
97
+ none: false
98
+ requirements:
99
+ - - ! '>='
100
+ - !ruby/object:Gem::Version
101
+ version: 1.0.0
102
+ type: :runtime
103
+ prerelease: false
104
+ version_requirements: !ruby/object:Gem::Requirement
105
+ none: false
106
+ requirements:
107
+ - - ! '>='
108
+ - !ruby/object:Gem::Version
109
+ version: 1.0.0
110
+ - !ruby/object:Gem::Dependency
111
+ name: extlib
112
+ requirement: !ruby/object:Gem::Requirement
113
+ none: false
114
+ requirements:
115
+ - - ! '>='
116
+ - !ruby/object:Gem::Version
117
+ version: 0.9.15
118
+ type: :runtime
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ none: false
122
+ requirements:
123
+ - - ! '>='
124
+ - !ruby/object:Gem::Version
125
+ version: 0.9.15
126
+ - !ruby/object:Gem::Dependency
127
+ name: launchy
128
+ requirement: !ruby/object:Gem::Requirement
129
+ none: false
130
+ requirements:
131
+ - - ! '>='
132
+ - !ruby/object:Gem::Version
133
+ version: 2.1.1
134
+ type: :runtime
135
+ prerelease: false
136
+ version_requirements: !ruby/object:Gem::Requirement
137
+ none: false
138
+ requirements:
139
+ - - ! '>='
140
+ - !ruby/object:Gem::Version
141
+ version: 2.1.1
142
+ - !ruby/object:Gem::Dependency
143
+ name: rake
144
+ requirement: !ruby/object:Gem::Requirement
145
+ none: false
146
+ requirements:
147
+ - - ! '>='
148
+ - !ruby/object:Gem::Version
149
+ version: 0.9.0
150
+ type: :development
151
+ prerelease: false
152
+ version_requirements: !ruby/object:Gem::Requirement
153
+ none: false
154
+ requirements:
155
+ - - ! '>='
156
+ - !ruby/object:Gem::Version
157
+ version: 0.9.0
158
+ - !ruby/object:Gem::Dependency
159
+ name: rspec
160
+ requirement: !ruby/object:Gem::Requirement
161
+ none: false
162
+ requirements:
163
+ - - ! '>='
164
+ - !ruby/object:Gem::Version
165
+ version: 2.11.0
166
+ type: :development
167
+ prerelease: false
168
+ version_requirements: !ruby/object:Gem::Requirement
169
+ none: false
170
+ requirements:
171
+ - - ! '>='
172
+ - !ruby/object:Gem::Version
173
+ version: 2.11.0
174
+ description: ! 'Fork of official Google API for Ruby project. The Google API Ruby
175
+ Client makes it trivial to discover and access supported
176
+
177
+ APIs.
178
+
179
+ '
180
+ email: jonrose08@gmail.com
181
+ executables:
182
+ - google-api
183
+ extensions: []
184
+ extra_rdoc_files:
185
+ - README.md
186
+ files:
187
+ - lib/compat/multi_json.rb
188
+ - lib/google/api_client/batch.rb
189
+ - lib/google/api_client/client_secrets.rb
190
+ - lib/google/api_client/discovery/api.rb
191
+ - lib/google/api_client/discovery/media.rb
192
+ - lib/google/api_client/discovery/method.rb
193
+ - lib/google/api_client/discovery/resource.rb
194
+ - lib/google/api_client/discovery/schema.rb
195
+ - lib/google/api_client/discovery.rb
196
+ - lib/google/api_client/environment.rb
197
+ - lib/google/api_client/errors.rb
198
+ - lib/google/api_client/media.rb
199
+ - lib/google/api_client/reference.rb
200
+ - lib/google/api_client/result.rb
201
+ - lib/google/api_client/service_account.rb
202
+ - lib/google/api_client/version.rb
203
+ - lib/google/api_client.rb
204
+ - lib/google/inflection.rb
205
+ - spec/fixtures/files/sample.txt
206
+ - spec/google/api_client/batch_spec.rb
207
+ - spec/google/api_client/discovery_spec.rb
208
+ - spec/google/api_client/media_spec.rb
209
+ - spec/google/api_client/result_spec.rb
210
+ - spec/google/api_client/service_account_spec.rb
211
+ - spec/google/api_client_spec.rb
212
+ - spec/spec_helper.rb
213
+ - tasks/gem.rake
214
+ - tasks/git.rake
215
+ - tasks/metrics.rake
216
+ - tasks/spec.rake
217
+ - tasks/wiki.rake
218
+ - tasks/yard.rake
219
+ - CHANGELOG.md
220
+ - Gemfile
221
+ - Gemfile.lock
222
+ - LICENSE
223
+ - Rakefile
224
+ - README.md
225
+ - bin/google-api
226
+ homepage: http://code.google.com/p/google-api-ruby-client/
227
+ licenses: []
228
+ post_install_message:
229
+ rdoc_options:
230
+ - --main
231
+ - README.md
232
+ require_paths:
233
+ - lib
234
+ required_ruby_version: !ruby/object:Gem::Requirement
235
+ none: false
236
+ requirements:
237
+ - - ! '>='
238
+ - !ruby/object:Gem::Version
239
+ version: '0'
240
+ required_rubygems_version: !ruby/object:Gem::Requirement
241
+ none: false
242
+ requirements:
243
+ - - ! '>='
244
+ - !ruby/object:Gem::Version
245
+ version: '0'
246
+ requirements: []
247
+ rubyforge_project:
248
+ rubygems_version: 1.8.24
249
+ signing_key:
250
+ specification_version: 3
251
+ summary: Package Summary
252
+ test_files: []
253
+ has_rdoc: