Module: Confetti::Template::JavaChecks

Included in:
AndroidManifest, WebosAppinfo
Defined in:
lib/confetti/templates/java_checks.rb

Instance Method Summary collapse

Instance Method Details

#convert_to_java_identifier(str) ⇒ Object



8
9
10
11
12
13
# File 'lib/confetti/templates/java_checks.rb', line 8

def convert_to_java_identifier(str)
  str.
    sub(/^\d/,"_").
    gsub(/\s/,"").
    gsub(/[^a-zA-Z0-9_]/,"_")
end

#convert_to_java_package_id(str) ⇒ Object



22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/confetti/templates/java_checks.rb', line 22

def convert_to_java_package_id(str)
  return str if is_java_package_id(str)

  bits = str.split('.', -1)
  fixed_bits = bits.reject {|cmp| cmp.empty? }.map do |cmp|
    convert_to_java_identifier(cmp)
  end

  fixed_bits.unshift('com') if fixed_bits.length == 1

  fixed_bits.join('.')
end

#is_java_identifier(str) ⇒ Object



4
5
6
# File 'lib/confetti/templates/java_checks.rb', line 4

def is_java_identifier(str)
  str.match(/^[a-zA-Z_][a-zA-Z0-9_]*$/)
end

#is_java_package_id(str) ⇒ Object



15
16
17
18
19
20
# File 'lib/confetti/templates/java_checks.rb', line 15

def is_java_package_id(str)
  components = str.split('.', -1)

  # second param to #split ensures can't be dot-terminated
  components.length > 1 and components.all? { |s| is_java_identifier(s) }
end