nom-ruby
- The bindings for the Nom API in ruby
Examples of the headless API
Getting Started
Dependencies:
Setup:
gem install nom-ruby
- In an initializer
require 'nom-ruby'
- Then just make the new API handle with
handle = Nom::API.new
Examples:
Location (here):
handle = Nom::API.new
locations = handle.here(37.7969, -122.39955)
Location (here - paginated to page 3):
handle = Nom::API.new
locations = handle.here(37.7969, -122.39955, {
:start => 30,
:limit => 15
})
Geolocation based search for 'vegetarian'
handle = Nom::API.new
locations = handle.location_search('vegetarian', {
:lat => 37.7969,
:lng => -122.39955
})
User search for 'team'
handle = Nom::API.new
users = handle.user_search('team')
users = handle.user_search('[email protected]')
User registration (simple):
handle = Nom::API.new
user = handle.register('[email protected]', 'a_password')
User registration (with options):
handle = Nom::API.new
user = handle.register('[email protected]', 'a_password', {
:name => "The Nom Team",
:city => 'San Francisco',
:screen_name => 'team'
})
User Login (identifier and password based)
handle = Nom::API.new
user = handle.login('a_password', {:email => '[email protected]'})
user = handle.login('a_password', {:user_nid => '4efd9128eef0a63881000001'})
Yet Unimplemented
Key For Response types:
- The
@ symbol is used to denote an entity unto itself. In the case of @location then in place you can logically expand a location object for @location. This is done for brevity.
{
"status": 1,
"message": "OK",
"results": [
{"result": 1},
{"result": 2},
...,
{"result": "n"}
]
}
{
"status": -1,
"message": "Some display-ready message about what the error was",
"results": []
}
User:
{
name: "Brian Norton",
city: "San Francisco",
created_at: "2011-11-23T09:46:35Z",
image_url: "https://graph.facebook.com/679816146/picture?type=large",
updated_at: "2011-12-20T07:06:57Z",
url: "http://justnom.it/users/bn",
has_joined: true,
follower_count: 164,
user_nid: "4eccc0fbeef0a64dcf000001",
screen_name: "bn"
}
Location:
{
name: "The Grove Cafe Yerba Buena",
location_nid: "4ec8b964eef0a679f80005be",
primary_category: "4ec8b8a7eef0a679f8000001",
secondary_category: "4ec8b8cdeef0a679f8000151",
cross_street: "Between 3rd St and Annie St",
address: "690 Mission St San Francisco, CA 94105-4014",
street: "690 Mission St",
city: "San Francisco",
state: "California"
woeid: "12797156",
rank_value: 38,
gowalla_url: null,
fsq_id: "4b7ef75cf964a520ee0c30e3",
created_at: "2011-11-20T08:25:08Z",
cost: "$$",
updated_at: "2011-12-08T17:13:23Z",
url: null,
timeofday: "lunch | dinner",
rank: "38/7821",
phone: "415-957-0558",
neighborhoods: "Financial District South",
yid: "45199920"
}
Recommendation:
{
created_at: "2011-12-21T07:21:19Z",
location: @location,
title: null,
token: "7LVSG",
recommendation_nid: "4ef188efeef0a603e3000002",
text: "I just Nommed @ Velvet Room justnom.it/r/7LVSG",
user: @user,
image: {
size: "600x320#",
url: "http://static.justnom.it/8e637e6585609c9df21577afc2b333dabeeb32c6.medium.png",
image_nid: "4ee56d6beef0a61a7d000003"
},
lng: -122.41,
lat: 37.7892
}
Thumb
{
user_nid: "4eccc137eef0a64dcf000002",
created_at: "2011-12-21T05:03:22Z",
location: @location,
value: 1
}