Skip to content

thriventures/storage_room_gem

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

StorageRoom Gem

This gem provides read and write access to the StorageRoom API (storageroomapp.com).

Main Features

  • ActiveRecord/ActiveModel like interface.

  • Automatic creation of Entry Classes from a Collection, you don’t have to configure anything

  • Supports lazy-loading of associations (e.g. post.category will fetch a category transparently if it has not yet been loaded)

  • Supports caching through an identity map, so that Resources don’t have to be loaded multiple times

  • Easy file uploads and removals

  • Model Callbacks

Installation

To install the library execute:

sudo gem install storage_room

Basic Usage

This is a walkthrough with all steps you need to setup a devise entry, including model, migration, route files, and optional configuration.

StorageRoom.authenticate(YOUR_ACCOUNT_ID, YOUR_APPLICATION_API_KEY)
collection = StorageRoom::Collection.find('4ddaf68b4d085d374a000003')

entry = collection.entries.resources.first # collection.entries contains meta information, the resources key contains the returned objects

entry.name = 'Foobar'

if entry.save
  puts "Entry saved."
else
  puts "Could not save Entry: #{entry.errors.join(', )}"
end

You can find the documentation at rdoc.info/github/thriventures/storage_room_gem.

Long Running Processes

The gem caches responses from the API. If you have a long-running process such as a server or worker you probably want fresh data and you should clear the cache before each request:

StorageRoom::IdentityMap.clear

More Examples

See the examples folder.

TODO

Please refer to TODO file.

Maintainers

  • Sascha Konietzke

Bugs and Feedback

If you discover any bugs, please create an issue on GitHub.

github.com/thriventures/storage_room_gem/issues

License

MIT License. Copyright 2010 Thriventures UG (haftungsbeschränkt) - www.thriventures.com