Sha256: 629390827afc88c6364d9a93f02c2b541ba946b1260a7fe206a32a64cff3d3be
Contents?: true
Size: 834 Bytes
Versions: 2
Compression:
Stored size: 834 Bytes
Contents
# frozen_string_literal: true module ActsAsGraphDiagram # :nodoc: ## # This module represents a act of edge. module EdgeScopes extend ActiveSupport::Concern included do # returns Edge records where destination is the record passed in. # @param [Node] node scope :select_destinations, ->(node) { where(destination_id: node.id, destination_type: node.class.name) } # returns Edge records where departure is the record passed in. # @param [Node] node scope :select_departures, ->(node) { where(departure_id: node.id, departure_type: node.class.name) } # returns Edge records where departure or destination are the record passed in. # @param [Node] node scope :select_connections, ->(node) { select_destinations(node).or(select_departures(node)) } end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
acts_as_graph_diagram-0.1.1 | lib/acts_as_graph_diagram/edge_scopes.rb |
acts_as_graph_diagram-0.1.0 | lib/acts_as_graph_diagram/edge_scopes.rb |