ClassMethods

Constants

Methods

#create_method

def create_method
  creates_unique? ? :create_unique : :create
end

#creates_unique

def creates_unique(option = :none)
  option = :none if option == true
  @creates_unique = option
end

#creates_unique?

def creates_unique?
  !!@creates_unique
end

#creates_unique_option

def creates_unique_option
  @creates_unique || :none
end

#end_class

alias_method :end_class,    :to_class
#extract_association_attributes!

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?

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_name

def id_property_name
  false
end

#load_entity

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

#start_class

alias_method :start_class,  :from_class

#unique?

def creates_unique?
  !!@creates_unique
end

#valid_class_argument?

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