Sha256: e53754d34bc9bc6ee8446c2859b67a79c217db591557a1838ecd3928f7f2becf

Contents?: true

Size: 669 Bytes

Versions: 4

Compression:

Stored size: 669 Bytes

Contents

class Neo4j::Relationship

  module Wrapper
    def wrapper
      props.symbolize_keys!
      # return self unless props.is_a?(Hash)
      begin
        most_concrete_class = sorted_wrapper_classes
        wrapped_rel = most_concrete_class.constantize.new
      rescue NameError
        return self
      end

      wrapped_rel.init_on_load(self, self._start_node_id, self._end_node_id, self.rel_type)
      wrapped_rel
    end

    private

    def sorted_wrapper_classes
      props[Neo4j::Config.class_name_property] || class_from_type
    end

    def class_from_type
      Neo4j::ActiveRel::Types::WRAPPED_CLASSES[rel_type] || rel_type.camelize
    end
  end

end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
neo4j-4.0.0 lib/neo4j/active_rel/rel_wrapper.rb
neo4j-4.0.0.rc.4 lib/neo4j/active_rel/rel_wrapper.rb
neo4j-4.0.0.rc.3 lib/neo4j/active_rel/rel_wrapper.rb
neo4j-4.0.0.rc.1 lib/neo4j/active_rel/rel_wrapper.rb