Class: HttpApiTools::Model::Transformers::Registry

Inherits:
Object
  • Object
show all
Includes:
Singleton
Defined in:
lib/http_api_tools/model/transformers/registry.rb

Instance Method Summary collapse

Instance Method Details

#from_raw(type, value) ⇒ Object



11
12
13
14
15
16
17
# File 'lib/http_api_tools/model/transformers/registry.rb', line 11

def from_raw(type, value)
  if transformer = get(type)
    transformer.from_raw(value)
  else
    value
  end
end

#get(type) ⇒ Object



27
28
29
# File 'lib/http_api_tools/model/transformers/registry.rb', line 27

def get(type)
  registry[type.to_sym]
end

#register(type, transformer) ⇒ Object



31
32
33
34
35
36
37
# File 'lib/http_api_tools/model/transformers/registry.rb', line 31

def register(type, transformer)
  if existing_transformer = get(type)
    raise "'#{type}' has already been registered as #{existing_transformer.name}"
  else
    registry[type.to_sym] = transformer
  end
end

#to_raw(type, value) ⇒ Object



19
20
21
22
23
24
25
# File 'lib/http_api_tools/model/transformers/registry.rb', line 19

def to_raw(type, value)
  if transformer = get(type)
    transformer.to_raw(value)
  else
    value
  end
end