class Gumdrop::Data::Provider
Base class for Data
Proviers
Public Class Methods
extensions(*extnames)
click to toggle source
# File lib/gumdrop/data.rb, line 171 def extensions(*extnames) provider_class= self @@providers ||= {} extnames.each do |ext| @@providers[ext.to_s]= provider_class end end
Also aliased as: extension
for(ext)
click to toggle source
# File lib/gumdrop/data.rb, line 184 def for(ext) case when provider_class= @@providers[ext] provider_class.new when provider_class= @@providers[".#{ ext }"] provider_class.new else nil end end
registered_exts()
click to toggle source
# File lib/gumdrop/data.rb, line 180 def registered_exts @@providers.keys end
Public Instance Methods
available?()
click to toggle source
# File lib/gumdrop/data.rb, line 144 def available? raise "available? must be implemented! (#{self.class})" end
data_for(filepath)
click to toggle source
# File lib/gumdrop/data.rb, line 148 def data_for(filepath) raise "data_for must be implemented! (#{self.class})" end
supply_data(object)
click to toggle source
# File lib/gumdrop/data.rb, line 152 def supply_data(object) case object when Hash object = object.clone object.each do |key, value| object[key] = supply_data(value) end # OpenStruct.new(object) Gumdrop::Util::HashObject.from object when Array object = object.clone object.map! { |item| supply_data(item) } else object end end