2012-04-22 15:40:09 -04:00
# httparty
2008-07-27 11:52:18 -04:00
2008-07-28 13:20:03 -04:00
Makes http fun again!
2008-07-27 11:52:18 -04:00
2012-04-22 15:40:09 -04:00
## Install
2008-07-27 11:52:18 -04:00
2012-04-22 15:40:09 -04:00
```
gem install httparty
```
2008-07-27 11:52:18 -04:00
2012-04-22 15:40:09 -04:00
## Requirements
2008-07-27 11:52:18 -04:00
2013-06-14 16:32:32 -04:00
* Ruby 1.9.3 or higher
2013-06-14 16:24:45 -04:00
* multi_xml
2012-04-22 15:40:09 -04:00
* You like to party!
2008-09-19 19:32:03 -04:00
2012-04-22 15:40:09 -04:00
## Examples
2012-04-15 21:53:59 -04:00
2012-04-22 15:44:45 -04:00
```ruby
# Use the class methods to get down to business quickly
2014-03-11 18:31:22 -04:00
response = HTTParty.get('https://api.stackexchange.com/2.2/questions?site=stackoverflow')
2012-04-22 15:44:45 -04:00
2014-03-11 18:31:22 -04:00
puts response.body, response.code, response.message, response.headers.inspect
2012-04-22 15:44:45 -04:00
# Or wrap things up in your own class
2014-03-11 18:31:22 -04:00
class StackExchange
2012-04-22 15:44:45 -04:00
include HTTParty
2014-03-11 18:31:22 -04:00
base_uri 'api.stackexchange.com'
2012-04-22 15:44:45 -04:00
2014-03-11 18:31:22 -04:00
def initialize(service, page)
2014-05-15 16:45:32 -04:00
@options = { query: {site: service, page: page} }
2012-04-22 15:44:45 -04:00
end
2014-03-11 18:31:22 -04:00
def questions
self.class.get("/2.2/questions", @options )
2012-04-22 15:44:45 -04:00
end
2014-03-11 18:31:22 -04:00
def users
self.class.get("/2.2/users", @options )
2012-04-22 15:44:45 -04:00
end
end
2014-03-11 18:31:22 -04:00
stack_exchange = StackExchange.new("stackoverflow", 1)
puts stack_exchange.questions
puts stack_exchange.users
2012-04-22 15:44:45 -04:00
```
See the [examples directory ](http://github.com/jnunemaker/httparty/tree/master/examples ) for even more goodies.
2012-04-15 21:53:59 -04:00
2012-04-22 15:40:09 -04:00
## Command Line Interface
2009-01-05 01:58:08 -05:00
2012-04-22 15:44:45 -04:00
httparty also includes the executable `httparty` which can be
2009-01-05 01:58:08 -05:00
used to query web services and examine the resulting output. By default
it will output the response as a pretty-printed Ruby object (useful for
grokking the structure of output). This can also be overridden to output
2012-04-22 15:44:45 -04:00
formatted XML or JSON. Execute `httparty --help` for all the
2009-01-05 01:58:08 -05:00
options. Below is an example of how easy it is.
2012-04-22 15:40:09 -04:00
```
2014-03-11 18:31:22 -04:00
httparty "https://api.stackexchange.com/2.2/questions?site=stackoverflow"
2012-04-22 15:40:09 -04:00
```
2008-07-27 11:52:18 -04:00
2012-04-22 15:40:09 -04:00
## Help and Docs
2009-04-30 07:58:49 -04:00
2012-04-04 11:36:36 -04:00
* https://groups.google.com/forum/#!forum/httparty-gem
* http://rdoc.info/projects/jnunemaker/httparty
2012-04-22 15:40:09 -04:00
## Contributing
* Fork the project.
2014-05-16 15:50:16 -04:00
* Run `bundle`
* Run `bundle exec rake`
2012-04-22 15:40:09 -04:00
* Make your feature addition or bug fix.
* Add tests for it. This is important so I don't break it in a future version unintentionally.
2014-05-16 15:50:16 -04:00
* Run `bundle exec rake` (No, REALLY :))
2012-04-22 15:40:09 -04:00
* Commit, do not mess with rakefile, version, or history. (if you want to have your own version, that is fine but bump version in a commit by itself in another branch so I can ignore when I pull)
* Send me a pull request. Bonus points for topic branches.