Cinch::Storage
Simple YAML backed Storage solution for Cinch plugins.
Warning: Once Cinch's author finishes Cinch::Storage I will deprecate this gem.
Installation
Add this line to your application's Gemfile:
gem 'cinch-storage'
And then execute:
$ bundle
Or install it yourself as:
$ gem install cinch-storage
Usage
First, require it.
require 'cinch/storage'
In your plugin you will need to spin up a Storage object as part of your init.
def initialize(*args)
super
@storage = CinchStorage.new('yaml/plugin_name.yml')
@storage.data ||= {}
end
Then once you add or alter data and you want to write it out to the file you
can call Storage#save
, but be sure to wrap it in a synchronize to avoid
data collision.
synchronize(:plugin_name_save) do
@storage.save
end
Think this is terrible?
I wouldn't disagree; this is my first time writing anyting remotely ORM-like. Please feel free to fork and submit pulls to increase sanity.
Contributing
- Fork it
- 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 new Pull Request