Module: TsonRails::RailsIntegration

Defined in:
lib/tson_rails/rails_integration.rb

Class Method Summary collapse

Class Method Details

.install!Object



5
6
7
8
# File 'lib/tson_rails/rails_integration.rb', line 5

def self.install!
  register_mime_type
  register_renderer
end

.register_mime_typeObject



10
11
12
13
14
# File 'lib/tson_rails/rails_integration.rb', line 10

def self.register_mime_type
  return if Mime::Type.lookup_by_extension(:tson)

  Mime::Type.register(TsonRails::MIME_TYPE, :tson, [], [:tn1])
end

.register_rendererObject



16
17
18
19
20
21
22
23
# File 'lib/tson_rails/rails_integration.rb', line 16

def self.register_renderer
  return if ActionController::Renderers::RENDERERS.include?(:tson)

  ActionController::Renderers.add :tson do |object, options|
    self.content_type = Mime[:tson] if media_type.nil?
    TsonRails.encode(object, options)
  end
end