Sha256: a86fbb7f3dcd18d9591f966e4bbefb55998277eed48e0cefb2aa0f11e45cf961
Contents?: true
Size: 1.58 KB
Versions: 2
Compression:
Stored size: 1.58 KB
Contents
# frozen_string_literal: true module ActiveRecord module ConnectionAdapters module Elasticsearch class Column < ConnectionAdapters::Column # :nodoc: attr_reader :virtual, :fields, :properties def initialize(name, default, sql_type_metadata = nil, null = true, default_function = nil, **kwargs) @virtual = kwargs.delete(:virtual) @fields = kwargs.delete(:fields) @properties = kwargs.delete(:properties) super(name, default, sql_type_metadata, null, default_function, **kwargs) end # returns true if this column is virtual. # Virtual columns cannot be saved. # @return [Boolean] def virtual? !!virtual end # returns true if this column has nested fields # To receive the nested names just call +#fields+ on this object. # @return [Boolean] def fields? fields.present? end # returns true if this column has nested properties # To receive the nested names just call +#properties+ on this object. # @return [Boolean] def properties? properties.present? end # returns a array of field names # @return [Array] def field_names return [] unless fields? fields.map { |field| field['name'] } end # returns a array of property names # @return [Array] def property_names return [] unless properties? properties.map { |property| property['name'] } end end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
elasticsearch_record-1.0.2 | lib/active_record/connection_adapters/elasticsearch/column.rb |
elasticsearch_record-1.0.1 | lib/active_record/connection_adapters/elasticsearch/column.rb |