Sha256: 19a4fa16493d3bd3acede3f4eee872be9e32829061c77c365aa697ea09820ecf

Contents?: true

Size: 1.06 KB

Versions: 13

Compression:

Stored size: 1.06 KB

Contents

# frozen_string_literal: true

class Serega
  module SeregaValidations
    #
    # Validations of serialization options
    #
    class CheckSerializeParams
      #
      # Validations of serialization options instance methods
      #
      module InstanceMethods
        attr_reader :opts

        #
        # Initializes validator for serialization options
        #
        # @param opts [Hash] serialization options
        #
        # @return [void]
        #
        def initialize(opts)
          @opts = opts
        end

        #
        # Validates serialization options
        #
        def validate
          check_opts
        end

        private

        def check_opts
          Utils::CheckAllowedKeys.call(opts, serializer_class.config.serialize_keys)

          Utils::CheckOptIsHash.call(opts, :context)
          Utils::CheckOptIsBool.call(opts, :many)
        end

        def serializer_class
          self.class.serializer_class
        end
      end

      include InstanceMethods
      extend Serega::SeregaHelpers::SerializerClassHelper
    end
  end
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
serega-0.15.0 lib/serega/validations/check_serialize_params.rb
serega-0.14.0 lib/serega/validations/check_serialize_params.rb
serega-0.12.0 lib/serega/validations/check_serialize_params.rb
serega-0.11.2 lib/serega/validations/check_serialize_params.rb
serega-0.11.1 lib/serega/validations/check_serialize_params.rb
serega-0.11.0 lib/serega/validations/check_serialize_params.rb
serega-0.10.0 lib/serega/validations/check_serialize_params.rb
serega-0.9.0 lib/serega/validations/check_serialize_params.rb
serega-0.8.3 lib/serega/validations/check_serialize_params.rb
serega-0.8.2 lib/serega/validations/check_serialize_params.rb
serega-0.8.1 lib/serega/validations/check_serialize_params.rb
serega-0.8.0 lib/serega/validations/check_serialize_params.rb
serega-0.7.0 lib/serega/validations/check_serialize_params.rb