Class: AssociateJsonb::ConnectionAdapters::ConstraintDefinition

Inherits:
Object
  • Object
show all
Defined in:
lib/associate_jsonb/connection_adapters/schema_definitions/constraint_definition.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(value:, name: nil, not_valid: false, force: false, deferrable: true) ⇒ ConstraintDefinition

Returns a new instance of ConstraintDefinition.



9
10
11
12
13
14
15
16
17
18
19
20
21
# File 'lib/associate_jsonb/connection_adapters/schema_definitions/constraint_definition.rb', line 9

def initialize(value:, name: nil, not_valid: false, force: false, deferrable: true, **)
  @name = name.presence
  @value = value
  @not_valid = not_valid
  @deferrable = deferrable
  @force = force

  @name ||=
    "rails_constraint_" \
    "#{@value.hash}" \
    "_#{not_valid ? "nv" : "v"}" \
    "_#{deferrable ? "d" : "nd"}"
end

Instance Attribute Details

#deferrableObject (readonly)

rubocop:disable Metrics/ParameterLists



8
9
10
# File 'lib/associate_jsonb/connection_adapters/schema_definitions/constraint_definition.rb', line 8

def deferrable
  @deferrable
end

#forceObject (readonly)

rubocop:disable Metrics/ParameterLists



8
9
10
# File 'lib/associate_jsonb/connection_adapters/schema_definitions/constraint_definition.rb', line 8

def force
  @force
end

#nameObject (readonly)

rubocop:disable Metrics/ParameterLists



8
9
10
# File 'lib/associate_jsonb/connection_adapters/schema_definitions/constraint_definition.rb', line 8

def name
  @name
end

#not_validObject (readonly)

rubocop:disable Metrics/ParameterLists



8
9
10
# File 'lib/associate_jsonb/connection_adapters/schema_definitions/constraint_definition.rb', line 8

def not_valid
  @not_valid
end

#valueObject (readonly)

rubocop:disable Metrics/ParameterLists



8
9
10
# File 'lib/associate_jsonb/connection_adapters/schema_definitions/constraint_definition.rb', line 8

def value
  @value
end

Instance Method Details

#deferrable?Boolean

Returns:

  • (Boolean)


40
41
42
# File 'lib/associate_jsonb/connection_adapters/schema_definitions/constraint_definition.rb', line 40

def deferrable?
  !!deferrable
end

#deferrable_default?Boolean

Returns:

  • (Boolean)


23
24
25
# File 'lib/associate_jsonb/connection_adapters/schema_definitions/constraint_definition.rb', line 23

def deferrable_default?
  deferrable.nil?
end

#force?Boolean

Returns:

  • (Boolean)


44
45
46
# File 'lib/associate_jsonb/connection_adapters/schema_definitions/constraint_definition.rb', line 44

def force?
  !!force
end

#name?Boolean

Returns:

  • (Boolean)


28
29
30
# File 'lib/associate_jsonb/connection_adapters/schema_definitions/constraint_definition.rb', line 28

def name?
  !!name
end

#not_valid?Boolean

Returns:

  • (Boolean)


36
37
38
# File 'lib/associate_jsonb/connection_adapters/schema_definitions/constraint_definition.rb', line 36

def not_valid?
  !!not_valid
end

#to_hObject Also known as: to_hash



48
49
50
51
52
53
54
55
56
# File 'lib/associate_jsonb/connection_adapters/schema_definitions/constraint_definition.rb', line 48

def to_h
  {
    name: name,
    value: value,
    not_valid: not_valid,
    deferrable: deferrable,
    force: force
  }
end

#value?Boolean

Returns:

  • (Boolean)


32
33
34
# File 'lib/associate_jsonb/connection_adapters/schema_definitions/constraint_definition.rb', line 32

def value?
  !!value
end