Sha256: a8012156a3b022e44c55086ae7f1834ab3e5e2fb76b2cfdd24b6966379fba7d8

Contents?: true

Size: 576 Bytes

Versions: 6

Compression:

Stored size: 576 Bytes

Contents

require 'opal'
require 'native'
require 'beryl/deserializer'
require 'beryl/runtime'

module Beryl
  class Frontend
    def initialize(view)
      @view = view
    end

    def onload(&block)
      `window.onload = block;`
    end

    def run
      onload do
        document = Native(`window.document`)
        root = document.getElementById('beryl')
        serialized_state = root.getAttribute('data-beryl').gsub('"', '"')
        state = Beryl::Deserializer.deserialize(serialized_state)
        Beryl::Runtime.new(root, state, @view).run
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
beryl-0.2.5 lib/beryl/frontend.rb
beryl-0.2.4 lib/beryl/frontend.rb
beryl-0.2.3 lib/beryl/frontend.rb
beryl-0.2.2 lib/beryl/frontend.rb
beryl-0.2.1 lib/beryl/frontend.rb
beryl-0.2.0 lib/beryl/frontend.rb