Class: Garage::HypermediaResponder::DataRenderer

Inherits:
Object
  • Object
show all
Defined in:
lib/garage/hypermedia_responder.rb

Constant Summary collapse

JSON_ESCAPE_TABLE =
{ "<" => '\u003C', ">" => '\u003E' }.freeze

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(data, options = {}) ⇒ DataRenderer

Returns a new instance of DataRenderer.



91
92
93
# File 'lib/garage/hypermedia_responder.rb', line 91

def initialize(data, options = {})
  @data, @options = data, options
end

Instance Attribute Details

#dataObject (readonly)

Returns the value of attribute data.



89
90
91
# File 'lib/garage/hypermedia_responder.rb', line 89

def data
  @data
end

#optionsObject (readonly)

Returns the value of attribute options.



89
90
91
# File 'lib/garage/hypermedia_responder.rb', line 89

def options
  @options
end

Class Method Details

.render(*args) ⇒ Object



85
86
87
# File 'lib/garage/hypermedia_responder.rb', line 85

def self.render(*args)
  new(*args).render
end

Instance Method Details

#renderObject



95
96
97
# File 'lib/garage/hypermedia_responder.rb', line 95

def render
  Oj.dump(converted_data, mode: :compat, use_as_json: true).gsub(/([<>])/, JSON_ESCAPE_TABLE)
end