class Rosetta::Deserializers::Base

Attributes

input[R]

Public Class Methods

call(input) click to toggle source
# File lib/rosetta/deserializers/base.rb, line 18
def call(input)
  new(input).call
rescue StandardError
  raise DeserializationError
end
Also aliased as: deserialize
deserialize(input)
Alias for: call
inherited(new_serializer) click to toggle source
# File lib/rosetta/deserializers/base.rb, line 12
def inherited(new_serializer)
  key = new_serializer.name.match(/^(.*?)(Deserializer)?$/)[1]
  key = key.split("::").last
  Deserializers.register(key.underscore.to_sym, new_serializer)
end
new(input) click to toggle source
# File lib/rosetta/deserializers/base.rb, line 30
def initialize(input)
  @input = input.dup.freeze
end
to_proc() click to toggle source
# File lib/rosetta/deserializers/base.rb, line 25
def to_proc
  proc { |*args, &block| self.call(*args, &block) }
end

Public Instance Methods

call() click to toggle source
# File lib/rosetta/deserializers/base.rb, line 34
def call
  raise NotImplementedError
end
Also aliased as: deserialize
deserialize()
Alias for: call
to_proc() click to toggle source
# File lib/rosetta/deserializers/base.rb, line 39
def to_proc
  proc { |*args, &block| self.call(*args, &block) }
end