curtis 0.1.1 → 0.1.2

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: 594a8d82f90717fc2c0afaecbf1668d922475103
4
- data.tar.gz: 3fd56878c5bc42a8bb8bf6eceec5b9433580e918
3
+ metadata.gz: 384f09acb7b3f37b3aa99c781fa74d8b79e9ef29
4
+ data.tar.gz: 5f6ec504d7662edeffa416ca9231fa8f45ae6d4e
5
5
  SHA512:
6
- metadata.gz: 03d5b63f9a503ef610595e196257cbf2ef4ed2e0686ecf6b87b2afe95f1851055f5da0e44108dee70f58f8f81e63e48c03df83ca4467bb2c2b123b7a2fc6a54a
7
- data.tar.gz: 9b66c9911b0d3f30d172a9726d97277bd8ee19e70bd82a1e3df53ebfe625732bcee61d804ab43ebb76c31f3d0c6680c0a4364a2988807015cc0796af6fdcbda1
6
+ metadata.gz: 0bbafcd95141a07de23081d841c05cf6203a0a5883fb27eeed14d6f1cfa570ad39bc1a25dee7704dcaac167374552a10c0f8eb5e08c13796bb5df94aa464dbf9
7
+ data.tar.gz: a6aadc2a62f6cac60393d4659c01da5e75f9f9b54b905568e6ed9fc79161f7cd3922bd3158ba4c7d8ef69a2f19bf68e8b0e44fdb44a5f36ae3ecb0b630110f84
@@ -15,7 +15,13 @@ module Curtis
15
15
  def_delegators :size, :lines, :columns
16
16
  def_delegators :position, :line, :column
17
17
 
18
- def initialize(ncurses_window = Ncurses.stdscr)
18
+ class << self
19
+ def instance
20
+ @instance ||= self.new(Ncurses.stdscr)
21
+ end
22
+ end
23
+
24
+ def initialize(ncurses_window)
19
25
  unless ncurses_window.kind_of? Ncurses::WINDOW
20
26
  fail ArgumentError, 'Only Ncurses::WINDOW instances allowed.'
21
27
  end
@@ -35,7 +41,11 @@ module Curtis
35
41
  window.respond_to?(method_name) || super
36
42
  end
37
43
 
44
+ def setup
45
+ end
46
+
38
47
  def parent
48
+ setup
39
49
  window
40
50
  end
41
51
 
@@ -1,3 +1,3 @@
1
1
  module Curtis
2
- VERSION = "0.1.1"
2
+ VERSION = "0.1.2"
3
3
  end
data/lib/curtis/view.rb CHANGED
@@ -16,19 +16,23 @@ module Curtis
16
16
  end
17
17
 
18
18
  def parent
19
- @parent ||= self.class.superclass.new(Ncurses.stdscr)
19
+ BaseView.instance
20
20
  end
21
21
 
22
22
  def render(every: 0.04)
23
23
  clear_thread!
24
- window.refresh unless block_given?
25
24
 
26
- @thread = Thread.new do
27
- loop do
28
- yield self
29
- window.refresh
30
- sleep every
25
+ if block_given?
26
+ @thread = Thread.new do
27
+ loop do
28
+ yield self
29
+ window.refresh
30
+ sleep every
31
+ end
31
32
  end
33
+ else
34
+ setup
35
+ window.refresh
32
36
  end
33
37
  end
34
38
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: curtis
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Stefan Rotariu
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-01-26 00:00:00.000000000 Z
11
+ date: 2016-01-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: ncurses-ruby