Class: WebpackRails::RequireDirectiveProcessor
- Inherits:
-
Tilt::Template
- Object
- Tilt::Template
- WebpackRails::RequireDirectiveProcessor
- Defined in:
- lib/webpack_rails/require_directive_processor.rb
Constant Summary collapse
- DIRECTIVE_PATTERN =
/^.*?=\s*webpack_require\s+(.*?)\s*$/
Class Method Summary collapse
Instance Method Summary collapse
- #config ⇒ Object
- #dev_server_base_url ⇒ Object
- #evaluate(context, locals) ⇒ Object
- #prepare ⇒ Object
- #process_require(context, locals, bundle_filename) ⇒ Object
Class Method Details
.config ⇒ Object
17 18 19 |
# File 'lib/webpack_rails/require_directive_processor.rb', line 17 def self.config @config end |
.config=(new_config) ⇒ Object
13 14 15 |
# File 'lib/webpack_rails/require_directive_processor.rb', line 13 def self.config=(new_config) @config = new_config end |
.configure(webpack_task_config) ⇒ Object
7 8 9 10 11 |
# File 'lib/webpack_rails/require_directive_processor.rb', line 7 def self.configure(webpack_task_config) Class.new(RequireDirectiveProcessor) do self.config = webpack_task_config end end |
Instance Method Details
#config ⇒ Object
24 25 26 |
# File 'lib/webpack_rails/require_directive_processor.rb', line 24 def config self.class.config end |
#dev_server_base_url ⇒ Object
28 29 30 |
# File 'lib/webpack_rails/require_directive_processor.rb', line 28 def dev_server_base_url "#{config[:protocol]}://#{config[:host]}:#{config[:port]}" end |
#evaluate(context, locals) ⇒ Object
45 46 47 48 49 |
# File 'lib/webpack_rails/require_directive_processor.rb', line 45 def evaluate(context, locals) data.gsub(DIRECTIVE_PATTERN) do |match_text| process_require(context, locals, $1) end end |
#prepare ⇒ Object
21 22 |
# File 'lib/webpack_rails/require_directive_processor.rb', line 21 def prepare end |
#process_require(context, locals, bundle_filename) ⇒ Object
32 33 34 35 36 37 38 39 40 41 42 43 |
# File 'lib/webpack_rails/require_directive_processor.rb', line 32 def process_require(context, locals, bundle_filename) if config[:dev_server] if bundle_filename.end_with? '.js' return %{document.write('<script src="#{dev_server_base_url}/#{bundle_filename}?reload=#{config[:dev_server_reload]}"></script>');} end return '' end # will be handled by normal sprockets require context.require_asset(bundle_filename) return '' end |