Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Ruby bindings for the Nom API
Ruby
Branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
lib
spec
.gitignore
.rvmrc
CHANGELOG.md
CONTRIBUTORS.md
Gemfile
LICENSE.md
README.md
nom-ruby.gemspec

README.md

nom-ruby

- The bindings for the Nom API in ruby

Examples of the headless API

Getting Started

Dependencies:
  • json
  • net/http
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('test_accout@justnom.it')

User registration (simple):

    handle = Nom::API.new
    user = handle.register('test_accout@justnom.it', 'a_password')

User registration (with options):

    handle = Nom::API.new
    user = handle.register('test_accout@justnom.it', '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 => 'test_accout2@justnom.it'})
    user = handle.login('a_password', {:user_nid => '4efd9128eef0a63881000001'}) ## same user a above

Yet Unimplemented

    #### Not yet implemented ####
    # activities = handle.activities(:user_nid => '4eccc0fbeef0a64dcf000001')
    # handle.recommend(:text => 'I Just Nommed at ...', :user_nid => '4eccc0fbeef0a64dcf000001', :auth_token => '2af...fad3y')
    # handle.thumb(:location_nid => "4edgc0fbadf0a64dcf110037", :user_nid => '4eccc0fbeef0a64dcf000001', :auth_token => '2af...fad3y')
    #############################

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.

All Success Results Take the Form:

{
  "status": 1,
  "message": "OK",
  "results": [
    {"result": 1},
    {"result": 2},
    ...,
    {"result": "n"}
  ]
}

All Error Results Take the Form:

{
  "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
}
Something went wrong with that request. Please try again.