Sha256: 848076408b6964a0854199de9c872acc2a28348c1577621da15d4a9bb2136f02

Contents?: true

Size: 1.46 KB

Versions: 36

Compression:

Stored size: 1.46 KB

Contents

require 'wunderbar'

source = Dir[File.expand_path('../vendor/polymer-*.min.js', __FILE__)].
  sort_by {|name| name[/-v?([.\d]*)\.min.js$/,1].split('.').map(&:to_i)}.last

Wunderbar::Asset.script :name => 'polymer-min.js', :file => source

if self.to_s == 'main'
  class << self
    def _polymer_element(*args, &block)
      Wunderbar.polymer_element(*args, &block)
    end
  end

  module Wunderbar
    def self.polymer_element(*args, &block)
      callback = Proc.new do |scope, args, block| 
        polymer_element(scope, *args, &block)
      end
      @queue << [callback, args, block]
    end
    
    class CGI
      def polymer_element(scope, *args, &block)
        headers = { 'type' => 'text/html', 'charset' => 'UTF-8' }
        x = HtmlMarkup.new(scope)

        begin
           element = x._polymer_element *args do
            x.instance_eval &block
          end
          output = element.serialize.join("\n") + "\n"
        rescue ::Exception => exception
          headers['status'] =  "500 Internal Server Error"
          x.clear!
          output = x.html(*args) do
            _h1 'Internal Server Error'
            _exception exception
          end
        end

        out?(scope, headers) { output }
      end
    end
  end
end

module Wunderbar
  module SinatraHelpers
    def _polymer_element(*args, &block)
      Wunderbar::Template::Html.evaluate('_polymer_element', self) do
        _polymer_element(*args) { instance_eval &block }
      end
    end
  end
end

Version data entries

36 entries across 36 versions & 1 rubygems

Version Path
wunderbar-1.0.11 lib/wunderbar/polymer.rb
wunderbar-1.0.10 lib/wunderbar/polymer.rb
wunderbar-1.0.9 lib/wunderbar/polymer.rb
wunderbar-1.0.8 lib/wunderbar/polymer.rb
wunderbar-1.0.7 lib/wunderbar/polymer.rb
wunderbar-1.0.6 lib/wunderbar/polymer.rb
wunderbar-1.0.5 lib/wunderbar/polymer.rb
wunderbar-1.0.4 lib/wunderbar/polymer.rb
wunderbar-1.0.3 lib/wunderbar/polymer.rb
wunderbar-1.0.2 lib/wunderbar/polymer.rb
wunderbar-1.0.1 lib/wunderbar/polymer.rb
wunderbar-1.0.0 lib/wunderbar/polymer.rb
wunderbar-0.24.4 lib/wunderbar/polymer.rb
wunderbar-0.24.3 lib/wunderbar/polymer.rb
wunderbar-0.24.2 lib/wunderbar/polymer.rb
wunderbar-0.24.1 lib/wunderbar/polymer.rb
wunderbar-0.24.0 lib/wunderbar/polymer.rb
wunderbar-0.23.2 lib/wunderbar/polymer.rb
wunderbar-0.23.1 lib/wunderbar/polymer.rb
wunderbar-0.23.0 lib/wunderbar/polymer.rb