Sha256: 20c14166bd5eb304c19e78533cc40c24da85509a81d5dbebad1e8fbbf44e1238
Contents?: true
Size: 1.26 KB
Versions: 10
Compression:
Stored size: 1.26 KB
Contents
module UnifiedDB module Backend class Base attr_accessor :id, :title def self.find(params) new.find(params) end def initialize @result = [] end def find(params) if params[:id] find_by_id params[:id] elsif params[:t] || params[:title] find_by_title(params[:t] || params[:title]) else raise ApiError, 'no search criteria specified' end result rescue ApiError => e { :status => 'error', :reason => e.message } end def find_by_id(id) raise ApiError, 'not implemented' end def find_by_title(title) raise ApiError, 'not implemented' end def result { :status => 'success', :service => service, :result => @result } end private def service; 'base'; end def format_actors(actors) Array(actors).collect { |a| { a.name => a.role } } end def format_directors(directors) Array(directors).collect(&:name) end def format_writers(writers) Array(writers).collect(&:name) end end end end
Version data entries
10 entries across 10 versions & 1 rubygems