Sha256: 602a9b32688ffce12e2199d173ad10f65a62d3a44feed8b4a3c7c08caff2dca9

Contents?: true

Size: 851 Bytes

Versions: 8

Compression:

Stored size: 851 Bytes

Contents

module Excesselt
  class ElementWrapper
  
    attr_reader :element, :builder, :stylesheet
  
    def initialize(stylesheet, element, builder)
      @stylesheet = stylesheet
      @element = element
      @builder = builder
    end
  
    def child_content(selector=nil)
      elements = selector ? @element.css(selector) : @element.children
      elements.each do |child|
        stylesheet.generate_element(child)
      end
    end
  
    def method_missing(sym, *args)
      begin
        @element.send(sym, *args)
      rescue Exception => e
        raise e.exception("Error delegating method '#{sym}' to #{@element.class.name}: #{e.message}\n\n#{e.backtrace.join("\n")}")
      end
    end
  
    def add(*content)
      @builder << content.join('')
    end
    
    def error(string)
      stylesheet.errors << string
    end
        
  end

end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
excesselt-1.1.7 lib/excesselt/element_wrapper.rb
excesselt-1.1.5 lib/excesselt/element_wrapper.rb
excesselt-1.1.4 lib/excesselt/element_wrapper.rb
excesselt-1.1.3 lib/excesselt/element_wrapper.rb
excesselt-1.1.2 lib/excesselt/element_wrapper.rb
excesselt-1.1.1 lib/excesselt/element_wrapper.rb
excesselt-1.1.0 lib/excesselt/element_wrapper.rb
excesselt-1.0.0 lib/excesselt/element_wrapper.rb