Sha256: 4eb02df09e3473ed52e34f492e89d9f44a488be58be6f441ae97e675e637a589

Contents?: true

Size: 450 Bytes

Versions: 6

Compression:

Stored size: 450 Bytes

Contents

module Ucasy::Validators
  class RequiredAttributes < Ucasy::Callable
    def initialize(context, required_attributes, klass)
      @context = context
      @required_attributes = required_attributes
      @klass = klass
    end

    def call
      @required_attributes.each do |attribute|
        next if @context.respond_to?(attribute)

        raise ArgumentError, "You must set '#{attribute}' variable in '#{@klass}'"
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
ucasy-0.3.0 lib/ucasy/validators/required_attributes.rb
ucasy-0.2.1 lib/ucasy/validators/required_attributes.rb
ucasy-0.2.0 lib/ucasy/validators/required_attributes.rb
ucasy-0.1.0 lib/ucasy/validators/required_attributes.rb
ucasy-0.0.7 lib/ucasy/validators/required_attributes.rb
ucasy-0.0.6 lib/ucasy/validators/required_attributes.rb