Project

nimbu-api

0.0
No commit activity in last 3 years
No release in over 3 years
Nimbu is the easiest way to build a beautiful multi-lingual online store! See http://nimbu.io for more information.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
 Dependencies
 Project Readme

NimbuAPI

Gem Version

A Ruby wrapper for the Nimbu API.

Installation

Install the gem by issuing

gem install nimbu-api

or put it in your Gemfile and run bundle install

gem "nimbu-api"

Usage

To use the gem, create a new client instance

nimbu = Nimbu.new

You can supply following configuration parameters, such as

  auto_pagination  # by default false, set to true traverses requests page links
  oauth_token      # oauth authorization token
  basic_auth       # login:password string
  client_id        # oauth client id
  client_secret    # oauth client secret
  subdomain        # the nimbu administration subdomain used in requets if none provided
  endpoint         # nimbu enterprise api endpoint
  site             # nimbu enterprise api web endpoint
  ssl              # ssl settings
  per_page         # number of items per page, max 100
  user_agent       # custom user agent name, by default 'Nimbu Ruby Client'

which are used throughout the API. These can be passed directly as hash options:

nimbu = Nimbu.new(oauth_token: 'token')

Alternatively, you can configure the Nimbu settings by passing a block, for instance, with custom enterprise endpoint and website like

nimbu = Nimbu.new do |config|
  config.endpoint    = 'https://api.company.com'
  config.site        = 'https://www.company.com'
  config.oauth_token = 'token'
  config.ssl         = {:verify => false}
end

You can authenticate either using OAuth authentication or through basic authentication by passing your login and password:

nimbu = Nimbu.new(login:'peter', password:'...')

or use following convenience method:

nimbu = Nimbu.new(basic_auth: 'login:password')

This gem follows the Nimbu API hierarchy. This means, i.e. if you want to create a new entry for a given channel, you can lookup the nimbu api spec and parse the request as in nimbu.channels(channel_id: 'mychannel').entries.create

The response is always of type [Hashie::Mash] and allows to traverse all the json response attributes like method calls i.e.

entries = Nimbu::Channel::Entries.new(oauth_token: '...', subdomain:'...', channel_id:'...')
entries.all do |entry|
  puts entry.title
end

Arguments & Parameters

The library allows for flexible arguments parsing. This means arguments can be passed during instance creation:

  channel = Nimbu::Channel.new(oauth_token:'...', subdomain:'...', channel_id:'...')
  channel.entries.list(state: 'public')

Further, arguments can be passed directly inside method called but then the order of parameters matters and hence please consult the method documentation or Nimbu specification. For instance:

  channel = Nimbu::Channel.new(oauth_token: '...', subdomain: '...')
  channel.entries.list(channel_id: '...', state: 'public')

Similarly, the arguments for the request can be passed inside the current scope such as:

  channel = Nimbu::Channel.new(oauth_token: '...', subdomain: '...')
  channel.entries(channel_id: '...').list(state: 'public')