google-api-client 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/CHANGELOG +3 -0
- data/LICENSE +202 -0
- data/README +68 -0
- data/Rakefile +52 -0
- data/bin/google-api +295 -0
- data/lib/google/api_client.rb +375 -0
- data/lib/google/api_client/discovery.rb +535 -0
- data/lib/google/api_client/parsers/json_parser.rb +40 -0
- data/lib/google/api_client/version.rb +25 -0
- data/spec/google/api_client/discovery_spec.rb +428 -0
- data/spec/google/api_client/parsers/json_parser_spec.rb +51 -0
- data/spec/google/api_client_spec.rb +79 -0
- data/spec/spec.opts +2 -0
- data/spec/spec_helper.rb +5 -0
- data/tasks/clobber.rake +2 -0
- data/tasks/gem.rake +76 -0
- data/tasks/git.rake +40 -0
- data/tasks/metrics.rake +22 -0
- data/tasks/rdoc.rake +26 -0
- data/tasks/spec.rake +78 -0
- data/tasks/yard.rake +26 -0
- metadata +281 -0
@@ -0,0 +1,51 @@
|
|
1
|
+
# Copyright 2010 Google Inc.
|
2
|
+
#
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
|
+
# you may not use this file except in compliance with the License.
|
5
|
+
# You may obtain a copy of the License at
|
6
|
+
#
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
8
|
+
#
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
12
|
+
# See the License for the specific language governing permissions and
|
13
|
+
# limitations under the License.
|
14
|
+
|
15
|
+
require 'spec_helper'
|
16
|
+
|
17
|
+
require 'json'
|
18
|
+
require 'google/api_client/parsers/json_parser'
|
19
|
+
|
20
|
+
describe Google::APIClient::JSONParser, 'generates json from hash' do
|
21
|
+
before do
|
22
|
+
@parser = Google::APIClient::JSONParser
|
23
|
+
end
|
24
|
+
|
25
|
+
it 'should translate simple hash to JSON string' do
|
26
|
+
@parser.serialize('test' => 23).should == '{"test":23}'
|
27
|
+
end
|
28
|
+
|
29
|
+
it 'should translate simple nested into to nested JSON string' do
|
30
|
+
@parser.serialize({
|
31
|
+
'test' => 23, 'test2' => {'foo' => 'baz', 12 => 3.14 }
|
32
|
+
}).should ==
|
33
|
+
'{"test2":{"12":3.14,"foo":"baz"},"test":23}'
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
describe Google::APIClient::JSONParser, 'parses json string into hash' do
|
38
|
+
before do
|
39
|
+
@parser = Google::APIClient::JSONParser
|
40
|
+
end
|
41
|
+
|
42
|
+
it 'should parse simple json string into hash' do
|
43
|
+
@parser.parse('{"test":23}').should == {'test' => 23}
|
44
|
+
end
|
45
|
+
|
46
|
+
it 'should parse nested json object into hash' do
|
47
|
+
@parser.parse('{"test":23, "test2":{"bar":"baz", "foo":3.14}}').should == {
|
48
|
+
'test' => 23, 'test2' => {'bar' => 'baz', 'foo' => 3.14}
|
49
|
+
}
|
50
|
+
end
|
51
|
+
end
|
@@ -0,0 +1,79 @@
|
|
1
|
+
# Copyright 2010 Google Inc.
|
2
|
+
#
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
|
+
# you may not use this file except in compliance with the License.
|
5
|
+
# You may obtain a copy of the License at
|
6
|
+
#
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
8
|
+
#
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
12
|
+
# See the License for the specific language governing permissions and
|
13
|
+
# limitations under the License.
|
14
|
+
|
15
|
+
require 'spec_helper'
|
16
|
+
|
17
|
+
require 'signet/oauth_1/client'
|
18
|
+
require 'httpadapter/adapters/net_http'
|
19
|
+
|
20
|
+
require 'google/api_client'
|
21
|
+
require 'google/api_client/version'
|
22
|
+
require 'google/api_client/parsers/json_parser'
|
23
|
+
|
24
|
+
describe Google::APIClient, 'with default configuration' do
|
25
|
+
before do
|
26
|
+
@client = Google::APIClient.new
|
27
|
+
end
|
28
|
+
|
29
|
+
it 'should make its version number available' do
|
30
|
+
::Google::APIClient::VERSION::STRING.should be_instance_of(String)
|
31
|
+
end
|
32
|
+
|
33
|
+
it 'should use the default JSON parser' do
|
34
|
+
@client.parser.should be(Google::APIClient::JSONParser)
|
35
|
+
end
|
36
|
+
|
37
|
+
it 'should not use an authorization mechanism' do
|
38
|
+
@client.authorization.should be_nil
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
42
|
+
describe Google::APIClient, 'with default oauth configuration' do
|
43
|
+
before do
|
44
|
+
@client = Google::APIClient.new(:authorization => :oauth_1)
|
45
|
+
end
|
46
|
+
|
47
|
+
it 'should make its version number available' do
|
48
|
+
::Google::APIClient::VERSION::STRING.should be_instance_of(String)
|
49
|
+
end
|
50
|
+
|
51
|
+
it 'should use the default JSON parser' do
|
52
|
+
@client.parser.should be(Google::APIClient::JSONParser)
|
53
|
+
end
|
54
|
+
|
55
|
+
it 'should use the default OAuth1 client configuration' do
|
56
|
+
@client.authorization.temporary_credential_uri.to_s.should ==
|
57
|
+
'https://www.google.com/accounts/OAuthGetRequestToken'
|
58
|
+
@client.authorization.authorization_uri.to_s.should include(
|
59
|
+
'https://www.google.com/accounts/OAuthAuthorizeToken'
|
60
|
+
)
|
61
|
+
@client.authorization.token_credential_uri.to_s.should ==
|
62
|
+
'https://www.google.com/accounts/OAuthGetAccessToken'
|
63
|
+
@client.authorization.client_credential_key.should == 'anonymous'
|
64
|
+
@client.authorization.client_credential_secret.should == 'anonymous'
|
65
|
+
end
|
66
|
+
end
|
67
|
+
|
68
|
+
describe Google::APIClient, 'with custom pluggable parser' do
|
69
|
+
before do
|
70
|
+
class FakeJsonParser
|
71
|
+
end
|
72
|
+
|
73
|
+
@client = Google::APIClient.new(:parser => FakeJsonParser.new)
|
74
|
+
end
|
75
|
+
|
76
|
+
it 'should use the custom parser' do
|
77
|
+
@client.parser.should be_instance_of(FakeJsonParser)
|
78
|
+
end
|
79
|
+
end
|
data/spec/spec.opts
ADDED
data/spec/spec_helper.rb
ADDED
data/tasks/clobber.rake
ADDED
data/tasks/gem.rake
ADDED
@@ -0,0 +1,76 @@
|
|
1
|
+
require 'rake/gempackagetask'
|
2
|
+
|
3
|
+
namespace :gem do
|
4
|
+
GEM_SPEC = Gem::Specification.new do |s|
|
5
|
+
unless s.respond_to?(:add_development_dependency)
|
6
|
+
puts 'The gem spec requires a newer version of RubyGems.'
|
7
|
+
exit(1)
|
8
|
+
end
|
9
|
+
|
10
|
+
s.name = PKG_NAME
|
11
|
+
s.version = PKG_VERSION
|
12
|
+
s.summary = PKG_SUMMARY
|
13
|
+
s.description = PKG_DESCRIPTION
|
14
|
+
|
15
|
+
s.files = PKG_FILES.to_a
|
16
|
+
s.executables << 'google-api'
|
17
|
+
|
18
|
+
s.has_rdoc = true
|
19
|
+
s.extra_rdoc_files = %w( README )
|
20
|
+
s.rdoc_options.concat ['--main', 'README']
|
21
|
+
|
22
|
+
s.add_runtime_dependency('signet', '>= 0.1.3')
|
23
|
+
s.add_runtime_dependency('addressable', '>= 2.2.2')
|
24
|
+
s.add_runtime_dependency('httpadapter', '>= 0.2.0')
|
25
|
+
s.add_runtime_dependency('json', '>= 1.1.9')
|
26
|
+
s.add_runtime_dependency('extlib', '>= 0.9.15')
|
27
|
+
|
28
|
+
s.add_development_dependency('rack', '= 1.2.0')
|
29
|
+
s.add_development_dependency('sinatra', '>= 1.0')
|
30
|
+
s.add_development_dependency('liquid', '>= 2.2.2')
|
31
|
+
s.add_development_dependency('rake', '>= 0.7.3')
|
32
|
+
s.add_development_dependency('rspec', '~> 1.2.9')
|
33
|
+
s.add_development_dependency('launchy', '>= 0.3.2')
|
34
|
+
s.add_development_dependency('diff-lcs', '>= 1.1.2')
|
35
|
+
|
36
|
+
s.require_path = 'lib'
|
37
|
+
|
38
|
+
s.homepage = PKG_HOMEPAGE
|
39
|
+
end
|
40
|
+
|
41
|
+
Rake::GemPackageTask.new(GEM_SPEC) do |p|
|
42
|
+
p.gem_spec = GEM_SPEC
|
43
|
+
p.need_tar = true
|
44
|
+
p.need_zip = true
|
45
|
+
end
|
46
|
+
|
47
|
+
desc 'Show information about the gem'
|
48
|
+
task :debug do
|
49
|
+
puts GEM_SPEC.to_ruby
|
50
|
+
end
|
51
|
+
|
52
|
+
desc 'Install the gem'
|
53
|
+
task :install => ['clobber', 'gem:package'] do
|
54
|
+
sh "#{SUDO} gem install --local pkg/#{GEM_SPEC.full_name}"
|
55
|
+
end
|
56
|
+
|
57
|
+
desc 'Uninstall the gem'
|
58
|
+
task :uninstall do
|
59
|
+
installed_list = Gem.source_index.find_name(PKG_NAME)
|
60
|
+
if installed_list &&
|
61
|
+
(installed_list.collect { |s| s.version.to_s}.include?(PKG_VERSION))
|
62
|
+
sh(
|
63
|
+
"#{SUDO} gem uninstall --version '#{PKG_VERSION}' " +
|
64
|
+
"--ignore-dependencies --executables #{PKG_NAME}"
|
65
|
+
)
|
66
|
+
end
|
67
|
+
end
|
68
|
+
|
69
|
+
desc 'Reinstall the gem'
|
70
|
+
task :reinstall => [:uninstall, :install]
|
71
|
+
end
|
72
|
+
|
73
|
+
desc 'Alias to gem:package'
|
74
|
+
task 'gem' => 'gem:package'
|
75
|
+
|
76
|
+
task 'clobber' => ['gem:clobber_package']
|
data/tasks/git.rake
ADDED
@@ -0,0 +1,40 @@
|
|
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', '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
|
+
tag = "#{PKG_NAME}-#{PKG_VERSION}"
|
23
|
+
msg = "Release #{PKG_NAME}-#{PKG_VERSION}"
|
24
|
+
|
25
|
+
existing_tags = `git tag -l #{PKG_NAME}-*`.split('\n')
|
26
|
+
if existing_tags.include?(tag)
|
27
|
+
warn('Tag already exists, deleting...')
|
28
|
+
unless system "git tag -d #{tag}"
|
29
|
+
abort 'Tag deletion failed.'
|
30
|
+
end
|
31
|
+
end
|
32
|
+
puts "Creating git tag '#{tag}'..."
|
33
|
+
unless system "git tag -a -m \"#{msg}\" #{tag}"
|
34
|
+
abort 'Tag creation failed.'
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
task 'gem:release' => 'git:tag:create'
|
data/tasks/metrics.rake
ADDED
@@ -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
|
data/tasks/rdoc.rake
ADDED
@@ -0,0 +1,26 @@
|
|
1
|
+
require 'rake/rdoctask'
|
2
|
+
|
3
|
+
namespace :doc do
|
4
|
+
desc 'Generate RDoc documentation'
|
5
|
+
Rake::RDocTask.new do |rdoc|
|
6
|
+
rdoc.rdoc_dir = 'doc'
|
7
|
+
rdoc.title = "#{PKG_NAME}-#{PKG_VERSION} Documentation"
|
8
|
+
rdoc.options << '--line-numbers' << '--inline-source' <<
|
9
|
+
'--accessor' << 'cattr_accessor=object' << '--charset' << 'utf-8'
|
10
|
+
rdoc.template = "#{ENV['template']}.rb" if ENV['template']
|
11
|
+
rdoc.rdoc_files.include('README', 'CHANGELOG', 'LICENSE')
|
12
|
+
rdoc.rdoc_files.include('lib/**/*.rb')
|
13
|
+
end
|
14
|
+
|
15
|
+
desc 'Generate ri locally for testing'
|
16
|
+
task :ri do
|
17
|
+
sh 'rdoc --ri -o ri .'
|
18
|
+
end
|
19
|
+
|
20
|
+
desc 'Remove ri products'
|
21
|
+
task :clobber_ri do
|
22
|
+
rm_r 'ri' rescue nil
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
task 'clobber' => ['doc:clobber_rdoc', 'doc:clobber_ri']
|
data/tasks/spec.rake
ADDED
@@ -0,0 +1,78 @@
|
|
1
|
+
require 'spec/rake/verify_rcov'
|
2
|
+
|
3
|
+
namespace :spec do
|
4
|
+
Spec::Rake::SpecTask.new(:rcov) do |t|
|
5
|
+
t.spec_files = FileList['spec/**/*_spec.rb']
|
6
|
+
t.spec_opts = ['--require', 'rubygems', '--color', '--format', 'specdoc']
|
7
|
+
if RCOV_ENABLED
|
8
|
+
if `which rcov`.strip == ""
|
9
|
+
STDERR.puts "Please install rcov:"
|
10
|
+
STDERR.puts(
|
11
|
+
"sudo gem install relevance-rcov --source http://gems.github.com/"
|
12
|
+
)
|
13
|
+
exit(1)
|
14
|
+
end
|
15
|
+
t.rcov = true
|
16
|
+
else
|
17
|
+
t.rcov = false
|
18
|
+
end
|
19
|
+
t.rcov_opts = [
|
20
|
+
'--exclude', 'spec',
|
21
|
+
'--exclude', '1\\.8\\/gems',
|
22
|
+
'--exclude', '1\\.9\\/gems'
|
23
|
+
]
|
24
|
+
end
|
25
|
+
|
26
|
+
Spec::Rake::SpecTask.new(:all) do |t|
|
27
|
+
t.spec_files = FileList['spec/**/*_spec.rb']
|
28
|
+
t.spec_opts = ['--require', 'rubygems', '--color', '--format', 'specdoc']
|
29
|
+
t.rcov = false
|
30
|
+
end
|
31
|
+
|
32
|
+
Spec::Rake::SpecTask.new(:fast) do |t|
|
33
|
+
t.spec_files = FileList['spec/**/*_spec.rb'].exclude(
|
34
|
+
'spec/**/*_slow_spec.rb'
|
35
|
+
)
|
36
|
+
t.spec_opts = ['--require', 'rubygems', '--color', '--format', 'specdoc']
|
37
|
+
t.rcov = false
|
38
|
+
end
|
39
|
+
|
40
|
+
if RCOV_ENABLED
|
41
|
+
RCov::VerifyTask.new(:verify) do |t|
|
42
|
+
t.threshold = 100.0
|
43
|
+
t.index_html = 'coverage/index.html'
|
44
|
+
end
|
45
|
+
|
46
|
+
task :verify => :rcov
|
47
|
+
end
|
48
|
+
|
49
|
+
desc 'Generate HTML Specdocs for all specs'
|
50
|
+
Spec::Rake::SpecTask.new(:specdoc) do |t|
|
51
|
+
specdoc_path = File.expand_path(
|
52
|
+
File.join(File.dirname(__FILE__), '../specdoc/'))
|
53
|
+
Dir.mkdir(specdoc_path) if !File.exist?(specdoc_path)
|
54
|
+
|
55
|
+
output_file = File.join(specdoc_path, 'index.html')
|
56
|
+
t.spec_files = FileList['spec/**/*_spec.rb']
|
57
|
+
t.spec_opts = ['--format', "\"html:#{output_file}\"", '--diff']
|
58
|
+
t.fail_on_error = false
|
59
|
+
end
|
60
|
+
|
61
|
+
namespace :rcov do
|
62
|
+
desc 'Browse the code coverage report.'
|
63
|
+
task :browse => 'spec:rcov' do
|
64
|
+
require 'launchy'
|
65
|
+
Launchy::Browser.run('coverage/index.html')
|
66
|
+
end
|
67
|
+
end
|
68
|
+
end
|
69
|
+
|
70
|
+
if RCOV_ENABLED
|
71
|
+
desc 'Alias to spec:verify'
|
72
|
+
task 'spec' => 'spec:verify'
|
73
|
+
else
|
74
|
+
desc 'Alias to spec:all'
|
75
|
+
task 'spec' => 'spec:all'
|
76
|
+
end
|
77
|
+
|
78
|
+
task 'clobber' => ['spec:clobber_rcov']
|
data/tasks/yard.rake
ADDED
@@ -0,0 +1,26 @@
|
|
1
|
+
require 'rake'
|
2
|
+
|
3
|
+
begin
|
4
|
+
require 'yard'
|
5
|
+
require 'yard/rake/yardoc_task'
|
6
|
+
|
7
|
+
namespace :doc do
|
8
|
+
desc 'Generate Yardoc documentation'
|
9
|
+
YARD::Rake::YardocTask.new do |yardoc|
|
10
|
+
yardoc.name = 'yard'
|
11
|
+
yardoc.options = ['--verbose']
|
12
|
+
yardoc.files = [
|
13
|
+
'lib/**/*.rb', 'ext/**/*.c', 'README', 'CHANGELOG', 'LICENSE'
|
14
|
+
]
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
task 'clobber' => ['doc:clobber_yard']
|
19
|
+
|
20
|
+
desc 'Alias to doc:yard'
|
21
|
+
task 'doc' => 'doc:yard'
|
22
|
+
rescue LoadError
|
23
|
+
# If yard isn't available, it's not the end of the world
|
24
|
+
desc 'Alias to doc:rdoc'
|
25
|
+
task 'doc' => 'doc:rdoc'
|
26
|
+
end
|
metadata
ADDED
@@ -0,0 +1,281 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: google-api-client
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
hash: 27
|
5
|
+
prerelease: false
|
6
|
+
segments:
|
7
|
+
- 0
|
8
|
+
- 1
|
9
|
+
- 0
|
10
|
+
version: 0.1.0
|
11
|
+
platform: ruby
|
12
|
+
authors: []
|
13
|
+
|
14
|
+
autorequire:
|
15
|
+
bindir: bin
|
16
|
+
cert_chain: []
|
17
|
+
|
18
|
+
date: 2010-10-13 00:00:00 -07:00
|
19
|
+
default_executable:
|
20
|
+
dependencies:
|
21
|
+
- !ruby/object:Gem::Dependency
|
22
|
+
name: signet
|
23
|
+
prerelease: false
|
24
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ">="
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
hash: 29
|
30
|
+
segments:
|
31
|
+
- 0
|
32
|
+
- 1
|
33
|
+
- 3
|
34
|
+
version: 0.1.3
|
35
|
+
type: :runtime
|
36
|
+
version_requirements: *id001
|
37
|
+
- !ruby/object:Gem::Dependency
|
38
|
+
name: addressable
|
39
|
+
prerelease: false
|
40
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ">="
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
hash: 3
|
46
|
+
segments:
|
47
|
+
- 2
|
48
|
+
- 2
|
49
|
+
- 2
|
50
|
+
version: 2.2.2
|
51
|
+
type: :runtime
|
52
|
+
version_requirements: *id002
|
53
|
+
- !ruby/object:Gem::Dependency
|
54
|
+
name: httpadapter
|
55
|
+
prerelease: false
|
56
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
58
|
+
requirements:
|
59
|
+
- - ">="
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
hash: 23
|
62
|
+
segments:
|
63
|
+
- 0
|
64
|
+
- 2
|
65
|
+
- 0
|
66
|
+
version: 0.2.0
|
67
|
+
type: :runtime
|
68
|
+
version_requirements: *id003
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: json
|
71
|
+
prerelease: false
|
72
|
+
requirement: &id004 !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
74
|
+
requirements:
|
75
|
+
- - ">="
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
hash: 1
|
78
|
+
segments:
|
79
|
+
- 1
|
80
|
+
- 1
|
81
|
+
- 9
|
82
|
+
version: 1.1.9
|
83
|
+
type: :runtime
|
84
|
+
version_requirements: *id004
|
85
|
+
- !ruby/object:Gem::Dependency
|
86
|
+
name: extlib
|
87
|
+
prerelease: false
|
88
|
+
requirement: &id005 !ruby/object:Gem::Requirement
|
89
|
+
none: false
|
90
|
+
requirements:
|
91
|
+
- - ">="
|
92
|
+
- !ruby/object:Gem::Version
|
93
|
+
hash: 37
|
94
|
+
segments:
|
95
|
+
- 0
|
96
|
+
- 9
|
97
|
+
- 15
|
98
|
+
version: 0.9.15
|
99
|
+
type: :runtime
|
100
|
+
version_requirements: *id005
|
101
|
+
- !ruby/object:Gem::Dependency
|
102
|
+
name: rack
|
103
|
+
prerelease: false
|
104
|
+
requirement: &id006 !ruby/object:Gem::Requirement
|
105
|
+
none: false
|
106
|
+
requirements:
|
107
|
+
- - "="
|
108
|
+
- !ruby/object:Gem::Version
|
109
|
+
hash: 31
|
110
|
+
segments:
|
111
|
+
- 1
|
112
|
+
- 2
|
113
|
+
- 0
|
114
|
+
version: 1.2.0
|
115
|
+
type: :development
|
116
|
+
version_requirements: *id006
|
117
|
+
- !ruby/object:Gem::Dependency
|
118
|
+
name: sinatra
|
119
|
+
prerelease: false
|
120
|
+
requirement: &id007 !ruby/object:Gem::Requirement
|
121
|
+
none: false
|
122
|
+
requirements:
|
123
|
+
- - ">="
|
124
|
+
- !ruby/object:Gem::Version
|
125
|
+
hash: 15
|
126
|
+
segments:
|
127
|
+
- 1
|
128
|
+
- 0
|
129
|
+
version: "1.0"
|
130
|
+
type: :development
|
131
|
+
version_requirements: *id007
|
132
|
+
- !ruby/object:Gem::Dependency
|
133
|
+
name: liquid
|
134
|
+
prerelease: false
|
135
|
+
requirement: &id008 !ruby/object:Gem::Requirement
|
136
|
+
none: false
|
137
|
+
requirements:
|
138
|
+
- - ">="
|
139
|
+
- !ruby/object:Gem::Version
|
140
|
+
hash: 3
|
141
|
+
segments:
|
142
|
+
- 2
|
143
|
+
- 2
|
144
|
+
- 2
|
145
|
+
version: 2.2.2
|
146
|
+
type: :development
|
147
|
+
version_requirements: *id008
|
148
|
+
- !ruby/object:Gem::Dependency
|
149
|
+
name: rake
|
150
|
+
prerelease: false
|
151
|
+
requirement: &id009 !ruby/object:Gem::Requirement
|
152
|
+
none: false
|
153
|
+
requirements:
|
154
|
+
- - ">="
|
155
|
+
- !ruby/object:Gem::Version
|
156
|
+
hash: 5
|
157
|
+
segments:
|
158
|
+
- 0
|
159
|
+
- 7
|
160
|
+
- 3
|
161
|
+
version: 0.7.3
|
162
|
+
type: :development
|
163
|
+
version_requirements: *id009
|
164
|
+
- !ruby/object:Gem::Dependency
|
165
|
+
name: rspec
|
166
|
+
prerelease: false
|
167
|
+
requirement: &id010 !ruby/object:Gem::Requirement
|
168
|
+
none: false
|
169
|
+
requirements:
|
170
|
+
- - ~>
|
171
|
+
- !ruby/object:Gem::Version
|
172
|
+
hash: 13
|
173
|
+
segments:
|
174
|
+
- 1
|
175
|
+
- 2
|
176
|
+
- 9
|
177
|
+
version: 1.2.9
|
178
|
+
type: :development
|
179
|
+
version_requirements: *id010
|
180
|
+
- !ruby/object:Gem::Dependency
|
181
|
+
name: launchy
|
182
|
+
prerelease: false
|
183
|
+
requirement: &id011 !ruby/object:Gem::Requirement
|
184
|
+
none: false
|
185
|
+
requirements:
|
186
|
+
- - ">="
|
187
|
+
- !ruby/object:Gem::Version
|
188
|
+
hash: 23
|
189
|
+
segments:
|
190
|
+
- 0
|
191
|
+
- 3
|
192
|
+
- 2
|
193
|
+
version: 0.3.2
|
194
|
+
type: :development
|
195
|
+
version_requirements: *id011
|
196
|
+
- !ruby/object:Gem::Dependency
|
197
|
+
name: diff-lcs
|
198
|
+
prerelease: false
|
199
|
+
requirement: &id012 !ruby/object:Gem::Requirement
|
200
|
+
none: false
|
201
|
+
requirements:
|
202
|
+
- - ">="
|
203
|
+
- !ruby/object:Gem::Version
|
204
|
+
hash: 23
|
205
|
+
segments:
|
206
|
+
- 1
|
207
|
+
- 1
|
208
|
+
- 2
|
209
|
+
version: 1.1.2
|
210
|
+
type: :development
|
211
|
+
version_requirements: *id012
|
212
|
+
description: |
|
213
|
+
The Google API Ruby Client makes it trivial to discover and access supported
|
214
|
+
APIs.
|
215
|
+
|
216
|
+
email:
|
217
|
+
executables:
|
218
|
+
- google-api
|
219
|
+
extensions: []
|
220
|
+
|
221
|
+
extra_rdoc_files:
|
222
|
+
- README
|
223
|
+
files:
|
224
|
+
- lib/google/api_client/discovery.rb
|
225
|
+
- lib/google/api_client/parsers/json_parser.rb
|
226
|
+
- lib/google/api_client/version.rb
|
227
|
+
- lib/google/api_client.rb
|
228
|
+
- spec/google/api_client/discovery_spec.rb
|
229
|
+
- spec/google/api_client/parsers/json_parser_spec.rb
|
230
|
+
- spec/google/api_client_spec.rb
|
231
|
+
- spec/spec.opts
|
232
|
+
- spec/spec_helper.rb
|
233
|
+
- tasks/clobber.rake
|
234
|
+
- tasks/gem.rake
|
235
|
+
- tasks/git.rake
|
236
|
+
- tasks/metrics.rake
|
237
|
+
- tasks/rdoc.rake
|
238
|
+
- tasks/spec.rake
|
239
|
+
- tasks/yard.rake
|
240
|
+
- CHANGELOG
|
241
|
+
- LICENSE
|
242
|
+
- Rakefile
|
243
|
+
- README
|
244
|
+
- bin/google-api
|
245
|
+
has_rdoc: true
|
246
|
+
homepage: http://code.google.com/p/google-api-ruby-client/
|
247
|
+
licenses: []
|
248
|
+
|
249
|
+
post_install_message:
|
250
|
+
rdoc_options:
|
251
|
+
- --main
|
252
|
+
- README
|
253
|
+
require_paths:
|
254
|
+
- lib
|
255
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
256
|
+
none: false
|
257
|
+
requirements:
|
258
|
+
- - ">="
|
259
|
+
- !ruby/object:Gem::Version
|
260
|
+
hash: 3
|
261
|
+
segments:
|
262
|
+
- 0
|
263
|
+
version: "0"
|
264
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
265
|
+
none: false
|
266
|
+
requirements:
|
267
|
+
- - ">="
|
268
|
+
- !ruby/object:Gem::Version
|
269
|
+
hash: 3
|
270
|
+
segments:
|
271
|
+
- 0
|
272
|
+
version: "0"
|
273
|
+
requirements: []
|
274
|
+
|
275
|
+
rubyforge_project:
|
276
|
+
rubygems_version: 1.3.7
|
277
|
+
signing_key:
|
278
|
+
specification_version: 3
|
279
|
+
summary: Package Summary
|
280
|
+
test_files: []
|
281
|
+
|