Sha256: 43516d865d604cd6a0e4ef1103679be57b4b73189db4658e8f340c5af6d9a959

Contents?: true

Size: 1.23 KB

Versions: 8

Compression:

Stored size: 1.23 KB

Contents

require 'orm_adapter'

module Neo4j
  module Rails
    class Model
      extend ::OrmAdapter::ToAdapter

      class OrmAdapter < ::OrmAdapter::Base
        # Do not consider these to be part of the class list
        def self.except_classes
          @@except_classes ||= []
        end

        # Gets a list of the available models for this adapter
        def self.model_classes
          ::Neo4j::Rails::Model.descendants.to_a.select { |k| !except_classes.include?(k.name) }
        end

        # get a list of column names for a given class
        def column_names
          klass._decl_props.keys
        end

        # Get an instance by id of the model
        def get!(id)
          klass.find!(wrap_key(id))
        end

        # Get an instance by id of the model
        def get(id)
          klass.find(wrap_key(id))
        end

        # Find the first instance matching conditions
        def find_first(conditions)
          klass.first(conditions)
        end

        # Find all models matching conditions
        def find_all(conditions)
          klass.all(conditions)
        end

        # Create a model using attributes
        def create!(attributes)
          klass.create!(attributes)
        end
      end
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
neo4j-2.0.1-java lib/orm_adapter/adapters/neo4j.rb
neo4j-2.0.0-java lib/orm_adapter/adapters/neo4j.rb
neo4j-2.0.0.rc2-java lib/orm_adapter/adapters/neo4j.rb
neo4j-2.0.0.rc1-java lib/orm_adapter/adapters/neo4j.rb
neo4j-2.0.0.alpha.9-java lib/orm_adapter/adapters/neo4j.rb
neo4j-2.0.0.alpha.8-java lib/orm_adapter/adapters/neo4j.rb
neo4j-2.0.0.alpha.7-java lib/orm_adapter/adapters/neo4j.rb
neo4j-2.0.0.alpha.6-java lib/orm_adapter/adapters/neo4j.rb