class Schemacop::V3::NodeRegistry
Public Class Methods
by_name(name)
click to toggle source
# File lib/schemacop/v3/node_registry.rb, line 32 def self.by_name(name) @by_name[name.to_sym] end
by_short_name(short_name)
click to toggle source
# File lib/schemacop/v3/node_registry.rb, line 36 def self.by_short_name(short_name) @by_short_name[short_name.to_sym] end
dsl_methods(bang)
click to toggle source
# File lib/schemacop/v3/node_registry.rb, line 14 def self.dsl_methods(bang) return @by_short_name.keys.map do |short_name| if bang ["dsl_#{short_name}!", "dsl_#{short_name}?"] else ["dsl_#{short_name}"] end end.flatten.map(&:to_sym) end
find(name_or_klass)
click to toggle source
# File lib/schemacop/v3/node_registry.rb, line 24 def self.find(name_or_klass) if name_or_klass.is_a?(Class) return name_or_klass else return by_name(name_or_klass) end end
name(klass)
click to toggle source
# File lib/schemacop/v3/node_registry.rb, line 40 def self.name(klass) @by_class[klass][:name] end
register(name, short_name, klass)
click to toggle source
# File lib/schemacop/v3/node_registry.rb, line 8 def self.register(name, short_name, klass) @by_name[name.to_sym] = klass @by_short_name[short_name.to_sym] = klass @by_class[klass] = { name: name.to_sym, short_name: short_name.to_sym } end