Module: VisualizeRuby::Namable

Included in:
Edge, Node
Defined in:
lib/visualize_ruby/namable.rb

Defined Under Namespace

Modules: ClassMethods

Constant Summary collapse

DEFAULT_DISPLAYER =
-> (attr) do
  r = attr.values.compact.join(" ")
  r.empty? ? nil : r
end

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(klass) ⇒ Object



17
18
19
# File 'lib/visualize_ruby/namable.rb', line 17

def self.included(klass)
  klass.extend(ClassMethods)
end

Instance Method Details

#nameObject



13
14
15
# File 'lib/visualize_ruby/namable.rb', line 13

def name
  @name_displayer.call(build_name_list)
end

#post_initialize(name_displayer: nil, **args) ⇒ Object



8
9
10
11
# File 'lib/visualize_ruby/namable.rb', line 8

def post_initialize(name_displayer: nil, **args)
  @name_displayer = name_displayer || DEFAULT_DISPLAYER
  super if defined? super
end