Commit Graph

358 Commits

Author SHA1 Message Date
Bob Aman af61568cbe Merge branch 'master' of github.com:sporkmonger/google-api-ruby-client 2012-02-27 11:29:16 +01:00
Bob Aman 0f25fbe793 Updated version and CHANGELOG. 2012-02-22 15:40:33 +03:00
Bob Aman 1632e98a05 Patch to solve Ruby 1.8.7 incompatibility. 2012-02-22 15:09:35 +03:00
Ethan b866e07d70 rescue any error invoking external commands attempting to determine OS_VERSION; just return RUBY_PLATFORM on failure. 2012-02-22 03:31:17 -05:00
Ethan 80c41c99fc minor whitespace touchup
gedit's syntax highlighting breaks on the previous
2012-02-22 03:31:17 -05:00
Ethan b6ef9b00ad fix schema to not choke when '$ref' is specifying what the '$ref' property actually is, rather than invoking it, and is therefore not a string.
this applies to the schema JsonSchema, specified in the document for the discovery service itself
2012-02-22 03:30:59 -05:00
Ethan bd1ce540d4 if ApiClient receives :authorization => false, respect that, and only default to oauth2 if :authorization is omitted 2012-02-22 03:30:59 -05:00
Ethan d59901bf1e add method ApiClient#relative_uri which constructs a full uri from a given relative path, respecting specified protocol, host, and port; and allowing expanded parameters passed through Addressable::Template 2012-02-22 03:30:58 -05:00
Ethan c50f92c50c change ApiClient's configurable host to a configurable baseURI, so that protocol, port, and base path may be overridden in addition to host 2012-02-22 03:30:58 -05:00
Nikolay Mischenko 2eb6da99d3 Fixed parameters encoding (should be urlencoded) 2012-02-15 16:25:48 +03:00
Bob Aman 17e540d0de Added ID token verification against server certificate. 2012-02-15 15:23:54 +03:00
Bob Aman f1c5b65baf Updated version and CHANGELOG with recent fixes. 2012-02-10 17:32:58 +03:00
Bob Aman 1a381ab963 Method renames to be consistent with change to resources. 2012-02-10 17:26:44 +03:00
Steven Bazyl c02f2ce6a4 Don't traverse ancestors when checking if schema is defined 2012-02-08 11:35:39 -08:00
Steven Bazyl 5b45f8f351 Rename 'resources' method due to conflict with one of the APIs. 2012-01-30 23:28:55 -08:00
Bob Aman 06cdb76670 Updated to replace httpadapter with faraday. 2012-01-27 17:57:57 +03:00
Bob Aman 0bc3d4936b Migrated to MultiJson from JSON gem. 2012-01-05 13:05:56 +03:00
Bob Aman 04ec835ca1 Merge branch 'master' of ../martinsarsale-support-for-repeats 2011-12-02 17:27:13 +03:00
Bob Aman 321533455c Fixed some YARD documentation issues and changed how the user-agent is built. 2011-12-02 16:43:55 +03:00
Martin Sarsale f736ac4d97 Merge remote branch 'remotes/upstream/master' 2011-11-30 11:39:28 -03:00
Bob Aman e0afbdaf05 Attempting to fix some Windows issues and update deprecated library calls. 2011-11-16 11:44:55 +03:00
Martin Sarsale 01229ff710 Accept repeated parameters 2011-11-02 15:18:03 -03:00
Bob Aman ba38697528 Fixed environment check for Windows. 2011-10-31 13:33:22 +03:00
Bob Aman 99dae4e560 Minor change to inflection. 2011-10-21 11:28:59 +03:00
Bob Aman 4b6e032e1b Updated to match change to AutoParse. 2011-10-20 17:58:00 +03:00
Bob Aman abf64d5314 Added task for wiki autogeneration. 2011-10-15 11:22:59 +03:00
Bob Aman 92ad3a293a Fixed issue with version and moved version back to 0.3.0. 2011-10-15 11:22:50 +03:00
Bob Aman 4db326a3ed Added task for wiki autogeneration. 2011-10-15 11:22:36 +03:00
Bob Aman 2dcdec1191 Fixed issue with version and moved version back to 0.3.0. 2011-10-15 11:21:21 +03:00
Bob Aman bb4e15b9f4 Fixed issues with recursive structures and external references. 2011-10-05 14:13:39 +03:00
Bob Aman 06af19a112 Switched to using AutoParse for schemas. 2011-09-22 16:27:24 +03:00
Bob Aman af104f8c5f Fixed issue with ambiguous reference. 2011-09-22 16:26:33 +03:00
Bob Aman 15a372cedb Added code to include userIp and key parameters. 2011-09-22 13:49:58 +03:00
Bob Aman ef065ce8d6 Added code to include userIp and key parameters. 2011-09-22 13:49:46 +03:00
Bob Aman b869319d1d Added better handling for errors. 2011-09-22 12:21:22 +03:00
Bob Aman a9ae33bb47 Added better handling for errors. 2011-09-22 12:21:05 +03:00
Bob Aman 4fa30fc051 Changed discovery and directory methods to use the main code-path for generating requests. 2011-09-22 10:42:31 +03:00
Bob Aman 7724b20e9a Changed discovery and directory methods to use the main code-path for generating requests. 2011-09-22 10:41:13 +03:00
Bob Aman d2907c9d79 Added better support for user IP and developer key across all APIs. 2011-09-21 10:52:15 +03:00
Bob Aman e399dd76b0 Added better support for user IP and developer key across all APIs. 2011-09-21 10:51:51 +03:00
Bob Aman 6fc526bd21 Partial solution to the issue of generating JSON. 2011-08-19 11:59:53 +03:00
Bob Aman 5c4323b11c Introduced the ability to pass in an API object instead of a raw body when making requests. 2011-08-17 21:42:24 -04:00
Bob Aman f159ab7285 Introduced the ability to pass in an API object instead of a raw body when making requests. 2011-08-17 21:42:03 -04:00
Bob Aman 105dbd64f2 Fixed a bug in the method definition closures. 2011-08-10 16:59:55 -04:00
Bob Aman 27ae32d2e7 Basic structure of schema parsing complete.
* Note that additionalProperties fields are not currently supported and may
  only be accessed in raw form. Shouldn't be a big deal because only the Buzz
  API uses them extensively.
