Class: HtmlConditionalComment::Visitors::Visitor
- Inherits:
-
Object
- Object
- HtmlConditionalComment::Visitors::Visitor
- Defined in:
- lib/html-conditional-comment/visitor.rb
Instance Method Summary collapse
-
#initialize(features, version) ⇒ Visitor
constructor
A new instance of Visitor.
-
#method_missing(method, *args) ⇒ Object
Provide method missing for better interpretation.
- #visit(subject) ⇒ Object
Constructor Details
#initialize(features, version) ⇒ Visitor
Returns a new instance of Visitor.
10 11 12 13 14 15 16 17 18 19 |
# File 'lib/html-conditional-comment/visitor.rb', line 10 def initialize(features, version) @features = features @features = [@features] unless @features.is_a?(Enumerable) @version = if version.is_a?(VersionVector) version else VersionVector.new(version) end end |
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
#method_missing(method, *args) ⇒ Object
Provide method missing for better interpretation
28 29 30 31 32 33 34 |
# File 'lib/html-conditional-comment/visitor.rb', line 28 def method_missing(method, *args) if method.to_s() =~ /^visit\_(.+)/ raise VisitError.new($1) else super(method, args) end end |
Instance Method Details
#visit(subject) ⇒ Object
22 23 24 25 |
# File 'lib/html-conditional-comment/visitor.rb', line 22 def visit(subject) method_name = :"visit_#{(subject.class.name || '').gsub('::', '_')}" __send__(method_name, subject) end |