Sha256: cc4fb3a40d12db838fc76a5852971cee5320d5fdc96950f0667e012a2e224c00

Contents?: true

Size: 657 Bytes

Versions: 35

Compression:

Stored size: 657 Bytes

Contents

module Neo4j::ActiveNode
  module Enum
    extend ActiveSupport::Concern
    include Neo4j::Shared::Enum

    module ClassMethods
      protected

      def build_property_options(enum_keys, options = {})
        if options[:_index]
          super.merge!(index: :exact)
        else
          super
        end
      end

      def define_enum_methods(property_name, enum_keys, options)
        super
        define_enum_scopes(property_name, enum_keys)
      end

      def define_enum_scopes(property_name, enum_keys)
        enum_keys.keys.each do |name|
          scope name, -> { where(property_name => name) }
        end
      end
    end
  end
end

Version data entries

35 entries across 35 versions & 2 rubygems

Version Path
neo4j-7.2.3 lib/neo4j/active_node/enum.rb
neo4j-7.2.2 lib/neo4j/active_node/enum.rb
neo4j-7.1.4 lib/neo4j/active_node/enum.rb
neo4j-7.0.16 lib/neo4j/active_node/enum.rb
neo4j-7.2.1 lib/neo4j/active_node/enum.rb
neo4j_legacy-7.2.0.2 lib/neo4j/active_node/enum.rb
neo4j_legacy-7.2.0.1 lib/neo4j/active_node/enum.rb
neo4j-7.2.0 lib/neo4j/active_node/enum.rb
neo4j-7.1.3 lib/neo4j/active_node/enum.rb
neo4j-7.0.15 lib/neo4j/active_node/enum.rb
neo4j-7.1.2 lib/neo4j/active_node/enum.rb
neo4j-7.1.1 lib/neo4j/active_node/enum.rb
neo4j-7.1.0 lib/neo4j/active_node/enum.rb
neo4j-7.0.14 lib/neo4j/active_node/enum.rb
neo4j-7.0.13 lib/neo4j/active_node/enum.rb
neo4j-7.0.12 lib/neo4j/active_node/enum.rb
neo4j-7.0.11 lib/neo4j/active_node/enum.rb
neo4j-7.0.10 lib/neo4j/active_node/enum.rb
neo4j-7.0.9 lib/neo4j/active_node/enum.rb
neo4j-7.0.8 lib/neo4j/active_node/enum.rb