Module: Crystalize::Transform::Line::Literals

Included in:
CodeConverter
Defined in:
lib/crystalize/transform/lines/literals.rb

Instance Method Summary collapse

Instance Method Details

#lambda_call_in_line?(line) ⇒ Boolean

Returns:

  • (Boolean)


17
18
19
20
21
22
23
24
# File 'lib/crystalize/transform/lines/literals.rb', line 17

def lambda_call_in_line?(line)
  # Here is omitting calls like
  # lambda_method       []
  # due to bad code style of lambda call, even this
  # lambda call is correct
  braces = /[\[][ ]*[\]]/
  line.match /(\w+|[.])#{braces}/
end

#transform_array_literal(line) ⇒ Object



5
6
7
8
9
10
11
# File 'lib/crystalize/transform/lines/literals.rb', line 5

def transform_array_literal(line)
  if lambda_call_in_line?(line)
    line
  else
    line.gsub '[]', "Array(Anything).new"
  end
end

#transform_hash_literal(line) ⇒ Object



13
14
15
# File 'lib/crystalize/transform/lines/literals.rb', line 13

def transform_hash_literal(line)
  line.gsub '{}', 'Hash(Anything, Anything).new'
end