module Eapi::Children
Constants
- CHILDREN
Public Class Methods
append(klass)
click to toggle source
# File lib/eapi/children.rb, line 9 def self.append(klass) k = self.key_for klass CHILDREN[k] = klass end
get(klass_name, base_class = nil)
click to toggle source
# File lib/eapi/children.rb, line 14 def self.get(klass_name, base_class = nil) k = key_for klass_name find(k) || find_bare(base_class, k) end
has?(klass_name)
click to toggle source
# File lib/eapi/children.rb, line 20 def self.has?(klass_name) !!self.get(klass_name) end
list()
click to toggle source
# File lib/eapi/children.rb, line 5 def self.list CHILDREN.values end
Private Class Methods
find(k)
click to toggle source
# File lib/eapi/children.rb, line 25 def self.find(k) CHILDREN[k] || CHILDREN[k.gsub('__', '/')] || CHILDREN.select { |key, _| key.gsub('/', '_') == k }.values.first end
find_bare(base_class, k)
click to toggle source
# File lib/eapi/children.rb, line 36 def self.find_bare(base_class, k) if base_class.present? base_key = key_for(base_class) find "#{base_key}/#{k}" else nil end end
key_for(klass_name)
click to toggle source
# File lib/eapi/children.rb, line 31 def self.key_for(klass_name) k = klass_name.to_s k.underscore end