Module: Yuimaru
- Defined in:
- lib/yuimaru.rb,
lib/yuimaru/message.rb,
lib/yuimaru/version.rb,
lib/yuimaru/sequence.rb,
lib/yuimaru/dsl/default.rb,
lib/yuimaru/sequence/diagram.rb
Defined Under Namespace
Modules: Dsl
Classes: Message, Sequence
Constant Summary
collapse
- VERSION =
"0.1.0"
Class Attribute Summary collapse
Class Method Summary
collapse
Class Attribute Details
.default_env ⇒ Object
Returns the value of attribute default_env.
8
9
10
|
# File 'lib/yuimaru.rb', line 8
def default_env
@default_env
end
|
Class Method Details
.load_sequence(path, env: default_env) ⇒ Object
22
23
24
25
|
# File 'lib/yuimaru.rb', line 22
def load_sequence(path, env: default_env)
seq = File.read(path)
sequence(seq)
end
|
.method_missing(name) ⇒ Object
27
28
29
30
31
|
# File 'lib/yuimaru.rb', line 27
def method_missing(name, *)
return super if /\A_+\z/ !~ name
current << []
end
|
.sequence(seq, env: default_env) ⇒ Object
10
11
12
13
14
15
16
17
18
19
20
|
# File 'lib/yuimaru.rb', line 10
def sequence(seq, env: default_env)
add = -> (v) { current << v if v.is_a?(Yuimaru::Message) }
trace_var(:$_, add)
eval(seq, env)
Sequence.new(current)
ensure
untrace_var(:$_, add)
reset
end
|