Tinysou
Ruby library for the Tinysou API.
Installation
Add this line to your application's Gemfile:
gem 'tinysou'And then execute:
$ bundle
Or install it yourself as:
$ gem install tinysou
Usage
client = Tinysou::Client.new 'YOUR_TOKEN'Engine
List:
client.enginesCreate:
client.create_engine name: 'blog', display_name: 'Blog'Read:
client.engine 'blog'Update:
client.update_engine 'blog', display_name: 'My Blog'Delete:
client.destroy_engine 'blog'Collection
List:
client.collections 'blog'Create:
client.create_collection 'blog', name: 'posts', field_types: {
title: 'string',
tags: 'string',
author: 'enum',
date: 'date',
body: 'text'
}Read:
client.collection 'blog', 'posts'Destroy:
client.destroy_collection 'blog', 'posts'Document
List:
client.documents 'blog', 'posts', page: 0, per_page: 20Create:
client.create_document 'blog', 'posts', {
title: 'My First Post',
tags: ['news'],
author: 'Author',
date: '2014-08-16T00:00:00Z',
body: 'Tinysou start online today!'
}Read:
client.document 'blog', 'posts', '293ddf9205df9b36ba5761d61ca59a29'Update:
client.update_document 'blog', 'posts', '293ddf9205df9b36ba5761d61ca59a29', {
title: 'First Post'
}Delete:
client.destroy_document 'blog', 'posts', '293ddf9205df9b36ba5761d61ca59a29'Search
client.search 'blog', {
q: 'tinysou', c: 'posts',
page: 0, per_parge: 10,
filter: {
range: {
field: "date",
from: "2014-07-01T00:00:00Z",
to: "2014-08-01T00:00:00Z"
}
},
sort: {
field: "date",
order: "asc",
mode: "avg"
}
}Autocomplete
client.autocomplete 'blog', q: 't', c: 'posts'Examples
See examples
Contributing
- Fork it ( https://github.com/tinysou/tinysou-ruby/fork )
- Create your feature branch (
git checkout -b my-new-feature) - Commit your changes (
git commit -am 'Add some feature') - Push to the branch (
git push origin my-new-feature) - Create a new Pull Request