Module: AssociateJsonb
- Defined in:
- lib/associate_jsonb/arel_nodes/sql_casted_equality.rb,
lib/associate_jsonb.rb,
lib/associate_jsonb/version.rb,
lib/associate_jsonb/reflection.rb,
lib/associate_jsonb/persistence.rb,
lib/associate_jsonb/attribute_methods.rb,
lib/associate_jsonb/predicate_builder.rb,
lib/associate_jsonb/connection_adapters.rb,
lib/associate_jsonb/with_store_attribute.rb,
lib/associate_jsonb/arel_extensions/table.rb,
lib/associate_jsonb/relation/where_clause.rb,
lib/associate_jsonb/attribute_methods/read.rb,
lib/associate_jsonb/supported_rails_version.rb,
lib/associate_jsonb/associations/association.rb,
lib/associate_jsonb/arel_nodes/jsonb/at_arrow.rb,
lib/associate_jsonb/arel_nodes/jsonb/operator.rb,
lib/associate_jsonb/arel_nodes/jsonb/attribute.rb,
lib/associate_jsonb/associations/alias_tracker.rb,
lib/associate_jsonb/arel_nodes/jsonb/dash_arrow.rb,
lib/associate_jsonb/arel_nodes/jsonb/hash_arrow.rb,
lib/associate_jsonb/arel_extensions/nodes/binary.rb,
lib/associate_jsonb/arel_nodes/jsonb/double_pipe.rb,
lib/associate_jsonb/arel_nodes/sql_casted_binary.rb,
lib/associate_jsonb/associations/builder/has_one.rb,
lib/associate_jsonb/associations/join_dependency.rb,
lib/associate_jsonb/associations/builder/has_many.rb,
lib/associate_jsonb/associations/association_scope.rb,
lib/associate_jsonb/associations/builder/belongs_to.rb,
lib/associate_jsonb/arel_extensions/visitors/visitor.rb,
lib/associate_jsonb/arel_extensions/nodes/table_alias.rb,
lib/associate_jsonb/associations/has_many_association.rb,
lib/associate_jsonb/arel_nodes/jsonb/bindable_operator.rb,
lib/associate_jsonb/arel_nodes/jsonb/dash_double_arrow.rb,
lib/associate_jsonb/associations/preloader/association.rb,
lib/associate_jsonb/arel_extensions/visitors/postgresql.rb,
lib/associate_jsonb/associations/belongs_to_association.rb,
lib/associate_jsonb/connection_adapters/schema_creation.rb,
lib/associate_jsonb/associations/conflicting_association.rb,
lib/associate_jsonb/connection_adapters/schema_statements.rb,
lib/associate_jsonb/connection_adapters/schema_definitions/table.rb,
lib/associate_jsonb/connection_adapters/schema_definitions/alter_table.rb,
lib/associate_jsonb/connection_adapters/schema_definitions/table_definition.rb,
lib/associate_jsonb/connection_adapters/schema_definitions/reference_definition.rb,
lib/associate_jsonb/connection_adapters/schema_definitions/constraint_definition.rb,
lib/associate_jsonb/connection_adapters/schema_definitions/add_jsonb_nested_set_function.rb,
lib/associate_jsonb/connection_adapters/schema_definitions/add_jsonb_foreign_key_function.rb
Overview
encoding: utf-8 frozen_string_literal: true
Defined Under Namespace
Modules: ArelExtensions, ArelNodes, Associations, AttributeMethods, ConnectionAdapters, Persistence, PredicateBuilder, Reflection, Relation, WithStoreAttribute
Constant Summary
collapse
- VERSION =
"0.0.8"
- SUPPORTED_RAILS_VERSION =
"6.0.3.2"
Class Method Summary
collapse
Class Method Details
.add_hash_type(*classes) ⇒ Object
40
41
42
|
# File 'lib/associate_jsonb.rb', line 40
def self.add_hash_type(*classes)
self.jsonb_hash_types |= classes.flatten
end
|
.disable_jsonb_set(klass = nil, *classes) ⇒ Object
35
36
37
38
|
# File 'lib/associate_jsonb.rb', line 35
def self.disable_jsonb_set(klass = nil, *classes)
remove_hash_type(*Array(klass), *classes) unless klass.nil?
self.jsonb_set_enabled = false
end
|
.enable_jsonb_set(klass = nil, *classes) ⇒ Object
30
31
32
33
|
# File 'lib/associate_jsonb.rb', line 30
def self.enable_jsonb_set(klass = nil, *classes)
add_hash_type(*Array(klass), *classes) unless klass.nil?
self.jsonb_set_enabled = true
end
|
.is_hash?(v) ⇒ Boolean
53
54
55
|
# File 'lib/associate_jsonb.rb', line 53
def self.is_hash?(v)
self.jsonb_hash_types.any? { |type| v.is_a?(type) }
end
|
.merge_hash?(v) ⇒ Boolean
48
49
50
51
|
# File 'lib/associate_jsonb.rb', line 48
def self.merge_hash?(v)
return false unless jsonb_set_enabled && v
self.jsonb_hash_types.any? { |type| v.is_a?(type) }
end
|
.remove_hash_type(*classes) ⇒ Object
44
45
46
|
# File 'lib/associate_jsonb.rb', line 44
def self.remove_hash_type(*classes)
self.jsonb_set_removed |= classes.flatten
end
|