Module: ActiveGraph::Relationship::Property::ClassMethods

Includes:
Shared::Cypher::CreateMethod
Defined in:
lib/active_graph/relationship/property.rb

Instance Method Summary collapse

Methods included from Shared::Cypher::CreateMethod

#create_method, #creates_unique, #creates_unique?, #creates_unique_option

Instance Method Details

#extract_association_attributes!(attributes) ⇒ Object

Extracts keys from attributes hash which are relationships of the model TODO: Validate separately that relationships are getting the right values? Perhaps also store the values and persist relationships on save?



39
40
41
42
43
44
45
46
# File 'lib/active_graph/relationship/property.rb', line 39

def extract_association_attributes!(attributes)
  return if attributes.blank?
  {}.tap do |relationship_props|
    attributes.each_key do |key|
      relationship_props[key] = attributes.delete(key) if [:from_node, :to_node].include?(key)
    end
  end
end

#load_entity(id) ⇒ Object



70
71
72
# File 'lib/active_graph/relationship/property.rb', line 70

def load_entity(id)
  ActiveGraph::Node.load(id)
end

#valid_class_argument?(class_argument) ⇒ Boolean

Returns:



62
63
64
65
# File 'lib/active_graph/relationship/property.rb', line 62

def valid_class_argument?(class_argument)
  [String, Symbol, FalseClass].include?(class_argument.class) ||
    (class_argument.is_a?(Array) && class_argument.all? { |c| [String, Symbol].include?(c.class) })
end