Sha256: d3a54aedb8a4b6893229cb5fe0f13aab8ebbd994ab12eddb6b014b546a6d4892

Contents?: true

Size: 773 Bytes

Versions: 5

Compression:

Stored size: 773 Bytes

Contents

# @abstract Implement this interface in classes that can be used
#   as renderable scopes.
module Skyline::Rendering::Scopes::Interface
  
  # @abstract
  def renderer(options = {})
    raise "renderer(options = {}) must be overridden"
  end

  # @abstract  
  def serialize
    raise "serialize() must be overridden"
  end
  
  # @abstract  
  def self.load_from_serialized_string(serialized_string)
    raise "self.load_from_serialized_string() must be overridden"
  end    
  
  def self.unserialize(serialized_string)
    class_name, params = serialized_string.split("-")
    class_name.constantize.load_from_serialized_string(params.to_s)
  end
  
  def templates_for(klass_or_obj)
    self.renderer.templates_for(klass_or_obj)
  end
  
end

Version data entries

5 entries across 5 versions & 2 rubygems

Version Path
skylinecms-3.3.0 lib/skyline/rendering/scopes/interface.rb
skylinecms-3.2.0 lib/skyline/rendering/scopes/interface.rb
skylinecms-3.1.0 lib/skyline/rendering/scopes/interface.rb
westarete-skylinecms-3.0.8.20100329 lib/skyline/rendering/scopes/interface.rb
westarete-skylinecms-3.0.8.20100330 lib/skyline/rendering/scopes/interface.rb