Class: Scribble::Registry
- Inherits:
-
Object
- Object
- Scribble::Registry
- Defined in:
- lib/scribble/registry.rb
Defined Under Namespace
Classes: ForClassContext
Class Method Summary collapse
Instance Method Summary collapse
- #block?(name) ⇒ Boolean
- #class_name(receiver_class, name = nil) ⇒ Object
-
#class_names ⇒ Object
Class names.
-
#evaluate(name, receiver, args, call = nil, context = nil) ⇒ Object
Evaluate or cast.
-
#for(*classes, &proc) ⇒ Object
For class context.
-
#methods ⇒ Object
Methods.
-
#split?(name) ⇒ Boolean
Split, block.
- #to_boolean(receiver) ⇒ Object
- #to_string(receiver) ⇒ Object
- #unregister(name) ⇒ Object
Class Method Details
.instance ⇒ Object
10 11 12 |
# File 'lib/scribble/registry.rb', line 10 def self.instance @instance ||= Registry.new end |
.method_missing(name, *args, &proc) ⇒ Object
Singleton
6 7 8 |
# File 'lib/scribble/registry.rb', line 6 def self.method_missing name, *args, &proc instance.send name, *args, &proc end |
Instance Method Details
#block?(name) ⇒ Boolean
84 85 86 |
# File 'lib/scribble/registry.rb', line 84 def block? name method_predicate name, :block? end |
#class_name(receiver_class, name = nil) ⇒ Object
48 49 50 51 |
# 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 ⇒ Object
Class names
44 45 46 |
# File 'lib/scribble/registry.rb', line 44 def class_names @class_names ||= {} end |
#evaluate(name, receiver, args, call = nil, context = nil) ⇒ Object
Evaluate or cast
65 66 67 68 |
# 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) ⇒ Object
For class context
16 17 18 |
# 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 ⇒ Object
Methods
55 56 57 |
# File 'lib/scribble/registry.rb', line 55 def methods @methods ||= [] end |
#split?(name) ⇒ Boolean
Split, block
80 81 82 |
# File 'lib/scribble/registry.rb', line 80 def split? name method_predicate name, :split? end |
#to_boolean(receiver) ⇒ Object
70 71 72 |
# File 'lib/scribble/registry.rb', line 70 def to_boolean receiver evaluate :to_boolean, receiver, [] end |
#to_string(receiver) ⇒ Object
74 75 76 |
# File 'lib/scribble/registry.rb', line 74 def to_string receiver evaluate :to_string, receiver, [] end |
#unregister(name) ⇒ Object
59 60 61 |
# File 'lib/scribble/registry.rb', line 59 def unregister name methods.reject! { |method| method.name == name } end |