class WoodWing::Elvis
Elvis
is a Digital Asset Manager implemented in Java
Constants
- COMMANDS
Attributes
Public Class Methods
# File lib/woodwing/elvis.rb, line 58 def initialize( my_base_url=ENV['ELVIS_API_URL'], my_cookies={}) @base_url = my_base_url @cookies = my_cookies @base_url += '/' unless @base_url.end_with?('/') end
Public Instance Methods
elvis.tenderapp.com/kb/api/rest-copy
# File lib/woodwing/elvis.rb, line 136 def copy(options={}) Utilities.demand_required_options!( :copy, options ) url = base_url + "copy" response = get_response(url, options) end
No file is uploaded. A placehold asset is created with the associated metadata
# File lib/woodwing/elvis.rb, line 145 def create_collection(options={}) Utilities.demand_required_options!( :create_collection, options ) url = base_url + "create" options.merge!( {assetType: 'collection'} ) response = get_response(url, options) end
Use RestClient.get
# File lib/woodwing/elvis.rb, line 71 def get_response(url=nil,options={}) raise NotLoggedIn unless logged_in? || url.end_with?('login') response = RestClient.get(url, { params: options, cookies: @cookies }) if $DEBUG debug_me(){[:url, :options, :response ]} debug_me(){[ 'response.code', 'response.cookies', 'response.body' ]} end @cookies = response.cookies unless response.cookies.empty? response = MultiJson.load( response.body, :symbolize_keys => true) if response.include?(:errorcode) if 401 == response[:errorcode] && response[:message].include?('ConcurrentModificationException') raise ConcurrentModificationException else error_condition = "ERROR #{response[:errorcode]}: #{response[:message]}" raise error_condition end end return response end
SMELL: This is sooooo close to get_response
Use RestClient.post
# File lib/woodwing/elvis.rb, line 104 def get_response_using_post(url=nil,options={}) raise NotLoggedIn unless logged_in? || url.end_with?('login') response = RestClient.post( url, options, { cookies: @cookies } ) if $DEBUG debug_me(){[:url, :options, :response ]} debug_me(){[ 'response.code', 'response.cookies', 'response.body' ]} end @cookies = response.cookies unless response.cookies.empty? response = MultiJson.load( response.body, :symbolize_keys => true) if response.include?(:errorcode) if 401 == response[:errorcode] && response[:message].include?('ConcurrentModificationException') raise ConcurrentModificationException else error_condition = "ERROR #{response[:errorcode]}: #{response[:message]}" raise error_condition end end return response end
elvis.tenderapp.com/kb/api/rest-localization
# File lib/woodwing/elvis.rb, line 154 def localization(options={}) url = base_url + "localization" response = get_response(url, options) end
elvis.tenderapp.com/kb/api/rest-log_usage_stats
# File lib/woodwing/elvis.rb, line 161 def log_usage_stats(options={}) url = base_url + "log_usage_stats" response = get_response(url, options) end
elvis.tenderapp.com/kb/api/rest-move
# File lib/woodwing/elvis.rb, line 168 def move(options={}) Utilities.demand_required_options!( :move, options ) url = base_url + "move" response = get_response(url, options) end
elvis.tenderapp.com/kb/api/rest-profile
# File lib/woodwing/elvis.rb, line 178 def profile(options={}) url = base_url + "profile" response = get_response(url, options) end
elvis.tenderapp.com/kb/api/rest-query_stats
# File lib/woodwing/elvis.rb, line 185 def query_stats(options={}) url = base_url + "queryStats" response = get_response(url, options) end
elvis.tenderapp.com/kb/api/rest-remove can delete one or more using list of IDs or a search query pr a folderPath. The folderPath process has been abstracted into remove_folder
.
# File lib/woodwing/elvis.rb, line 196 def remove_bulk(options={}) Utilities.demand_required_options!( :remove_bulk, options ) url = base_url + "remove" response = get_response(url, options) end
elvis.tenderapp.com/kb/api/rest-remove can delete one or more using list of IDs or a search query pr a folderPath. The folderPath process has been abstracted into remove_folder
.
# File lib/woodwing/elvis.rb, line 210 def remove_bulk_ids(options={}) Utilities.demand_required_options!( :remove_bulk_ids, options ) url = base_url + "remove" response = get_response(url, options) end
elvis.tenderapp.com/kb/api/rest-update used to update assets and metadata
# File lib/woodwing/elvis.rb, line 221 def update(options={}) Utilities.demand_required_options!( :update, options ) url = base_url + "update" response = get_response(url, options) end
elvis.tenderapp.com/kb/api/rest-updatebulk updates metadata fields for all assets matching a specific query
# File lib/woodwing/elvis.rb, line 247 def update_bulk_metadata(options={}) Utilities.demand_required_options!( :update_bulk_metadata, options ) options[:metadata] = options[:metadata].to_json url = base_url + "updatebulk" response = get_response(url, options) end
elvis.tenderapp.com/kb/api/rest-update used to update metadata for a specific asset referenced by 'id'
# File lib/woodwing/elvis.rb, line 235 def update_metadata(options={}) Utilities.demand_required_options!( :update, options ) options[:metadata] = options[:metadata].to_json url = base_url + "update" response = get_response(url, options) end
elvis.tenderapp.com/kb/api/rest-zip_download
# File lib/woodwing/elvis.rb, line 260 def zip_download(options={}) url = base_url + "zip_download" response = get_response(url, options) end