inesita 0.0.11 → 0.0.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 1e1ab35a96ca0e0be0d5e6b5f673c0d4d4d41aa2
4
- data.tar.gz: e6631eb22bf44f14f912cd424deb9bea2b6b1db0
3
+ metadata.gz: 5533b5f8c2c3de1a92131b746423de17e05889bd
4
+ data.tar.gz: 160c6c893e0c498e85949c05512305c302eacf78
5
5
  SHA512:
6
- metadata.gz: 012401b46fcb01f87440465e4ee08ae6de69d4fb4a481a467b1373b9d5a2b7344d4c25c0cf1dc2c3a620f612e05bd7d2531a17a399f78447e2297478035591d5
7
- data.tar.gz: 542547268bc1bf4eca309993a3c60fd01bc0ce95e0c9e8891bb5027b4dc1d23adac1aaeefb4af5607369b5a88e435b006ba7ff936114bc18cf5698113ade6db3
6
+ metadata.gz: c8c658238dcaf1bb481fc8ce156e62a1651b13f27a4ba65c4980bad1da223ce45f7328a9f89f3175d699c02d0367949145e62fbf433380780c997cf005f24da3
7
+ data.tar.gz: 684f108cd653870927d4778b1bdd73ceb032630add80eb5caf4b9f011e9f6dbada77841cacc7b1c805461899e23c87bd55b8de849247649bde6e8afb279c8055
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = 'inesita'
3
- s.version = '0.0.11'
3
+ s.version = '0.0.12'
4
4
  s.authors = [ 'Michał Kalbarczyk' ]
5
5
  s.email = 'fazibear@gmail.com'
6
6
  s.homepage = 'http://github.com/fazibear/inesita'
@@ -25,11 +25,11 @@ class InesitaCLI < Thor
25
25
 
26
26
  index = assets['index.html']
27
27
  javascript = assets['application.js']
28
- stylesheet = assets['application.css']
28
+ stylesheet = assets['stylesheet.css']
29
29
 
30
30
  empty_directory build_dir, force: options[:force]
31
31
  create_file File.join(build_dir, 'index.html'), index.source, force: options[:force]
32
32
  create_file File.join(build_dir, 'application.js'), javascript.source, force: options[:force]
33
- create_file File.join(build_dir, 'application.css'), stylesheet.source, force: options[:force]
33
+ create_file File.join(build_dir, 'stylesheet.css'), stylesheet.source, force: options[:force]
34
34
  end
35
35
  end
@@ -11,20 +11,27 @@ module Inesita
11
11
  NodeFactory.new(block, self).nodes.first
12
12
  end
13
13
 
14
+ def setup; end
15
+
16
+ def setup_and_render
17
+ setup
18
+ render
19
+ end
20
+
14
21
  def mount(element)
15
- @virtual_dom = render
22
+ @virtual_dom = setup_and_render
16
23
  @mount_point = VirtualDOM.create(@virtual_dom)
17
24
  element.inner_dom = @mount_point
18
25
  end
19
26
 
20
- def update
27
+ def update_dom!
21
28
  if @virtual_dom && @mount_point
22
- new_virtual_dom = render
29
+ new_virtual_dom = setup_and_render
23
30
  diff = VirtualDOM.diff(@virtual_dom, new_virtual_dom)
24
31
  VirtualDOM.patch(@mount_point, diff)
25
32
  @virtual_dom = new_virtual_dom
26
33
  else
27
- @parent.update
34
+ @parent.update_dom!
28
35
  end
29
36
  end
30
37
 
@@ -23,14 +23,14 @@ module Inesita
23
23
  end
24
24
 
25
25
  def handle_browser_history
26
- `window.onpopstate = function(){#{update}}`
27
- `window.addEventListener("hashchange", function(){#{update}})`
26
+ `window.onpopstate = function(){#{update_dom!}}`
27
+ `window.addEventListener("hashchange", function(){#{update_dom!}})`
28
28
  self.class.handle_browser_history = true
29
29
  end
30
30
 
31
31
  def self.handle_link(path, component)
32
32
  `window.history.pushState({}, null, #{path})`
33
- component.update
33
+ component.update_dom!
34
34
  false
35
35
  end
36
36
 
@@ -2,7 +2,7 @@ module VirtualDOM
2
2
  class NodeFactory
3
3
  def component(comp)
4
4
  fail "Component is nil in #{@parent.class} class" if comp.nil?
5
- @nodes << comp.with_parent(@parent).render
5
+ @nodes << comp.with_parent(@parent).setup_and_render
6
6
  end
7
7
 
8
8
  def a(params, &block)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: inesita
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.11
4
+ version: 0.0.12
5
5
  platform: ruby
6
6
  authors:
7
7
  - Michał Kalbarczyk
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-08-08 00:00:00.000000000 Z
11
+ date: 2015-08-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: opal