Class: Languages::Ruby::VariableGlobalRuby
- Inherits:
-
VariableGlobal
- Object
- VariableGlobal
- Languages::Ruby::VariableGlobalRuby
- Defined in:
- lib/kuniri/language/ruby/variable_global_ruby.rb
Overview
VariableGlobalRuby Handling extern requirements.
Instance Method Summary collapse
-
#detect_variable(pLine) ⇒ Object
protected
Override.
-
#get_variable(pLine) ⇒ Object
Get Ruby variable.
-
#handle_line_declaration(pString) ⇒ Object
protected
Override.
-
#handle_multiple_declaration_with_comma(pString) ⇒ Object
protected
Override.
-
#handle_multiple_declaration_with_equal(pString) ⇒ Object
protected
Override.
-
#prepare_final_string(pString) ⇒ Object
protected
Override.
-
#remove_unnecessary_information(pLine) ⇒ Object
protected
Override.
Instance Method Details
#detect_variable(pLine) ⇒ Object (protected)
Override
36 37 38 39 40 41 42 43 44 45 46 47 48 |
# File 'lib/kuniri/language/ruby/variable_global_ruby.rb', line 36 def detect_variable(pLine) # Check basic case of non variable. Ex.: value x pLine.gsub!(/^\s*/, "") pLine.gsub!(/\s*$/, "") return nil if pLine =~ /end/ return nil if pLine =~ /^def\s+/ return nil if pLine =~ /=begin/ return pLine if pLine.split(",").size > 1 return pLine if pLine.split("=").size > 1 return nil if pLine.split(" ").size > 1 return pLine end |
#get_variable(pLine) ⇒ Object
Get Ruby variable.
15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
# File 'lib/kuniri/language/ruby/variable_global_ruby.rb', line 15 def get_variable(pLine) result = detect_variable(pLine) return nil unless result listOfVariable = [] # Separated by comma, equal or the common case if result.split(",").size > 1 listOfVariable = handle_multiple_declaration_with_comma(result) elsif result.split("=").size > 1 listOfVariable = handle_multiple_declaration_with_equal(result) else listOfVariable = handle_line_declaration(result) end return listOfVariable end |
#handle_line_declaration(pString) ⇒ Object (protected)
Override
99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 |
# File 'lib/kuniri/language/ruby/variable_global_ruby.rb', line 99 def handle_line_declaration(pString) listOfVariable = [] if pString =~ /=/ pString = pString.scan(/.*=/).join("") return nil if pString =~ /\./ end return nil if pString =~ /\./ pString = prepare_final_string(pString) globalVariable = Languages::VariableGlobalData.new(pString) listOfVariable.push(globalVariable) return listOfVariable end |
#handle_multiple_declaration_with_comma(pString) ⇒ Object (protected)
Override
64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 |
# File 'lib/kuniri/language/ruby/variable_global_ruby.rb', line 64 def handle_multiple_declaration_with_comma(pString) listOfVariable = [] pString = pString.split(",") pString.each do |variable| return nil if variable.split("=").size > 2 variable = variable.scan(/.*=/).join("") if variable =~ /.*=/ return nil if variable =~ /\./ variable = prepare_final_string(variable) globalVariable = Languages::VariableGlobalData.new(variable) listOfVariable.push(globalVariable) end return listOfVariable end |
#handle_multiple_declaration_with_equal(pString) ⇒ Object (protected)
Override
83 84 85 86 87 88 89 90 91 92 93 94 95 96 |
# File 'lib/kuniri/language/ruby/variable_global_ruby.rb', line 83 def handle_multiple_declaration_with_equal(pString) listOfVariable = [] pString = pString.split("=") pString.each do |variable| return nil if variable =~ /\./ variable = prepare_final_string(variable) globalVariable = Languages::VariableGlobalData.new(variable) listOfVariable.push(globalVariable) end value = listOfVariable.pop return listOfVariable end |
#prepare_final_string(pString) ⇒ Object (protected)
Override
56 57 58 59 60 61 |
# File 'lib/kuniri/language/ruby/variable_global_ruby.rb', line 56 def prepare_final_string(pString) if pString =~ /\s+|:|@|=/ return pString.gsub!(/\s+|:|@|=/,"") end return pString end |
#remove_unnecessary_information(pLine) ⇒ Object (protected)
Override
51 52 53 |
# File 'lib/kuniri/language/ruby/variable_global_ruby.rb', line 51 def remove_unnecessary_information(pLine) return pLine end |