Class: Skyrocket::DirectiveReader
- Inherits:
-
Object
- Object
- Skyrocket::DirectiveReader
- Defined in:
- lib/skyrocket/directive_reader.rb
Constant Summary collapse
- HEADER_PATTERN =
/ \A ( (?m:\s*) ( (\/\* (?m:.*?) \*\/) | (\#\#\# (?m:.*?) \#\#\#) | (\/\/ .* \n?)+ | (\# .* \n?)+ ) )+ /x
- DIRECTIVE_PATTERN =
/ ^ [\W]* = \s* (\w+.*?) (\*\/)? $ /x
Class Method Summary collapse
Class Method Details
.read_body(asset) ⇒ Object
18 19 20 |
# File 'lib/skyrocket/directive_reader.rb', line 18 def self.read_body(asset) split_parts(asset)[1] end |
.read_required(asset) ⇒ Object
22 23 24 |
# File 'lib/skyrocket/directive_reader.rb', line 22 def self.read_required(asset) split_parts(asset)[0] end |
.split_parts(asset) ⇒ Object
26 27 28 29 30 31 32 33 34 35 36 37 |
# File 'lib/skyrocket/directive_reader.rb', line 26 def self.split_parts(asset) raw = asset.raw headers = raw[HEADER_PATTERN, 0].to_s.lines || [""] body = $' || raw headers = headers.each.map do |line| if directive = line[DIRECTIVE_PATTERN, 1] name, arg = Shellwords.shellwords(directive) arg if name == 'require' end end.compact [headers, body] end |