Class: Graphite::TargetGrammer::Target
- Inherits:
-
SyntaxNode
- Object
- Treetop::Runtime::SyntaxNode
- SyntaxNode
- Graphite::TargetGrammer::Target
- Defined in:
- lib/graphite/target_grammer.rb
Instance Method Summary collapse
- #alias ⇒ Object
- #color ⇒ Object
- #comment? ⇒ Boolean
- #expression? ⇒ Boolean
- #expressions ⇒ Object
- #functions ⇒ Object
- #metric ⇒ Object
- #path? ⇒ Boolean
- #to_model ⇒ Object
- #unknown? ⇒ Boolean
Methods inherited from SyntaxNode
Instance Method Details
#alias ⇒ Object
35 36 37 38 39 40 41 42 43 44 45 46 |
# File 'lib/graphite/target_grammer.rb', line 35 def alias unless @alias e = self.expressions.detect {|e| e.identifier.try(:text) == "alias" } if e && e.args && e.args.elements alias_val = e.args.elements.last.detect { |e| e.kind_of?(Graphite::TargetGrammer::StringLiteral) } unless alias_val.nil? @alias = alias_val.text end end end @alias end |
#color ⇒ Object
23 24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/graphite/target_grammer.rb', line 23 def color unless @color e = self.expressions.detect {|e| e.identifier.try(:text) == "color" } if e && e.args && e.args.elements color_val = e.args.elements.last.detect { |e| e.kind_of?(Graphite::TargetGrammer::StringLiteral) } unless color_val.nil? @color = color_val.text end end end @color end |
#comment? ⇒ Boolean
17 18 19 |
# File 'lib/graphite/target_grammer.rb', line 17 def comment? elements[0].kind_of?(Graphite::TargetGrammer::Comment) end |
#expression? ⇒ Boolean
14 15 16 |
# File 'lib/graphite/target_grammer.rb', line 14 def expression? elements[0].kind_of?(Graphite::TargetGrammer::Expression) end |
#expressions ⇒ Object
66 67 68 69 70 71 |
# File 'lib/graphite/target_grammer.rb', line 66 def expressions unless @expressions @expressions = self.find_all { |e| e.kind_of?(Graphite::TargetGrammer::Expression) } end @expressions end |
#functions ⇒ Object
60 61 62 63 64 65 |
# File 'lib/graphite/target_grammer.rb', line 60 def functions unless @functions @functions = self.expressions.map { |e| e.identifier.text } end @functions end |
#metric ⇒ Object
47 48 49 50 51 52 53 54 55 56 57 58 59 |
# File 'lib/graphite/target_grammer.rb', line 47 def metric unless @metric @metric = if path? self.elements[0].text else path = self.detect { |e| e.kind_of?(Graphite::TargetGrammer::Path) } unless path.nil? path.text end end end @metric end |
#path? ⇒ Boolean
11 12 13 |
# File 'lib/graphite/target_grammer.rb', line 11 def path? elements[0].kind_of?(Graphite::TargetGrammer::Path) end |
#to_model ⇒ Object
72 73 74 75 76 77 78 79 |
# File 'lib/graphite/target_grammer.rb', line 72 def to_model Graphite::Target.new do |model| model.alias = self.alias model.color = self.color model.metric = self.metric model.functions = self.functions end end |
#unknown? ⇒ Boolean
20 21 22 |
# File 'lib/graphite/target_grammer.rb', line 20 def unknown? !path? && !expression? end |