Module: Gliffynator::DSL
- Included in:
- Diagram
- Defined in:
- lib/gliffynator/dsl.rb
Instance Method Summary
collapse
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
#method_missing(m, *args, &block) ⇒ Object
22
23
24
25
26
27
28
29
30
31
32
33
34
|
# File 'lib/gliffynator/dsl.rb', line 22
def method_missing(m, *args, &block)
begin
class_name = "Gliffynator::" + m.to_s.split("_").collect(&:capitalize).join
klass = instance_eval(class_name)
self.objects << klass.create(
get_id_and_increment(klass),
*args
)
rescue NameError
raise NoMethodError, "Unknown shape #{class_name}"
end
end
|
Instance Method Details
#add_arrow(*args) ⇒ Object
#get_id_and_increment(klass) ⇒ Object
3
4
5
6
7
8
|
# File 'lib/gliffynator/dsl.rb', line 3
def get_id_and_increment(klass)
id = self.objects.global_id_counter
self.objects.global_id_counter += klass.id_usage || 1
id
end
|