Sha256: 755a60f7c655408a0e704c141985c0dbc63bf5c58bc38d77849846d0faff17c0
Contents?: true
Size: 1.25 KB
Versions: 4
Compression:
Stored size: 1.25 KB
Contents
module Cul module Fedora class Server attr_reader :riurl, :riquery def initialize(*args) options = args.extract_options! @riurl = options[:riurl] || raise(ArgumentError, "Must provide riurl argument") @riquery = options[:riquery] || raise(ArgumentError, "Must provide riquery argument") @hc = options[:http_client] @logger = options[:logger] end def logger @logger ||= Logger.new(STDOUT) end def item(uri) Item.new(:server => self, :uri => uri, :logger => logger) end def request(options= {}) http_client.get_content(*request_path(options)) end def request_path(options = {}) sdef = options.delete(:sdef).to_s pid = options.delete(:pid).to_s request = (options.delete(:request) || "").to_s method = (options.delete(:method) || "/get").to_s sdef = "/" + sdef unless sdef.empty? pid = "/" + pid unless pid.empty? request = "/" + request.to_s uri = @riurl + method + pid + sdef + request query = options return [uri, query] end private def http_client @hc ||= HTTPClient.new() @hc end end end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
cul-fedora-0.8.6 | lib/cul-fedora/server.rb |
cul-fedora-0.8.5 | lib/cul-fedora/server.rb |
cul-fedora-0.8.4 | lib/cul-fedora/server.rb |
cul-fedora-0.8.3 | lib/cul-fedora/server.rb |