Module: Drakkon::Init
- Defined in:
- lib/drakkon/init.rb
Overview
Run Command for CLI
Class Method Summary collapse
- .directories ⇒ Object
-
.go!(_raw = nil) ⇒ Object
General Run.
- .main_tick ⇒ Object
- .metadata ⇒ Object
- .metdata_dir(file_name = nil) ⇒ Object
- .prompt ⇒ Object
- .run! ⇒ Object
- .settings ⇒ Object
Class Method Details
.directories ⇒ Object
64 65 66 67 68 69 70 71 72 |
# File 'lib/drakkon/init.rb', line 64 def self.directories LogBot.info('Init', 'Directories Setup') ['app', 'fonts', 'metadata', 'fonts', 'sounds', 'sprites', 'app/drakkon'].each do |dir| next if Dir.exist?(dir) Dir.mkdir dir end end |
.go!(_raw = nil) ⇒ Object
General Run
5 6 7 8 9 10 11 12 13 14 15 |
# File 'lib/drakkon/init.rb', line 5 def self.go!(_raw = nil) if Settings.init? LogBot.info('Init', 'Already Configured!') exit(0) end run! rescue SystemExit, Interrupt LogBot.info('Init', 'Exiting') exit end |
.main_tick ⇒ Object
74 75 76 77 78 79 80 81 82 83 |
# File 'lib/drakkon/init.rb', line 74 def self.main_tick <<~MAIN require 'app/drakkon/bundle.rb' def tick(gtk_args) # args.gtk.slowmo! 2 # ========================================================= end MAIN end |
.metadata ⇒ Object
33 34 35 36 37 38 39 |
# File 'lib/drakkon/init.rb', line 33 def self. # Icon is required for build FileUtils.cp(metdata_dir('icon.png'), 'metadata/') # Copy metdata files FileUtils.cp(metdata_dir('game_metadata.txt'), 'metadata/') end |
.metdata_dir(file_name = nil) ⇒ Object
41 42 43 |
# File 'lib/drakkon/init.rb', line 41 def self.metdata_dir(file_name = nil) "#{Run.version_dir}/mygame/metadata/#{file_name}" end |
.prompt ⇒ Object
85 86 87 |
# File 'lib/drakkon/init.rb', line 85 def self.prompt TTY::Prompt.new(active_color: :cyan, interrupt: :exit) end |
.run! ⇒ Object
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
# File 'lib/drakkon/init.rb', line 17 def self.run! unless Hub.version_installed? LogBot.warn('Init', 'No Drakkon Versions Installed, Run `drakkon install <dragonruby.zip>` first!') exit(1) end exit if prompt.no?("Init Drakkon here? #{Dir.pwd.pastel(:yellow)}") LogBot.info('Init', 'Start') settings directories # TODO: Validate / Confirm File.write('app/main.rb', main_tick) end |
.settings ⇒ Object
45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 |
# File 'lib/drakkon/init.rb', line 45 def self.settings LogBot.info('Init', 'Settings Setup') opts = { platforms: [], version: Hub.version_latest, image_index: true, font_index: true, manifest: true, bundle_compile: true, gems: {} } # TODO: Be better, this is lazy... opts.each do |key, value| Settings.update(key, value) end end |