class JsonApiClient::Schema::TypeFactory

Public Class Methods

register(type_hash) click to toggle source

Register a new type key or keys with appropriate classes

eg:

require 'money'

class MyMoneyCaster
   def self.cast(value, default)
      begin
        Money.new(value, "USD")
      rescue ArgumentError
        default
      end
   end
end

JsonApiClient::Schema::TypeFactory.register money: MyMoneyCaster

You can setup several at once:

JsonApiClient::Schema::TypeFactory.register money: MyMoneyCaster,
                                      date: MyJsonDateTypeCaster
# File lib/json_api_client/schema.rb, line 80
def self.register(type_hash)
  @@types.merge!(type_hash)
end
type_for(type) click to toggle source
# File lib/json_api_client/schema.rb, line 84
def self.type_for(type)
  @@types[type]
end