module ModulePlus::Identification
Public Instance Methods
full_name()
click to toggle source
# File lib/module_plus/identification.rb, line 7 def full_name my_klass.to_s end
full_names()
click to toggle source
# File lib/module_plus/identification.rb, line 10 def full_names full_name.split(/::/) end
nest_names()
click to toggle source
# File lib/module_plus/identification.rb, line 13 def nest_names full_names.inject([]) do |list, name| list << (list.empty? ? name : "#{list.last}::#{name}") end end
nests()
click to toggle source
# File lib/module_plus/identification.rb, line 28 def nests # nest_names.map { |name| eval(name) } # rubocop:disable Security/Eval end
outer_names()
click to toggle source
# File lib/module_plus/identification.rb, line 23 def outer_names r = nest_names r.take(r.size - 1) end
outers()
click to toggle source
# File lib/module_plus/identification.rb, line 37 def outers outer_names.map { |n| eval(n) } # rubocop:disable Security/Eval end
root()
click to toggle source
# File lib/module_plus/identification.rb, line 33 def root eval(root_name) # rubocop:disable Security/Eval end
root_name()
click to toggle source
# File lib/module_plus/identification.rb, line 19 def root_name nest_names.first end
Private Instance Methods
my_klass()
click to toggle source
# File lib/module_plus/identification.rb, line 44 def my_klass if self.is_a? Module self else self.class end end