Ruby bindings for the Nom API
Ruby
Switch branches/tags
Nothing to show
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
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
}