Sha256: 952b8f8b84ed460c76e877e9c370d157b6eca1a857ebc71c298bfcd4df1e600c

Contents?: true

Size: 459 Bytes

Versions: 15

Compression:

Stored size: 459 Bytes

Contents

class BazaModels::Validators::BaseValidator
  attr_reader :attribute_name, :args

  def initialize(attribute_name, args)
    @attribute_name = attribute_name
    @args = args
  end

  def fire?(model)
    result = true

    if @args[:if]
      if @args.fetch(:if).is_a?(Symbol)
        result = model.__send__(@args.fetch(:if))
      else
        raise "Unknown 'if'-argument: #{@args[:if]} (#{@args[:if].class.name})"
      end
    end

    result
  end
end

Version data entries

15 entries across 15 versions & 1 rubygems

Version Path
baza_models-0.0.15 lib/baza_models/validators/base_validator.rb
baza_models-0.0.14 lib/baza_models/validators/base_validator.rb
baza_models-0.0.13 lib/baza_models/validators/base_validator.rb
baza_models-0.0.12 lib/baza_models/validators/base_validator.rb
baza_models-0.0.11 lib/baza_models/validators/base_validator.rb
baza_models-0.0.10 lib/baza_models/validators/base_validator.rb
baza_models-0.0.9 lib/baza_models/validators/base_validator.rb
baza_models-0.0.8 lib/baza_models/validators/base_validator.rb
baza_models-0.0.7 lib/baza_models/validators/base_validator.rb
baza_models-0.0.6 lib/baza_models/validators/base_validator.rb
baza_models-0.0.5 lib/baza_models/validators/base_validator.rb
baza_models-0.0.4 lib/baza_models/validators/base_validator.rb
baza_models-0.0.3 lib/baza_models/validators/base_validator.rb
baza_models-0.0.2 lib/baza_models/validators/base_validator.rb
baza_models-0.0.1 lib/baza_models/validators/base_validator.rb