Class: Rabl::JsonEngine

Inherits:
Object
  • Object
show all
Includes:
Singleton
Defined in:
lib/rabl/json_engine.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeJsonEngine

Returns a new instance of JsonEngine.



17
18
19
# File 'lib/rabl/json_engine.rb', line 17

def initialize
  @current_engine = MultiJson.respond_to?(:adapter) ? MultiJson.adapter : MultiJson.engine
end

Instance Attribute Details

#current_engineObject (readonly)

Returns the value of attribute current_engine.



15
16
17
# File 'lib/rabl/json_engine.rb', line 15

def current_engine
  @current_engine
end

Instance Method Details

#set(engine_name_or_class) ⇒ Object



21
22
23
24
25
26
27
28
29
30
31
# File 'lib/rabl/json_engine.rb', line 21

def set(engine_name_or_class)
  @current_engine = begin
    MultiJson.respond_to?(:use) ?
      MultiJson.use(engine_name_or_class) :
      MultiJson.engine = engine_name_or_class
  rescue RuntimeError => e #
    # Re-raise if engine_name_or_class is invalid
    raise e unless engine_name_or_class.respond_to?(:encode)
    engine_name_or_class
  end
end