Project

nom-ruby

0.0
No commit activity in last 3 years
No release in over 3 years
Ruby client for using the Nom API. Nom is the best way to find out what's best in your world.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

>= 1.0.0
>= 0.6.1
~> 2.2

Runtime

>= 1.4.6
 Project Readme

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
}