module Spotify::TypeSafety

Spotify::TypeSafety checks all values coming in and makes sure they are of an instance of the correct {#type_class}.

Public Instance Methods

to_native(value, ctx) click to toggle source

Convert given value to native value, with type checking.

@note Calls super-implementation if type is safe.

@param value @param ctx @raise [TypeError] if value is not of the same kind as {#type_class}.

Calls superclass method
# File lib/spotify/data_converters/type_safety.rb, line 12
def to_native(value, ctx)
  if value.kind_of?(type_class)
    super
  else
    raise TypeError, "expected a kind of #{name}, was #{value.class}"
  end
end
type_class() click to toggle source

Retrieve the type that all objects going into to_native must be of.

@return self by default

# File lib/spotify/data_converters/type_safety.rb, line 23
def type_class
  self
end