Class: JsTextRails::TextSprockets

Inherits:
Object
  • Object
show all
Defined in:
lib/js-text-rails/text_sprockets.rb

Overview

Register transformer in Sprockets.

Direct Known Subclasses

SvgSprockets

Class Method Summary collapse

Class Method Details

.call(input) ⇒ Object

Sprockets 3 and 4 API



9
10
11
12
13
# File 'lib/js-text-rails/text_sprockets.rb', line 9

def self.call(input)
  name = input[:name]
  data = input[:data]
  run(name, data)
end

.install(env) ⇒ Object



20
21
22
23
24
25
# File 'lib/js-text-rails/text_sprockets.rb', line 20

def self.install(env)
  # TODO: Is the original extension for the mime type also needed as an
  # extension?  (Does the array override the old one, or get merged?)
  env.register_mime_type(@mime_type, extensions: [".#{@extension}"])
  env.register_transformer(@mime_type, 'application/javascript', self)
end

.register_transformer(transformer) ⇒ Object



4
5
6
# File 'lib/js-text-rails/text_sprockets.rb', line 4

def self.register_transformer(transformer)
  @transformer = transformer
end

.run(key, data) ⇒ Object

Transform ‘data` into a JS object value at `key`.



16
17
18
# File 'lib/js-text-rails/text_sprockets.rb', line 16

def self.run(key, data)
  @transformer.transform(key, data)
end

.uninstall(env) ⇒ Object



27
28
29
30
31
32
# File 'lib/js-text-rails/text_sprockets.rb', line 27

def self.uninstall(env)
  # TODO: Is the original extension for the mime type also needed as an
  # extension?  (What would be the consequences of unregistering?)
  env.unregister_mime_type(@mime_type, extensions: [".#{@extension}"])
  env.unregister_transformer(@mime_type, 'application/javascript', self)
end