Class: Line
- Inherits:
-
String
- Object
- String
- Line
- Defined in:
- lib/line.rb
Instance Method Summary collapse
- #already_junklet? ⇒ Boolean
- #code? ⇒ Boolean
- #convert ⇒ Object
- #indent ⇒ Object
-
#initialize(line = "") ⇒ Line
constructor
A new instance of Line.
- #junklet? ⇒ Boolean
- #let? ⇒ Boolean
- #names ⇒ Object
- #secure_random? ⇒ Boolean
Constructor Details
#initialize(line = "") ⇒ Line
Returns a new instance of Line.
2 3 4 |
# File 'lib/line.rb', line 2 def initialize(line="") super end |
Instance Method Details
#already_junklet? ⇒ Boolean
18 19 20 |
# File 'lib/line.rb', line 18 def already_junklet? match(/^\s*junklet\b/) end |
#code? ⇒ Boolean
26 27 28 |
# File 'lib/line.rb', line 26 def code? empty? || (!let? && !junklet?) end |
#convert ⇒ Object
39 40 41 42 43 |
# File 'lib/line.rb', line 39 def convert return nil unless junklet? return self if already_junklet? Line.new("#{indent}junklet #{names.first}") end |
#indent ⇒ Object
6 7 8 |
# File 'lib/line.rb', line 6 def indent ' ' * (size - lstrip.size) end |
#junklet? ⇒ Boolean
14 15 16 |
# File 'lib/line.rb', line 14 def junklet? already_junklet? || secure_random? end |
#let? ⇒ Boolean
10 11 12 |
# File 'lib/line.rb', line 10 def let? match(/^\s*let\s*\(/) && !junklet? end |
#names ⇒ Object
30 31 32 33 34 35 36 37 |
# File 'lib/line.rb', line 30 def names return nil unless let? || junklet? match(/^\s*(let|junklet)\s*\(?([^)]*)\)?/) \ .captures[1..-1] \ .join('') \ .split(/,/) \ .map(&:strip) end |
#secure_random? ⇒ Boolean
22 23 24 |
# File 'lib/line.rb', line 22 def secure_random? match(/^\s*(let)\s*\(?([^)]*)\)\s*{\s*SecureRandom.(uuid|hex)\s*}/) end |