2011-08-10 16:48:22 -04:00
Bob Aman d9a108415b Added method to expose API property descriptions. 2011-08-08 18:04:48 -04:00
Bob Aman 9a2217a6bb Added support for API feature lists. 2011-08-08 17:28:21 -04:00
Bob Aman b8bd8e3964 Added support for API feature lists. 2011-08-08 17:23:59 -04:00
Bob Aman 547034d1e3 Adding missing require. 2011-08-05 17:00:36 -04:00
Bob Aman 75ee556a99 Moved dynamic method definitions into the APIObject class. 2011-08-05 16:55:40 -04:00
Bob Aman 960796d23d Added default values. 2011-08-05 14:44:29 -04:00
Bob Aman 13d590631b Added API#schema_for_kind method to allow schema lookups by kind. 2011-08-05 14:43:56 -04:00
Bob Aman 1fa3fb25d9 Better way to handle automatic parsing using the schemas in the discovery document. 2011-08-04 23:36:36 -04:00
Bob Aman b4745890f5 Separated out the discovery classes into individual files. 2011-08-04 18:32:00 -04:00
Bob Aman 0d2cbe26df Fixed issue with header/options ambiguity. 2011-08-02 16:20:54 -04:00
Bob Aman f336ab34a7 Major update, primarily to add pagination support.
* Added Reference objects to encapsulate API calls.
* Added Result objects to encapsulate API responses.
* Changed the return value of APIClient#execute to Result.
* Changed the method signature of APIClient#execute to support named params.
* Added APIClient#execute! which throws exceptions on error.
* Added automatic parsing code to better allow for complex nested structures.
* Added error parser.
* Added module for pagination in parsers.
2011-07-29 18:07:04 -04:00
Bob Aman ef2abc0493 Updated to use v1 of the discovery API.
git-svn-id: https://google-api-ruby-client.googlecode.com/svn/trunk@155 c1d61fac-ed7f-fcc1-18f7-ff78120a04ef
2011-05-12 20:14:15 +00:00
Bob Aman 7d370c6d10 Updated documentation on User-Agent.
git-svn-id: https://google-api-ruby-client.googlecode.com/svn/trunk@154 c1d61fac-ed7f-fcc1-18f7-ff78120a04ef
2011-05-12 17:12:15 +00:00
Bob Aman 4d56bb8b1b Added User-Agent improvements.
git-svn-id: https://google-api-ruby-client.googlecode.com/svn/trunk@133 c1d61fac-ed7f-fcc1-18f7-ff78120a04ef
2011-05-04 22:43:33 +00:00
Bob Aman 286a7152f2 A significant update of the client functionality.
* updated to use v0.3 of the discovery API
* updated to use httpadapter 1.0.0
* added OAuth 2 support to the command line tool
* renamed some switches in the command line tool
* added additional configuration capabilities

