def cast(hash, options = {})
      check_attributes_defined!
      check_hash_given!(hash)
      check_options!(options)
      set_default_options(options)

      attributes_caster = HCast::AttributesCaster.new(class_variable_get(:@@attributes), options)
      attributes_caster.cast(hash)
    end
def cast(hash, options = {})
      check_attributes_defined!
      check_hash_given!(hash)
      check_options!(options)
      set_default_options(options)

      attributes_caster = HCast::AttributesCaster.new(class_variable_get(:@@attributes), options)
      attributes_caster.cast(hash)
    end
Performs casting
 @param hash [Hash] hash for casting
 @param options [Hash] options, input_keys: :string, output_key: :symbol