class NullAssociations::Options

Constants

ConfigError
OptionalError
RequiredError

Public Class Methods

new(**options) click to toggle source
Calls superclass method
# File lib/null_associations.rb, line 28
def initialize(**options)
  super
  validate!
end

Public Instance Methods

validate!() click to toggle source
# File lib/null_associations.rb, line 33
def validate!
  raise RequiredError if optional_with_null_object?
  raise OptionalError if required_with_null_object?
end

Private Instance Methods

config_with_null_object?() click to toggle source
# File lib/null_associations.rb, line 40
def config_with_null_object?
  null_object && Rails.application.config.active_record.belongs_to_required_by_default
end
optional_with_null_object?() click to toggle source
# File lib/null_associations.rb, line 48
def optional_with_null_object?
  null_object && optional == false
end
required_with_null_object?() click to toggle source
# File lib/null_associations.rb, line 44
def required_with_null_object?
  null_object && required == true
end