The Dropmark gem is available for installation on Rubygems. To install run:
gem install dropmark # todo
To use this gem in your application, add the following to your Gemfile:
gem 'dropmark', :git => 'git://github.com/dropmark/dropmark-gem.git'
This gem allows you to interact with the Dropmark API.
require 'dropmark'
# authenticate application
Dropmark.configure do |config|
config.api_key = 'API_KEY'
config.api_base = 'https://api.dropmark.com/v1' # optional
config.user_id = 'USER_ID' # optional, see below to retrieve
config.user_token = 'USER_TOKEN' # optional, see below to retrieve
end
# retreive user token if needed
user = Dropmark::User.auth(email: 'EMAIL', password: 'PASSWORD')
# note: store user.id and user.token for future use, never store password
# get authenticated user
user = Dropmark::User.find('me')
# get first 20 collections for authenticated user
collections = Dropmark::Collection.all(page: 1, count: 20)
# get collection by id
collection = Dropmark::Collection.find(133727)
# create new collection for authenticated user
collection = Dropmark::Collection.create(
name: 'New collection',
type: 'private', # optional ('private', 'public', 'global')
sort_by: 'created_at', # optional ('name', 'created_at', 'updated_at')
sort_order: 'desc', # optional ('asc', 'desc')
view: 'square', # optional ('tile', 'shelf')
labels: 'true', # optional ('true', 'false')
)
# delete collection
collection.destroy
# or delete collection by id
Dropmark::Collection.destroy_existing(133727)
# sort collections by ids
collections = Dropmark::Collection.sort([101, 102, 103])
# get items in collection
items = collection.items
# or get items without fetching collection
items = Dropmark::Item.where(collection_id: 133727)
# get item by id
item = Dropmark::Item.find(2139403)
# sort items in collection by item ids
items = collection.sort_items([101, 102, 103])
# or sort items without fetching collection
items = Dropmark::Item.sort(collection_id, [101, 102, 103])
# create new item
item = collection.items.create(content: 'http://dropmark.com')
# or
item = Dropmark::Item.create(
collection_id: 133727,
name: 'Logo', # optional
content: 'http://dropmark.com/assets/images/logo.png', # required (URL, file, or text)
description: 'Dropmark logo', # optional
link: 'http://dropmark.com', # optional
thumbnail: 'http://dropmark.com/assets/images/logo.png', # optional
shareable: 'true' # optional
)
# upload file item
item = Dropmark::Item.create(
collection_id: 133727,
content: Dropmark::File.new('~/photo.jpg')
)
# update item
item.name = 'My Photo'
item.save
# or update by id
item = Dropmark::Item.save_existing(2316519, name: 'My Photo')
# delete item
item.destroy
# or delete by id
Dropmark::Item.destroy_existing(2139403)
# get item comments
comments = item.comments.all
# add comment
comment = item.comments.create(body: 'My comment')
# or comment by item id
comment = Dropmark::Comment.create(item_id: 2316545, body: 'My comment')
# delete comment
comment.destroy
# or comment by id
Dropmark::Comment.destroy_existing(2139403)
Help us improve this gem:
- 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