Class: Carnival::PresenterValidators::FieldValidator

Inherits:
Object
  • Object
show all
Defined in:
app/presenters/carnival/presenter_validators/field_validator.rb

Constant Summary collapse

EDIT_ACTIONS =
[:new, :edit]
SHOW_ACTIONS =
[:index, :show]

Instance Method Summary collapse

Constructor Details

#initialize(presenter) ⇒ FieldValidator

Returns a new instance of FieldValidator.



6
7
8
# File 'app/presenters/carnival/presenter_validators/field_validator.rb', line 6

def initialize(presenter)
  @presenter = presenter
end

Instance Method Details

#validatesObject



11
12
13
14
15
# File 'app/presenters/carnival/presenter_validators/field_validator.rb', line 11

def validates
  fields.each do |field|
    validates_one_to_one_associations(field)
  end
end

#validates_one_to_one_associations(field) ⇒ Object



17
18
19
20
21
22
23
# File 'app/presenters/carnival/presenter_validators/field_validator.rb', line 17

def validates_one_to_one_associations(field)
  if field.specified_association?
    check_field_invalid_actions(field, EDIT_ACTIONS)
  elsif @presenter.is_one_to_one_relation?(field)
    check_field_invalid_actions(field, SHOW_ACTIONS)
  end
end