class Fabrik::Dictionary
Public Class Methods
new()
click to toggle source
# File lib/fabrik/dictionary.rb, line 6 def initialize @pairs = Set.new end
Public Instance Methods
add(pair)
click to toggle source
# File lib/fabrik/dictionary.rb, line 10 def add(pair) @pairs.add(pair) end
apply_aliases(methods, aliases)
click to toggle source
# File lib/fabrik/dictionary.rb, line 34 def apply_aliases(methods, aliases) Hash[ methods.map do |name, _| [(aliases.include?(name) ? aliases[name] : name), _] end ] end
apply_exclusions(methods, exclusions)
click to toggle source
# File lib/fabrik/dictionary.rb, line 28 def apply_exclusions(methods, exclusions) methods.select do |name, _| !exclusions.include?(name) end end
method_map(opts = {})
click to toggle source
# File lib/fabrik/dictionary.rb, line 14 def method_map(opts = {}) exclude = Array(opts[:exclude]) aliases = opts.fetch(:aliases, {}) methods = Hash[ @pairs.map do |pair| mod, name = pair [name, mod.instance_method(name)] end ] methods = apply_exclusions(methods, exclude) methods = apply_aliases(methods, aliases) end