Class: JsonRpcObjects::Generic::Object Abstract

Inherits:
Object
  • Object
show all
Defined in:
lib/json-rpc-objects/generic/object.rb

Overview

This class is abstract.

Generic JSON-RPC Object.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(data, serializer = JsonRpcObjects::default_serializer) ⇒ Object

Constructor.

Parameters:

  • data (Hash)

    for initializing the object

  • serializer (JsonRpcObjects::Serializer) (defaults to: JsonRpcObjects::default_serializer)

    instance of serializer class



101
102
103
104
105
# File 'lib/json-rpc-objects/generic/object.rb', line 101

def initialize(data, serializer = JsonRpcObjects::default_serializer)
    @serializer = serializer
    self.data = data
    self.check!
end

Instance Attribute Details

#serializerObject

Holds assigned serializer.

Since:

  • 0.4.0



32
33
34
# File 'lib/json-rpc-objects/generic/object.rb', line 32

def serializer
  @serializer
end

Class Method Details

.create(*args) ⇒ JsonRpcObjects::Generic::Object

This method is abstract.

Creates new one.

Parameters:

  • args (Array)

    some arguments

Returns:



43
44
45
# File 'lib/json-rpc-objects/generic/object.rb', line 43

def self.create(*args)
    not_implemented
end

.parse(string, serializer = JsonRpcObjects::default_serializer) ⇒ Generic::Object

Parses serialized string.

Parameters:

  • object (Object)

    with the serialized data

  • serializer (JsonRpcObjects::Serializer) (defaults to: JsonRpcObjects::default_serializer)

    instance of serializer class

Returns:



65
66
67
# File 'lib/json-rpc-objects/generic/object.rb', line 65

def self.parse(string, serializer = JsonRpcObjects::default_serializer)
    self::new(serializer.deserialize(string), serializer) 
end

.versionJsonRpcObjects::Version

Returns the version object.

Returns:



52
53
54
# File 'lib/json-rpc-objects/generic/object.rb', line 52

def self.version
    JsonRpcObjects::Version::get(self::VERSION)
end

Instance Method Details

#check!Object

Checks correctness of the request data.



111
112
113
# File 'lib/json-rpc-objects/generic/object.rb', line 111

def check!
    true
end

#outputObject

This method is abstract.

Renders data to output form.

Returns:

  • (Object)

    with data of object



122
123
124
# File 'lib/json-rpc-objects/generic/object.rb', line 122

def output
    not_implemented
end

#serializeObject

Serializes the object by the serializer.

Returns:

Since:

  • 0.4.0



89
90
91
# File 'lib/json-rpc-objects/generic/object.rb', line 89

def serialize
    @serializer.serialize(self.output)
end

#to_jsonString

Deprecated.

Since 0.4.0, replaced by #serialize.

Converts object to JSON. It’s deprecated and ineffective now. Use the #serialize method.

Returns:

  • (String)

See Also:



78
79
80
# File 'lib/json-rpc-objects/generic/object.rb', line 78

def to_json
    JsonRpcObjects::Serializer::JSON::new.serialize(self.output)
end