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.



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

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

Instance Attribute Details

#dataObject (readonly)

Returns the value of attribute data.



87
88
89
# File 'lib/garage/hypermedia_responder.rb', line 87

def data
  @data
end

#optionsObject (readonly)

Returns the value of attribute options.



87
88
89
# File 'lib/garage/hypermedia_responder.rb', line 87

def options
  @options
end

Class Method Details

.render(*args) ⇒ Object



83
84
85
# File 'lib/garage/hypermedia_responder.rb', line 83

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

Instance Method Details

#renderObject



93
94
95
# File 'lib/garage/hypermedia_responder.rb', line 93

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