git-svn-id: https://google-api-ruby-client.googlecode.com/svn/trunk@128 c1d61fac-ed7f-fcc1-18f7-ff78120a04ef
2011-05-04 11:44:35 +00:00
Bob Aman 1dee705828 Fixed extlib/activesupport conflict. Seriously people, thou shalt not monkey-patch!
git-svn-id: https://google-api-ruby-client.googlecode.com/svn/trunk@127 c1d61fac-ed7f-fcc1-18f7-ff78120a04ef
2011-01-19 23:41:37 +00:00
Bob Aman 0b49c3fd2e Added User-Agent header.
git-svn-id: https://google-api-ruby-client.googlecode.com/svn/trunk@107 c1d61fac-ed7f-fcc1-18f7-ff78120a04ef
2011-01-05 01:09:52 +00:00
Bob Aman 76fe65a650 Incrementing the version.
git-svn-id: https://google-api-ruby-client.googlecode.com/svn/trunk@104 c1d61fac-ed7f-fcc1-18f7-ff78120a04ef
2010-11-04 20:00:03 +00:00
Bob Aman 38f5bc5baf Added ability to update the base URI in services, resources, and methods.
git-svn-id: https://google-api-ruby-client.googlecode.com/svn/trunk@102 c1d61fac-ed7f-fcc1-18f7-ff78120a04ef
2010-10-22 22:56:01 +00:00
Bob Aman f63bf8199f Added option to support manually specified discovery URI.
git-svn-id: https://google-api-ruby-client.googlecode.com/svn/trunk@101 c1d61fac-ed7f-fcc1-18f7-ff78120a04ef
2010-10-22 22:21:26 +00:00
Bob Aman 316f1c6bd4 Updated dependencies.
git-svn-id: https://google-api-ruby-client.googlecode.com/svn/trunk@93 c1d61fac-ed7f-fcc1-18f7-ff78120a04ef
2010-10-22 17:14:02 +00:00
Bob Aman 20eff1df7d Added support for two-legged OAuth.
git-svn-id: https://google-api-ruby-client.googlecode.com/svn/trunk@92 c1d61fac-ed7f-fcc1-18f7-ff78120a04ef
2010-10-22 00:36:23 +00:00
Bob Aman 00eb093580 Significant improvements to the CLI.
git-svn-id: https://google-api-ruby-client.googlecode.com/svn/trunk@90 c1d61fac-ed7f-fcc1-18f7-ff78120a04ef
2010-10-22 00:36:15 +00:00
Bob Aman 0986b4e64f Refactored CLI tool to be more maintainable.
git-svn-id: https://google-api-ruby-client.googlecode.com/svn/trunk@89 c1d61fac-ed7f-fcc1-18f7-ff78120a04ef
2010-10-20 23:49:15 +00:00
Bob Aman 5572a73fdf Fixed incompatibilities with Ruby 1.8.6
git-svn-id: https://google-api-ruby-client.googlecode.com/svn/trunk@71 c1d61fac-ed7f-fcc1-18f7-ff78120a04ef
2010-10-13 21:16:07 +00:00
Bob Aman 3bd7056e86 Updated version sorting code and added authorization shortcuts.
git-svn-id: https://google-api-ruby-client.googlecode.com/svn/trunk@60 c1d61fac-ed7f-fcc1-18f7-ff78120a04ef
2010-10-12 20:39:09 +00:00
Bob Aman e50442091c Fixed issue with invalid type checking.
git-svn-id: https://google-api-ruby-client.googlecode.com/svn/trunk@51 c1d61fac-ed7f-fcc1-18f7-ff78120a04ef
2010-10-09 02:41:38 +00:00
Bob Aman 35d35f49ed Whoops, example was on the wrong method.
git-svn-id: https://google-api-ruby-client.googlecode.com/svn/trunk@49 c1d61fac-ed7f-fcc1-18f7-ff78120a04ef
2010-10-07 22:38:51 +00:00
Bob Aman 3fe9fec711 Added example to Service#to_h method.
git-svn-id: https://google-api-ruby-client.googlecode.com/svn/trunk@48 c1d61fac-ed7f-fcc1-18f7-ff78120a04ef
2010-10-07 22:37:57 +00:00
Bob Aman c67444734d Added example for generating request.
git-svn-id: https://google-api-ruby-client.googlecode.com/svn/trunk@45 c1d61fac-ed7f-fcc1-18f7-ff78120a04ef
2010-10-07 22:12:34 +00:00
Bob Aman de394a55c6 Updated example.
git-svn-id: https://google-api-ruby-client.googlecode.com/svn/trunk@44 c1d61fac-ed7f-fcc1-18f7-ff78120a04ef
2010-10-07 22:12:27 +00:00
Bob Aman e26ebaf981 Finished documentation.
git-svn-id: https://google-api-ruby-client.googlecode.com/svn/trunk@43 c1d61fac-ed7f-fcc1-18f7-ff78120a04ef
2010-10-07 00:02:22 +00:00
Bob Aman 82d480e924 Fixed minor error in YARD documentation format.
git-svn-id: https://google-api-ruby-client.googlecode.com/svn/trunk@42 c1d61fac-ed7f-fcc1-18f7-ff78120a04ef
2010-10-05 23:50:27 +00:00
Bob Aman 61c4c034b4 Removed :nodoc: directives, as they are not understood by YARD.
git-svn-id: https://google-api-ruby-client.googlecode.com/svn/trunk@41 c1d61fac-ed7f-fcc1-18f7-ff78120a04ef
2010-10-05 23:49:00 +00:00
Bob Aman a6e80cbb88 Added documentation to the remainder of the API client methods.
git-svn-id: https://google-api-ruby-client.googlecode.com/svn/trunk@40 c1d61fac-ed7f-fcc1-18f7-ff78120a04ef
2010-10-05 23:46:43 +00:00
Bob Aman 7e48c8913c Improving testing and coverage.
git-svn-id: https://google-api-ruby-client.googlecode.com/svn/trunk@37 c1d61fac-ed7f-fcc1-18f7-ff78120a04ef
2010-09-30 21:33:23 +00:00
Bob Aman bbcc946f33 Improved coverage in tests and fixed a URI join bug.
git-svn-id: https://google-api-ruby-client.googlecode.com/svn/trunk@36 c1d61fac-ed7f-fcc1-18f7-ff78120a04ef
2010-09-28 23:09:07 +00:00
Bob Aman f96412cf23 Reorganized some of the code and removed unnecessary stuff.
git-svn-id: https://google-api-ruby-client.googlecode.com/svn/trunk@35 c1d61fac-ed7f-fcc1-18f7-ff78120a04ef
2010-09-18 00:30:02 +00:00
Bob Aman 3a9d58108a Signed requests can now be generated and transmitted by the client.
Example code:
    require 'google/api_client'
    client = Google::APIClient.new(:service => 'buzz')
    client.authorization.fetch_temporary_credential!(
      :additional_parameters => {
        'scope' => 'https://www.googleapis.com/auth/buzz'
      }
    )
    client.authorization.authorization_uri
    # Redirect user here
    client.authorization.fetch_token_credential!(:verifier => '12345')
    response = client.execute(
      'buzz.activities.list',
      'scope' => '@self', 'userId' => '@me', 'alt' => 'json'
    )
    status, headers, body = response

