Module: Tzispa::Helpers::Requirer::ClassMethods

Defined in:
lib/tzispa/helpers/requirer.rb

Instance Method Summary collapse

Instance Method Details

#required(target, value, &block) ⇒ Object



21
22
23
24
25
26
# File 'lib/tzispa/helpers/requirer.rb', line 21

def required(target, value, &block)
  @required ||= {}
  (@required[target] ||= {}).tap do |reqt|
    reqt[value] = block || true
  end
end

#required?(target, value) ⇒ Boolean

Returns:

  • (Boolean)


28
29
30
# File 'lib/tzispa/helpers/requirer.rb', line 28

def required?(target, value)
  @required&.fetch(target, nil)&.fetch(value, nil)
end

#required_valid?(target, value, obj) ⇒ Boolean

Returns:

  • (Boolean)


32
33
34
35
36
37
38
# File 'lib/tzispa/helpers/requirer.rb', line 32

def required_valid?(target, value, obj)
  if (rq = required?(target, value)) && rq.respond_to?(:call)
    obj.instance_eval(&rq)
  else
    rq
  end
end