Module: Graphable::ClassMethods
- Defined in:
- lib/graphable.rb
Instance Method Summary collapse
Instance Method Details
#has_edge(hash = {}, &block) ⇒ Object
74 75 76 77 78 79 80 81 82 83 84 85 |
# File 'lib/graphable.rb', line 74 def has_edge(hash = {}, &block) source_klass = self target_klass = hash[:to] hash[:block] = block if hash.has_key?(:through) Graphable.register EdgeCreator.through(source_klass, target_klass, hash.delete(:through), hash) elsif hash.has_key?(:via) Graphable.register EdgeCreator.via(source_klass, target_klass, hash.delete(:via), hash) else raise "Invalid Edge type, must be :through or :via" end end |
#index_name ⇒ Object
64 65 66 |
# File 'lib/graphable.rb', line 64 def index_name "#{name.downcase.pluralize}_index" end |
#indexes(*methods) ⇒ Object
68 69 70 71 72 |
# File 'lib/graphable.rb', line 68 def indexes(*methods) methods.each do |method| Graphable.register IndexCreator.new(self, method) end end |