vedeu 0.0.5 → 0.0.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +16 -18
- data/lib/vedeu.rb +0 -2
- data/lib/vedeu/application.rb +21 -7
- data/lib/vedeu/interface/interfaces.rb +21 -17
- data/lib/vedeu/output/compositor.rb +4 -12
- data/lib/vedeu/output/translator.rb +4 -20
- data/lib/vedeu/process/commands.rb +17 -34
- data/lib/vedeu/version.rb +1 -1
- data/test/lib/vedeu/application_test.rb +3 -6
- data/test/lib/vedeu/interface/interfaces_test.rb +33 -20
- data/test/lib/vedeu/output/compositor_test.rb +1 -1
- data/test/lib/vedeu/output/style_test.rb +6 -0
- data/test/lib/vedeu/output/translator_test.rb +3 -4
- data/test/lib/vedeu/process/commands_test.rb +13 -21
- data/test/lib/vedeu/support/terminal_test.rb +18 -0
- metadata +2 -5
- data/lib/vedeu/process/process.rb +0 -33
- data/test/lib/vedeu/process/process_test.rb +0 -10
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e3051d98a552c6a3129de526b25593c3e7f0be00
|
4
|
+
data.tar.gz: 32c2e964c4556e84f06f02bd0278fd466281693b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b9fd3e03a60603baf573466fcf384b8b625fa5be156ab87e321c060eb391fbe84b1113ff4f27c1dc1a0fbc307fb536802436a894c958f864b5f1b2ea24564d8b
|
7
|
+
data.tar.gz: a09c6e80a05b2a44bfc029b563acbb79d09d2fd16b00355b29d074176a72090d2a2dd3745e12b17a5b414f7b2c953f50a7f7278294ae682e634e029faf101ac2
|
data/README.md
CHANGED
@@ -28,24 +28,6 @@ TODO: Write detailed documentation
|
|
28
28
|
|-- Interfaces
|
29
29
|
| |-- Dummy < Interface
|
30
30
|
|
|
31
|
-
|-- Process
|
32
|
-
| |-- Commands
|
33
|
-
| | |-- Command
|
34
|
-
| |
|
35
|
-
| |-- Compositor
|
36
|
-
| | |-- Directive
|
37
|
-
| | | |-- Colour
|
38
|
-
| | | | |-- Foreground < Base
|
39
|
-
| | | | |-- Background < Base
|
40
|
-
| | | |
|
41
|
-
| | | |-- Position
|
42
|
-
| | | |-- Style
|
43
|
-
| | | |-- Esc
|
44
|
-
| | |
|
45
|
-
| | |-- Terminal
|
46
|
-
| |
|
47
|
-
| |-- Terminal
|
48
|
-
|
|
49
31
|
|-- Terminal
|
50
32
|
|
51
33
|
Base
|
@@ -53,6 +35,22 @@ TODO: Write detailed documentation
|
|
53
35
|
|-- Esc
|
54
36
|
|
55
37
|
Interface
|
38
|
+
|-- Commands
|
39
|
+
| |-- Command
|
40
|
+
| |-- Exit
|
41
|
+
|
|
42
|
+
|-- Compositor
|
43
|
+
| |-- Directive
|
44
|
+
| | |-- Colour
|
45
|
+
| | | |-- Foreground < Base
|
46
|
+
| | | |-- Background < Base
|
47
|
+
| | |
|
48
|
+
| | |-- Position
|
49
|
+
| | |-- Style
|
50
|
+
| | |-- Esc
|
51
|
+
| |
|
52
|
+
| |-- Terminal
|
53
|
+
|
|
56
54
|
|-- Terminal
|
57
55
|
|
58
56
|
Terminal
|
data/lib/vedeu.rb
CHANGED
@@ -1,5 +1,4 @@
|
|
1
1
|
require 'io/console'
|
2
|
-
require 'singleton'
|
3
2
|
|
4
3
|
require_relative 'vedeu/support/terminal'
|
5
4
|
|
@@ -21,7 +20,6 @@ require_relative 'vedeu/interface/dummy'
|
|
21
20
|
require_relative 'vedeu/process/commands'
|
22
21
|
require_relative 'vedeu/process/command'
|
23
22
|
require_relative 'vedeu/process/exit'
|
24
|
-
require_relative 'vedeu/process/process'
|
25
23
|
|
26
24
|
require_relative 'vedeu/application'
|
27
25
|
require_relative 'vedeu/version'
|
data/lib/vedeu/application.rb
CHANGED
@@ -1,18 +1,20 @@
|
|
1
1
|
module Vedeu
|
2
2
|
class Application
|
3
3
|
class << self
|
4
|
-
def start(
|
5
|
-
new(
|
4
|
+
def start(options = {})
|
5
|
+
new(options).main_sequence
|
6
6
|
end
|
7
7
|
end
|
8
8
|
|
9
|
-
def initialize(
|
10
|
-
@
|
9
|
+
def initialize(options = {})
|
10
|
+
@options = options
|
11
11
|
end
|
12
12
|
|
13
|
-
def
|
13
|
+
def main_sequence
|
14
14
|
Terminal.open(options) do
|
15
|
-
|
15
|
+
initial_state
|
16
|
+
|
17
|
+
event_loop
|
16
18
|
end
|
17
19
|
ensure
|
18
20
|
Terminal.close
|
@@ -20,7 +22,19 @@ module Vedeu
|
|
20
22
|
|
21
23
|
private
|
22
24
|
|
23
|
-
attr_reader :
|
25
|
+
attr_reader :options
|
26
|
+
|
27
|
+
def event_loop
|
28
|
+
interfaces.event_loop
|
29
|
+
end
|
30
|
+
|
31
|
+
def initial_state
|
32
|
+
interfaces.initial_state
|
33
|
+
end
|
34
|
+
|
35
|
+
def interfaces
|
36
|
+
@interfaces ||= Interfaces.defined || Interfaces.default
|
37
|
+
end
|
24
38
|
|
25
39
|
def options
|
26
40
|
defaults.merge!(@options)
|
@@ -1,21 +1,27 @@
|
|
1
1
|
module Vedeu
|
2
2
|
class UndefinedInterface < StandardError; end
|
3
3
|
|
4
|
-
|
5
|
-
|
6
|
-
def default
|
7
|
-
new { |io| io.add(:dummy, Dummy) }
|
8
|
-
end
|
4
|
+
module Interfaces
|
5
|
+
extend self
|
9
6
|
|
10
|
-
|
11
|
-
|
12
|
-
end
|
7
|
+
def default
|
8
|
+
add(:dummy, Dummy)
|
13
9
|
end
|
14
10
|
|
15
|
-
def
|
16
|
-
|
11
|
+
def defined
|
12
|
+
interfaces.empty? ? nil : interfaces
|
13
|
+
end
|
14
|
+
|
15
|
+
def define(&block)
|
16
|
+
if block_given?
|
17
|
+
yield self
|
18
|
+
else
|
19
|
+
self
|
20
|
+
end
|
21
|
+
end
|
17
22
|
|
18
|
-
|
23
|
+
def list
|
24
|
+
interfaces.inspect
|
19
25
|
end
|
20
26
|
|
21
27
|
def add(name, klass, options = {})
|
@@ -25,10 +31,6 @@ module Vedeu
|
|
25
31
|
end
|
26
32
|
end
|
27
33
|
|
28
|
-
def show
|
29
|
-
interfaces
|
30
|
-
end
|
31
|
-
|
32
34
|
def initial_state
|
33
35
|
interfaces.values.map { |io| io.call.initial_state }
|
34
36
|
end
|
@@ -39,11 +41,13 @@ module Vedeu
|
|
39
41
|
|
40
42
|
private
|
41
43
|
|
42
|
-
attr_accessor :interfaces
|
43
|
-
|
44
44
|
def valid?(klass)
|
45
45
|
raise UndefinedInterface unless Object.const_defined?(klass.to_s)
|
46
46
|
true
|
47
47
|
end
|
48
|
+
|
49
|
+
def interfaces
|
50
|
+
@interfaces ||= {}
|
51
|
+
end
|
48
52
|
end
|
49
53
|
end
|
@@ -1,15 +1,15 @@
|
|
1
1
|
module Vedeu
|
2
2
|
class Compositor
|
3
3
|
class << self
|
4
|
-
def write(output = []
|
4
|
+
def write(output = [])
|
5
5
|
return if output.nil? || output.empty?
|
6
6
|
|
7
|
-
new(output
|
7
|
+
new(output).write
|
8
8
|
end
|
9
9
|
end
|
10
10
|
|
11
|
-
def initialize(output = []
|
12
|
-
@output
|
11
|
+
def initialize(output = [])
|
12
|
+
@output = output
|
13
13
|
end
|
14
14
|
|
15
15
|
def write
|
@@ -48,13 +48,5 @@ module Vedeu
|
|
48
48
|
def write_line(data)
|
49
49
|
Terminal.output(data)
|
50
50
|
end
|
51
|
-
|
52
|
-
def options
|
53
|
-
defaults.merge!(@options)
|
54
|
-
end
|
55
|
-
|
56
|
-
def defaults
|
57
|
-
{}
|
58
|
-
end
|
59
51
|
end
|
60
52
|
end
|
@@ -12,7 +12,7 @@ module Vedeu
|
|
12
12
|
|
13
13
|
def translate
|
14
14
|
return unless valid?
|
15
|
-
[
|
15
|
+
[16, red, green, blue].inject(:+)
|
16
16
|
end
|
17
17
|
|
18
18
|
private
|
@@ -20,31 +20,15 @@ module Vedeu
|
|
20
20
|
attr_reader :html_colour
|
21
21
|
|
22
22
|
def red
|
23
|
-
(html_colour[1..2].to_i(16) /
|
23
|
+
(html_colour[1..2].to_i(16) / 51) * 36
|
24
24
|
end
|
25
25
|
|
26
26
|
def green
|
27
|
-
(html_colour[3..4].to_i(16) /
|
27
|
+
(html_colour[3..4].to_i(16) / 51) * 6
|
28
28
|
end
|
29
29
|
|
30
30
|
def blue
|
31
|
-
(html_colour[5..6].to_i(16) /
|
32
|
-
end
|
33
|
-
|
34
|
-
def colour_divide
|
35
|
-
source_values / target_values
|
36
|
-
end
|
37
|
-
|
38
|
-
def source_values
|
39
|
-
256
|
40
|
-
end
|
41
|
-
|
42
|
-
def target_values
|
43
|
-
5
|
44
|
-
end
|
45
|
-
|
46
|
-
def term_colour_base
|
47
|
-
16
|
31
|
+
(html_colour[5..6].to_i(16) / 51) * 1
|
48
32
|
end
|
49
33
|
|
50
34
|
def valid?
|
@@ -1,38 +1,16 @@
|
|
1
1
|
module Vedeu
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
# def define(name, klass, args = [], options = {}, &block)
|
12
|
-
# instance.define(name, klass, args = [], options = {})
|
13
|
-
# end
|
14
|
-
|
15
|
-
def execute(command = "")
|
16
|
-
instance.execute(command)
|
17
|
-
end
|
18
|
-
|
19
|
-
def list
|
20
|
-
instance.list
|
2
|
+
module Commands
|
3
|
+
extend self
|
4
|
+
|
5
|
+
def define(&block)
|
6
|
+
if block_given?
|
7
|
+
yield self
|
8
|
+
else
|
9
|
+
self
|
21
10
|
end
|
22
11
|
end
|
23
12
|
|
24
|
-
def
|
25
|
-
@commands ||= { 'exit' => Proc.new { Exit.dispatch } }
|
26
|
-
|
27
|
-
yield self if block_given?
|
28
|
-
end
|
29
|
-
|
30
|
-
def define(name, klass, args = [], options = {})
|
31
|
-
commands.merge!(Command.define(name, klass, args, options))
|
32
|
-
end
|
33
|
-
alias_method :add, :define
|
34
|
-
|
35
|
-
def execute(command)
|
13
|
+
def execute(command = "")
|
36
14
|
commands.fetch(command).call if exists?(command)
|
37
15
|
end
|
38
16
|
|
@@ -40,13 +18,18 @@ module Vedeu
|
|
40
18
|
commands.inspect
|
41
19
|
end
|
42
20
|
|
43
|
-
|
21
|
+
def add(name, klass, args = [], options = {})
|
22
|
+
commands.merge!(Command.define(name, klass, args, options))
|
23
|
+
end
|
44
24
|
|
45
|
-
|
46
|
-
attr_accessor :instance
|
25
|
+
private
|
47
26
|
|
48
27
|
def exists?(command)
|
49
28
|
commands.fetch(command, false)
|
50
29
|
end
|
30
|
+
|
31
|
+
def commands
|
32
|
+
@commands ||= { 'exit' => Proc.new { Exit.dispatch } }
|
33
|
+
end
|
51
34
|
end
|
52
35
|
end
|
data/lib/vedeu/version.rb
CHANGED
@@ -3,14 +3,11 @@ require_relative '../../test_helper'
|
|
3
3
|
module Vedeu
|
4
4
|
describe Application do
|
5
5
|
let(:described_class) { Application }
|
6
|
-
let(:instance) { described_class.new(
|
7
|
-
let(:interfaces) {}
|
6
|
+
let(:instance) { described_class.new(options) }
|
8
7
|
let(:options) { {} }
|
9
8
|
|
10
|
-
describe '
|
11
|
-
|
12
|
-
|
13
|
-
subject { instance.start }
|
9
|
+
describe '.start' do
|
10
|
+
subject { described_class.start(options) }
|
14
11
|
|
15
12
|
it { skip }
|
16
13
|
end
|
@@ -1,35 +1,43 @@
|
|
1
1
|
require_relative '../../../test_helper'
|
2
2
|
|
3
3
|
module Vedeu
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
4
|
+
class DummyInterface < Interface
|
5
|
+
def initial_state; end
|
6
|
+
|
7
|
+
def event_loop; end
|
8
|
+
end
|
8
9
|
|
9
|
-
|
10
|
+
describe Interfaces do
|
11
|
+
let(:described_class) { Interfaces }
|
10
12
|
|
11
13
|
describe '.default' do
|
12
14
|
subject { described_class.default }
|
13
15
|
|
14
|
-
it { subject.must_be_instance_of(
|
16
|
+
it { subject.must_be_instance_of(Hash) }
|
15
17
|
|
16
18
|
it 'adds the dummy interface to the interface list' do
|
17
|
-
|
19
|
+
described_class.list.wont_be_empty
|
18
20
|
end
|
19
21
|
end
|
20
22
|
|
23
|
+
describe '.defined' do
|
24
|
+
subject { described_class.defined }
|
25
|
+
|
26
|
+
it { subject.must_be_instance_of(Hash) }
|
27
|
+
end
|
28
|
+
|
21
29
|
describe '.define' do
|
22
30
|
subject { described_class.define }
|
23
31
|
|
24
|
-
it { subject.must_be_instance_of(
|
32
|
+
it { subject.must_be_instance_of(Module) }
|
25
33
|
end
|
26
34
|
|
27
|
-
describe '
|
28
|
-
let(:
|
29
|
-
let(:klass)
|
30
|
-
let(:options)
|
35
|
+
describe '.add' do
|
36
|
+
let(:interface) {}
|
37
|
+
let(:klass) { DummyInterface }
|
38
|
+
let(:options) { {} }
|
31
39
|
|
32
|
-
subject {
|
40
|
+
subject { described_class.add(interface, klass, options) }
|
33
41
|
|
34
42
|
it { subject.must_be_instance_of(Hash) }
|
35
43
|
|
@@ -42,20 +50,25 @@ module Vedeu
|
|
42
50
|
end
|
43
51
|
end
|
44
52
|
|
45
|
-
describe '
|
46
|
-
subject {
|
53
|
+
describe '.list' do
|
54
|
+
subject { described_class.list }
|
47
55
|
|
48
|
-
it { subject.must_be_instance_of(
|
56
|
+
it { subject.must_be_instance_of(String) }
|
49
57
|
end
|
50
58
|
|
51
|
-
describe '
|
52
|
-
subject {
|
59
|
+
describe '.initial_state' do
|
60
|
+
subject { described_class.initial_state }
|
53
61
|
|
54
62
|
it { subject.must_be_instance_of(Array) }
|
55
63
|
end
|
56
64
|
|
57
|
-
describe '
|
58
|
-
|
65
|
+
describe '.event_loop' do
|
66
|
+
before do
|
67
|
+
Terminal.stubs(:input)
|
68
|
+
Commands.stubs(:execute).returns(:stop)
|
69
|
+
end
|
70
|
+
|
71
|
+
subject { described_class.event_loop }
|
59
72
|
|
60
73
|
it { subject.must_be_instance_of(Array) }
|
61
74
|
end
|
@@ -43,6 +43,12 @@ module Vedeu
|
|
43
43
|
it { subject.must_equal("\e[0m") }
|
44
44
|
end
|
45
45
|
|
46
|
+
context 'when the style is normal' do
|
47
|
+
let(:style) { :normal }
|
48
|
+
|
49
|
+
it { subject.must_equal("\e[0m") }
|
50
|
+
end
|
51
|
+
|
46
52
|
context 'when the style is show_cursor' do
|
47
53
|
let(:style) { :show_cursor }
|
48
54
|
|
@@ -2,11 +2,10 @@ require_relative '../../../test_helper'
|
|
2
2
|
|
3
3
|
module Vedeu
|
4
4
|
describe Translator do
|
5
|
-
let(:described_class)
|
6
|
-
let(:instance) { described_class.new(html_colour) }
|
5
|
+
let(:described_class) { Translator }
|
7
6
|
let(:html_colour) {}
|
8
7
|
|
9
|
-
it {
|
8
|
+
it { described_class.new(html_colour).must_be_instance_of(Translator) }
|
10
9
|
|
11
10
|
describe '#translate' do
|
12
11
|
{
|
@@ -31,7 +30,7 @@ module Vedeu
|
|
31
30
|
described_class.translate.must_equal(nil)
|
32
31
|
end
|
33
32
|
|
34
|
-
it 'returns nil when the wrong type' do
|
33
|
+
it 'returns nil when the wrong type!' do
|
35
34
|
described_class.translate(:wrong_type).must_equal(nil)
|
36
35
|
end
|
37
36
|
|
@@ -1,16 +1,20 @@
|
|
1
1
|
require_relative '../../../test_helper'
|
2
2
|
|
3
3
|
module Vedeu
|
4
|
-
class
|
5
|
-
def self.dispatch
|
4
|
+
class DummyCommand
|
5
|
+
def self.dispatch
|
6
|
+
:noop
|
7
|
+
end
|
6
8
|
end
|
7
9
|
|
8
10
|
describe Commands do
|
9
|
-
let(:described_class)
|
10
|
-
|
11
|
-
|
11
|
+
let(:described_class) { Commands }
|
12
|
+
|
13
|
+
describe '.define' do
|
14
|
+
subject { described_class.define }
|
12
15
|
|
13
|
-
|
16
|
+
it { skip }
|
17
|
+
end
|
14
18
|
|
15
19
|
describe '.execute' do
|
16
20
|
subject { described_class.execute }
|
@@ -24,27 +28,15 @@ module Vedeu
|
|
24
28
|
it { subject.must_be_instance_of(String) }
|
25
29
|
end
|
26
30
|
|
27
|
-
describe '
|
31
|
+
describe '.add' do
|
28
32
|
let(:command_name) { "some_name" }
|
29
|
-
let(:command_klass) {
|
33
|
+
let(:command_klass) { DummyCommand }
|
30
34
|
let(:args) { [] }
|
31
35
|
let(:options) { {} }
|
32
36
|
|
33
|
-
subject {
|
37
|
+
subject { described_class.add(command_name, command_klass, args, options) }
|
34
38
|
|
35
39
|
it { subject.must_be_instance_of(Hash) }
|
36
40
|
end
|
37
|
-
|
38
|
-
describe '#execute' do
|
39
|
-
subject { instance.execute }
|
40
|
-
|
41
|
-
it { skip }
|
42
|
-
end
|
43
|
-
|
44
|
-
describe '#list' do
|
45
|
-
subject { instance.list }
|
46
|
-
|
47
|
-
it { subject.must_be_instance_of(String) }
|
48
|
-
end
|
49
41
|
end
|
50
42
|
end
|
@@ -103,6 +103,12 @@ module Vedeu
|
|
103
103
|
end
|
104
104
|
end
|
105
105
|
|
106
|
+
describe '.clear_line' do
|
107
|
+
subject { described_class.clear_line }
|
108
|
+
|
109
|
+
it { skip }
|
110
|
+
end
|
111
|
+
|
106
112
|
describe '.show_cursor' do
|
107
113
|
before { console.stubs(:puts) }
|
108
114
|
|
@@ -131,6 +137,18 @@ module Vedeu
|
|
131
137
|
end
|
132
138
|
end
|
133
139
|
|
140
|
+
describe '#initialize' do
|
141
|
+
subject { described_class.new }
|
142
|
+
|
143
|
+
it { skip }
|
144
|
+
end
|
145
|
+
|
146
|
+
describe '#open' do
|
147
|
+
subject { described_class.new.open }
|
148
|
+
|
149
|
+
it { skip }
|
150
|
+
end
|
151
|
+
|
134
152
|
describe '#initial_setup!' do
|
135
153
|
subject { described_class.new.initial_setup! }
|
136
154
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: vedeu
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Gavin Laking
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-05-
|
11
|
+
date: 2014-05-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -170,7 +170,6 @@ files:
|
|
170
170
|
- lib/vedeu/process/command.rb
|
171
171
|
- lib/vedeu/process/commands.rb
|
172
172
|
- lib/vedeu/process/exit.rb
|
173
|
-
- lib/vedeu/process/process.rb
|
174
173
|
- lib/vedeu/support/terminal.rb
|
175
174
|
- lib/vedeu/version.rb
|
176
175
|
- test/lib/vedeu/application_test.rb
|
@@ -190,7 +189,6 @@ files:
|
|
190
189
|
- test/lib/vedeu/process/command_test.rb
|
191
190
|
- test/lib/vedeu/process/commands_test.rb
|
192
191
|
- test/lib/vedeu/process/exit_test.rb
|
193
|
-
- test/lib/vedeu/process/process_test.rb
|
194
192
|
- test/lib/vedeu/support/terminal_test.rb
|
195
193
|
- test/lib/vedeu/version_test.rb
|
196
194
|
- test/support/test_app/bin/testapp
|
@@ -238,7 +236,6 @@ test_files:
|
|
238
236
|
- test/lib/vedeu/process/command_test.rb
|
239
237
|
- test/lib/vedeu/process/commands_test.rb
|
240
238
|
- test/lib/vedeu/process/exit_test.rb
|
241
|
-
- test/lib/vedeu/process/process_test.rb
|
242
239
|
- test/lib/vedeu/support/terminal_test.rb
|
243
240
|
- test/lib/vedeu/version_test.rb
|
244
241
|
- test/support/test_app/bin/testapp
|
@@ -1,33 +0,0 @@
|
|
1
|
-
module Vedeu
|
2
|
-
class Process
|
3
|
-
class << self
|
4
|
-
def main_sequence(interfaces = nil)
|
5
|
-
new(interfaces).main_sequence
|
6
|
-
end
|
7
|
-
end
|
8
|
-
|
9
|
-
def initialize(interfaces = nil)
|
10
|
-
@interfaces = interfaces
|
11
|
-
end
|
12
|
-
|
13
|
-
def main_sequence
|
14
|
-
initial_state
|
15
|
-
|
16
|
-
event_loop
|
17
|
-
end
|
18
|
-
|
19
|
-
private
|
20
|
-
|
21
|
-
def event_loop
|
22
|
-
interfaces.event_loop
|
23
|
-
end
|
24
|
-
|
25
|
-
def initial_state
|
26
|
-
interfaces.initial_state
|
27
|
-
end
|
28
|
-
|
29
|
-
def interfaces
|
30
|
-
@interfaces ||= Interfaces.default
|
31
|
-
end
|
32
|
-
end
|
33
|
-
end
|