class ResoTransport::BaseMetadata
Constants
- MIME_TYPES
Attributes
client[R]
Public Class Methods
new(client)
click to toggle source
# File lib/reso_transport/base_metadata.rb, line 10 def initialize(client) @client = client @prefix = nil @classname = nil end
Public Instance Methods
cache()
click to toggle source
# File lib/reso_transport/base_metadata.rb, line 40 def cache @cache ||= client.send("#{prefix}_cache").new(cache_file) end
cache_file()
click to toggle source
# File lib/reso_transport/base_metadata.rb, line 44 def cache_file @cache_file ||= client.send "#{prefix}_file" end
classname()
click to toggle source
# File lib/reso_transport/base_metadata.rb, line 22 def classname raise 'classname not set' unless @classname @classname end
data()
click to toggle source
# File lib/reso_transport/base_metadata.rb, line 32 def data if cache_file cache.read || cache.write(raw) else raw end end
parser()
click to toggle source
# File lib/reso_transport/base_metadata.rb, line 28 def parser @parser ||= Object::const_get("#{classname}Parser").new.parse(data) end
prefix()
click to toggle source
# File lib/reso_transport/base_metadata.rb, line 16 def prefix raise 'prefix not set' unless @prefix @prefix end
raw()
click to toggle source
# File lib/reso_transport/base_metadata.rb, line 48 def raw return response.body if response.success? raise RequestError.new(request, response, classname) end
request()
click to toggle source
# File lib/reso_transport/base_metadata.rb, line 58 def request return @request.to_h if @request.respond_to? :to_h {} end
response()
click to toggle source
# File lib/reso_transport/base_metadata.rb, line 54 def response raise 'Must implement response method' end