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?



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

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

#id_property_nameObject



50
51
52
# File 'lib/active_graph/relationship/property.rb', line 50

def id_property_name
  false
end

#load_entity(id) ⇒ Object



76
77
78
# File 'lib/active_graph/relationship/property.rb', line 76

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

#valid_class_argument?(class_argument) ⇒ Boolean

Returns:



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

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