Class: Integrations::BaseDeserializer

Inherits:
Object
  • Object
show all
Defined in:
app/deserializers/integrations/base_deserializer.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(uri:) ⇒ BaseDeserializer

Returns a new instance of BaseDeserializer.



5
6
7
# File 'app/deserializers/integrations/base_deserializer.rb', line 5

def initialize(uri:)
  @uri = canonicalize(uri)
end

Instance Attribute Details

#uri ⇒ Object (readonly)

Returns the value of attribute uri.



3
4
5
# File 'app/deserializers/integrations/base_deserializer.rb', line 3

def uri
  @uri
end

Instance Method Details

#capabilities ⇒ Object

Raises:

  • (NotImplementedError)


17
18
19
# File 'app/deserializers/integrations/base_deserializer.rb', line 17

def capabilities
  raise NotImplementedError
end

#deserialize ⇒ Object

Raises:

  • (NotImplementedError)


13
14
15
# File 'app/deserializers/integrations/base_deserializer.rb', line 13

def deserialize
  raise NotImplementedError
end

#valid?(for_class: nil) ⇒ Boolean

Returns:

  • (Boolean)


9
10
11
# File 'app/deserializers/integrations/base_deserializer.rb', line 9

def valid?(for_class: nil)
  api_configured? && @uri.present? && (for_class ? for_class == capabilities[:class] : true)
end