Class: Opal::BuilderProcessors::Processor
- Inherits:
-
Object
- Object
- Opal::BuilderProcessors::Processor
- Defined in:
- opal/lib/opal/builder_processors.rb
Direct Known Subclasses
Class Attribute Summary collapse
-
.extensions ⇒ Object
readonly
Returns the value of attribute extensions.
Instance Attribute Summary collapse
-
#filename ⇒ Object
readonly
Returns the value of attribute filename.
-
#options ⇒ Object
readonly
Returns the value of attribute options.
-
#required_trees ⇒ Object
readonly
Returns the value of attribute required_trees.
-
#requires ⇒ Object
readonly
Returns the value of attribute requires.
-
#source ⇒ Object
readonly
Returns the value of attribute source.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(source, filename, options = {}) ⇒ Processor
constructor
A new instance of Processor.
- #mark_as_required(filename) ⇒ Object
- #to_s ⇒ Object
Constructor Details
#initialize(source, filename, options = {}) ⇒ Processor
Returns a new instance of Processor.
9 10 11 12 13 14 |
# File 'opal/lib/opal/builder_processors.rb', line 9 def initialize(source, filename, = {}) source += "\n" unless source.end_with?("\n") @source, @filename, @options = source, filename, @requires = [] @required_trees = [] end |
Class Attribute Details
.extensions ⇒ Object (readonly)
Returns the value of attribute extensions.
22 23 24 |
# File 'opal/lib/opal/builder_processors.rb', line 22 def extensions @extensions end |
Instance Attribute Details
#filename ⇒ Object (readonly)
Returns the value of attribute filename.
15 16 17 |
# File 'opal/lib/opal/builder_processors.rb', line 15 def filename @filename end |
#options ⇒ Object (readonly)
Returns the value of attribute options.
15 16 17 |
# File 'opal/lib/opal/builder_processors.rb', line 15 def @options end |
#required_trees ⇒ Object (readonly)
Returns the value of attribute required_trees.
15 16 17 |
# File 'opal/lib/opal/builder_processors.rb', line 15 def required_trees @required_trees end |
#requires ⇒ Object (readonly)
Returns the value of attribute requires.
15 16 17 |
# File 'opal/lib/opal/builder_processors.rb', line 15 def requires @requires end |
#source ⇒ Object (readonly)
Returns the value of attribute source.
15 16 17 |
# File 'opal/lib/opal/builder_processors.rb', line 15 def source @source end |
Class Method Details
.handles(*extensions) ⇒ Object
24 25 26 27 28 29 30 31 32 |
# File 'opal/lib/opal/builder_processors.rb', line 24 def handles(*extensions) @extensions = extensions matches = extensions.join('|') matches = "(#{matches})" unless extensions.size == 1 @match_regexp = Regexp.new "\\.#{matches}#{REGEXP_END}" ::Opal::Builder.register_processor(self, extensions) nil end |
.match?(other) ⇒ Boolean
34 35 36 |
# File 'opal/lib/opal/builder_processors.rb', line 34 def match?(other) other.is_a?(String) && other.match(match_regexp) end |
.match_regexp ⇒ Object
38 39 40 |
# File 'opal/lib/opal/builder_processors.rb', line 38 def match_regexp @match_regexp || raise(NotImplementedError) end |
Instance Method Details
#mark_as_required(filename) ⇒ Object
43 44 45 |
# File 'opal/lib/opal/builder_processors.rb', line 43 def mark_as_required(filename) "Opal.loaded([#{filename.to_s.inspect}]);" end |
#to_s ⇒ Object
17 18 19 |
# File 'opal/lib/opal/builder_processors.rb', line 17 def to_s source.to_s end |