Class: Susanoo::Generators::Cordova

Inherits:
Thor::Group
  • Object
show all
Includes:
Thor::Actions
Defined in:
lib/susanoo/generators/cordova.rb

Constant Summary collapse

CORDOVA_VERSION =
`cordova -v`
CORDOVA_PATH =
`which cordova`

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.is_global_generator?Boolean

Returns:

  • (Boolean)


54
55
56
# File 'lib/susanoo/generators/cordova.rb', line 54

def self.is_global_generator?
  true
end

Instance Method Details

#initialize_projectObject



9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'lib/susanoo/generators/cordova.rb', line 9

def initialize_project
  fname = Susanoo::Project.folder_name.dup

  # Java Package name
  package_name = ask 'Java Package Name: '.colorize(:light_green)
  if package_name.chomp.strip.empty?
    package_name = "com.example.#{fname.gsub("-", "_")}"
  else
    if package_name.chomp.split(".").length < 3
      say "Package name format should be like 'suffix.domain.subdomain'".colorize(:red)
      exit 1
    end
  end

  # Project name
  project_name = ask "Project Name [#{fname.colorize(:light_red)}".colorize(:light_green) + "]: ".colorize(:light_green)

  say "Initializing project with Apache Cordova #{version} at #{CORDOVA_PATH}"
  system "cordova create #{Susanoo::Project.folder_name} #{package_name.chomp} #{project_name.chomp}"
end

#platformsObject



30
31
32
33
34
35
36
37
38
39
40
# File 'lib/susanoo/generators/cordova.rb', line 30

def platforms
  platforms = ask 'Platforms (comma separated): '.colorize(:light_blue)
  inside Susanoo::Project.folder_name do
    platforms.chomp.split(",").each do |platform|
      say "Adding #{platform.strip} platform ...".colorize(:green)
      system "cordova platform add #{platform.strip}"
    end
    say 'Adding console plugin to project'.colorize(:green)
    system 'cordova plugin add org.apache.cordova.console'
  end
end

#remove_default_filesObject



42
43
44
45
46
47
48
49
50
51
52
# File 'lib/susanoo/generators/cordova.rb', line 42

def remove_default_files
  say "Removing cordova default files . . .".colorize(:yellow)
  inside Susanoo::Project.folder_name do
    inside 'www' do
      remove_file 'index.html'
      remove_file 'js'
      remove_file 'css'
      remove_file 'img'
    end
  end
end

#versionObject (private)



60
61
62
# File 'lib/susanoo/generators/cordova.rb', line 60

def version
  CORDOVA_VERSION.chomp
end