class Scribble::Registry
Public Class Methods
instance()
click to toggle source
# File lib/scribble/registry.rb, line 10 def self.instance @instance ||= Registry.new end
method_missing(name, *args, &proc)
click to toggle source
Singleton
# File lib/scribble/registry.rb, line 6 def self.method_missing name, *args, &proc instance.send name, *args, &proc end
Public Instance Methods
block?(name)
click to toggle source
# File lib/scribble/registry.rb, line 84 def block? name method_predicate name, :block? end
class_name(receiver_class, name = nil)
click to toggle source
# File lib/scribble/registry.rb, line 48 def class_name receiver_class, name = nil class_names[receiver_class] = name if name class_names[receiver_class] || receiver_class.name.downcase end
class_names()
click to toggle source
Class names
# File lib/scribble/registry.rb, line 44 def class_names @class_names ||= {} end
evaluate(name, receiver, args, call = nil, context = nil)
click to toggle source
Evaluate or cast
# File lib/scribble/registry.rb, line 65 def evaluate name, receiver, args, call = nil, context = nil matcher = Support::Matcher.new self, name, receiver, args matcher.match.new(receiver, call, context).send name, *args end
for(*classes, &proc)
click to toggle source
For class context
# File lib/scribble/registry.rb, line 16 def for *classes, &proc classes.each { |receiver_class| ForClassContext.new(self, receiver_class).instance_eval &proc } end
methods()
click to toggle source
# File lib/scribble/registry.rb, line 55 def methods @methods ||= [] end
split?(name)
click to toggle source
Split, block
# File lib/scribble/registry.rb, line 80 def split? name method_predicate name, :split? end
to_boolean(receiver)
click to toggle source
# File lib/scribble/registry.rb, line 70 def to_boolean receiver evaluate :to_boolean, receiver, [] end
to_string(receiver)
click to toggle source
# File lib/scribble/registry.rb, line 74 def to_string receiver evaluate :to_string, receiver, [] end
unregister(name)
click to toggle source
# File lib/scribble/registry.rb, line 59 def unregister name methods.reject! { |method| method.name == name } end
Private Instance Methods
method_predicate(name, predicate)
click to toggle source
# File lib/scribble/registry.rb, line 90 def method_predicate name, predicate method = methods.find { |method| method.method_name == name } method && method.send(predicate) end