module Crystalize::Transform::Line::PrivateMethods
Public Instance Methods
add_visibility_prefix_to_method(current_visibility, line, non_public_triggered)
click to toggle source
# File lib/crystalize/transform/lines/private_methods.rb, line 37 def add_visibility_prefix_to_method(current_visibility, line, non_public_triggered) if !non_public_triggered && current_visibility == :public line else " "*tabulation(line)+current_visibility.to_s + " "+ line.slice(tabulation(line), line.length) end end
line_without_private(line)
click to toggle source
# File lib/crystalize/transform/lines/private_methods.rb, line 33 def line_without_private(line) "" end
method_in_line?(line)
click to toggle source
# File lib/crystalize/transform/lines/private_methods.rb, line 56 def method_in_line?(line) line.match /[ ]*(def).*/ end
private_in_line?(line)
click to toggle source
# File lib/crystalize/transform/lines/private_methods.rb, line 64 def private_in_line?(line) !!line.match(/^[ ]*(private)[ ]*$/) end
protected_in_line?(line)
click to toggle source
# File lib/crystalize/transform/lines/private_methods.rb, line 68 def protected_in_line?(line) !!line.match(/^[ ]*(protected)[ ]*$/) end
public_in_line?(line)
click to toggle source
# File lib/crystalize/transform/lines/private_methods.rb, line 72 def public_in_line?(line) !!line.match(/^[ ]*(public)[ ]*$/) end
self_method_in_line?(line)
click to toggle source
# File lib/crystalize/transform/lines/private_methods.rb, line 60 def self_method_in_line?(line) line.match /[ ]*(def)[ ]+self[.].*/ end
tabulation(line)
click to toggle source
# File lib/crystalize/transform/lines/private_methods.rb, line 45 def tabulation(line) spaces_count = 0 line.split("").each_with_index do |c, index| if c != " " spaces_count = index break end end spaces_count end
transform_private_methods(lines)
click to toggle source
# File lib/crystalize/transform/lines/private_methods.rb, line 5 def transform_private_methods(lines) new_lines = [] current_visibility = :public non_public_triggered = false lines.each do |line| if private_in_line?(line) current_visibility = :private non_public_triggered = true end if protected_in_line?(line) current_visibility = :protected non_public_triggered = true end current_visibility = :public if public_in_line?(line) if method_in_line?(line) && !self_method_in_line?(line) new_lines << add_visibility_prefix_to_method(current_visibility, line, non_public_triggered) elsif private_in_line?(line) || protected_in_line?(line) || public_in_line?(line) new_lines << line_without_private(line) else new_lines << line end end new_lines end