Sha256: a73f6fb2ca9f9d1f7d85830afd64fe18c9b39f5c94113cecfe10b09c0c0b405b

Contents?: true

Size: 552 Bytes

Versions: 3

Compression:

Stored size: 552 Bytes

Contents

require 'vedeu/models/composition'

module Vedeu
  NotImplemented = Class.new(StandardError)

  class View
    include Vedeu::API

    def self.render(object = nil)
      new(object).render
    end

    def initialize(object = nil)
      @object = object
    end

    def render
      Composition.enqueue(interfaces)
    end

    def output
      fail NotImplemented, 'Implement #output on your subclass of Vedeu::View.'
    end

    private

    attr_reader :object

    def interfaces
      {
        interfaces: [ output ]
      }
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
vedeu-0.1.9 lib/vedeu/output/view.rb
vedeu-0.1.8 lib/vedeu/output/view.rb
vedeu-0.1.7 lib/vedeu/output/view.rb