git-svn-id: https://google-api-ruby-client.googlecode.com/svn/trunk@34 c1d61fac-ed7f-fcc1-18f7-ff78120a04ef
2010-09-16 23:40:08 +00:00
Bob Aman f462322be5 URI template expansion works.
git-svn-id: https://google-api-ruby-client.googlecode.com/svn/trunk@33 c1d61fac-ed7f-fcc1-18f7-ff78120a04ef
2010-09-16 19:12:52 +00:00
Matt Pokrzywa bbe6cec303 skeleton for api request/respone abstraction
git-svn-id: https://google-api-ruby-client.googlecode.com/svn/trunk@32 c1d61fac-ed7f-fcc1-18f7-ff78120a04ef
2010-09-14 03:39:23 +00:00
bobaman@google.com 719e576051 Updated to use Signet.
git-svn-id: https://google-api-ruby-client.googlecode.com/svn/trunk@31 c1d61fac-ed7f-fcc1-18f7-ff78120a04ef
2010-09-13 21:54:43 +00:00
bobaman@google.com 4787954779 Removed unneeded code.
git-svn-id: https://google-api-ruby-client.googlecode.com/svn/trunk@30 c1d61fac-ed7f-fcc1-18f7-ff78120a04ef
2010-09-13 21:54:35 +00:00
bobaman@google.com 9d68bf115c Removing transport and OAuth code that is no longer needed.
git-svn-id: https://google-api-ruby-client.googlecode.com/svn/trunk@28 c1d61fac-ed7f-fcc1-18f7-ff78120a04ef
2010-09-13 21:54:18 +00:00
bobaman@google.com 541054e88d Made the builder more flexible by adding a callback parameter.
git-svn-id: https://google-api-ruby-client.googlecode.com/svn/trunk@27 c1d61fac-ed7f-fcc1-18f7-ff78120a04ef
2010-08-24 21:59:53 +00:00
bobaman@google.com 5b71f47a4d Added a request proxy for our HTTP request representations.
git-svn-id: https://google-api-ruby-client.googlecode.com/svn/trunk@26 c1d61fac-ed7f-fcc1-18f7-ff78120a04ef
2010-08-24 21:26:21 +00:00
bobaman@google.com d61916b110 Added a rudimentary implementation of a MethodBuilder.
git-svn-id: https://google-api-ruby-client.googlecode.com/svn/trunk@25 c1d61fac-ed7f-fcc1-18f7-ff78120a04ef
2010-08-24 21:26:12 +00:00
mattpok@google.com 1b232831c4 added basic json parser support and tests
git-svn-id: https://google-api-ruby-client.googlecode.com/svn/trunk@23 c1d61fac-ed7f-fcc1-18f7-ff78120a04ef
2010-08-23 22:07:50 +00:00
bobaman@google.com bc844db311 Initial implementation of HTTP.
git-svn-id: https://google-api-ruby-client.googlecode.com/svn/trunk@22 c1d61fac-ed7f-fcc1-18f7-ff78120a04ef
2010-08-19 23:21:45 +00:00
mattpok@google.com 139302fd5e added basic rspec for transport and fix imports in transport class
git-svn-id: https://google-api-ruby-client.googlecode.com/svn/trunk@19 c1d61fac-ed7f-fcc1-18f7-ff78120a04ef
2010-08-18 22:18:21 +00:00
mattpok@google.com e88fdbfef6 add parser configuration to http transport, will add tests next commit
git-svn-id: https://google-api-ruby-client.googlecode.com/svn/trunk@18 c1d61fac-ed7f-fcc1-18f7-ff78120a04ef
2010-08-18 21:39:44 +00:00
mattpok@google.com 89b0e1c31a added json parsing skeleton
git-svn-id: https://google-api-ruby-client.googlecode.com/svn/trunk@17 c1d61fac-ed7f-fcc1-18f7-ff78120a04ef
2010-08-18 20:29:18 +00:00
bobaman@google.com e6ba0f6860 Updating code to consistent coding style.
git-svn-id: https://google-api-ruby-client.googlecode.com/svn/trunk@15 c1d61fac-ed7f-fcc1-18f7-ff78120a04ef
2010-08-17 01:21:17 +00:00
bobaman@google.com 31132ffbb9 Added some tests for determining the discovery document URI.
git-svn-id: https://google-api-ruby-client.googlecode.com/svn/trunk@13 c1d61fac-ed7f-fcc1-18f7-ff78120a04ef
2010-08-14 01:35:06 +00:00
bobaman@google.com 63783453e6 Added brief documentation to the handler classes.
git-svn-id: https://google-api-ruby-client.googlecode.com/svn/trunk@12 c1d61fac-ed7f-fcc1-18f7-ff78120a04ef
2010-08-14 01:28:57 +00:00
bobaman@google.com 25786356d3 Added code to determine the location of the discovery document.
git-svn-id: https://google-api-ruby-client.googlecode.com/svn/trunk@11 c1d61fac-ed7f-fcc1-18f7-ff78120a04ef
2010-08-14 01:26:01 +00:00
bobaman@google.com a6d7aa570e Updated the configuration handling code.
git-svn-id: https://google-api-ruby-client.googlecode.com/svn/trunk@10 c1d61fac-ed7f-fcc1-18f7-ff78120a04ef
2010-08-14 01:16:35 +00:00
bobaman@google.com 0d45cbe27b Updated OAuth1 configuration code. Added docs.
git-svn-id: https://google-api-ruby-client.googlecode.com/svn/trunk@9 c1d61fac-ed7f-fcc1-18f7-ff78120a04ef
2010-08-14 00:53:57 +00:00
bobaman@google.com e4b6f8528e Updated OAuth to actually perform authorization stuff.
git-svn-id: https://google-api-ruby-client.googlecode.com/svn/trunk@8 c1d61fac-ed7f-fcc1-18f7-ff78120a04ef
2010-08-12 01:07:35 +00:00
bobaman@google.com 10f9db8ac6 Added addressable/template require to discovery.rb.
git-svn-id: https://google-api-ruby-client.googlecode.com/svn/trunk@7 c1d61fac-ed7f-fcc1-18f7-ff78120a04ef
2010-08-11 21:20:13 +00:00
mattpok@google.com 991fc86231 add skeleton for discovery
git-svn-id: https://google-api-ruby-client.googlecode.com/svn/trunk@6 c1d61fac-ed7f-fcc1-18f7-ff78120a04ef
2010-08-11 19:11:06 +00:00
bobaman@google.com 70ed84ffec Added some stubs for OAuth and HTTP.
git-svn-id: https://google-api-ruby-client.googlecode.com/svn/trunk@3 c1d61fac-ed7f-fcc1-18f7-ff78120a04ef
2010-08-10 04:44:14 +00:00
bobaman@google.com d371bc3cbf Basic project skeleton.
git-svn-id: https://google-api-ruby-client.googlecode.com/svn/trunk@2 c1d61fac-ed7f-fcc1-18f7-ff78120a04ef
2010-07-28 19:30:56 +00:00