Class: Gakubuchi::EngineRegistrar

Inherits:
Object
  • Object
show all
Defined in:
lib/gakubuchi/engine_registrar.rb

Instance Method Summary collapse

Constructor Details

#initialize(env) ⇒ EngineRegistrar

Returns a new instance of EngineRegistrar.



3
4
5
# File 'lib/gakubuchi/engine_registrar.rb', line 3

def initialize(env)
  @env = env
end

Instance Method Details

#register(target, engine) ⇒ Object



7
8
9
10
11
12
13
14
15
16
# File 'lib/gakubuchi/engine_registrar.rb', line 7

def register(target, engine)
  klass = constantize(engine)
  return false if !klass.instance_of?(::Class) || registered?(target)

  args = [target, klass]
  args << { silence_deprecation: true } if Sprockets::VERSION.start_with?("3")

  @env.register_engine(*args)
  true
end

#registered?(target) ⇒ Boolean

Returns:

  • (Boolean)


18
19
20
# File 'lib/gakubuchi/engine_registrar.rb', line 18

def registered?(target)
  @env.engines.key?(::Sprockets::Utils.normalize_extension(target))
end