Class: Gamefic::Sdk::Shell
- Inherits:
-
Thor
- Object
- Thor
- Gamefic::Sdk::Shell
- Defined in:
- lib/gamefic-sdk/shell.rb,
lib/gamefic-sdk/shell/init.rb,
lib/gamefic-sdk/shell/test.rb
Defined Under Namespace
Instance Method Summary collapse
- #build(directory_name = '.') ⇒ Object
- #clean(directory_name = '.') ⇒ Object
- #default_config(directory_name = '.') ⇒ Object
- #import(directory_name = '.') ⇒ Object
- #init(directory_name) ⇒ Object
- #script(path = nil) ⇒ Object
- #server(directory_name = '.') ⇒ Object
- #test(directory_name = '.') ⇒ Object
- #version ⇒ Object
- #webskins ⇒ Object
Instance Method Details
#build(directory_name = '.') ⇒ Object
53 54 55 |
# File 'lib/gamefic-sdk/shell.rb', line 53 def build(directory_name = '.') Gamefic::Sdk::Build.release(directory_name, [:quiet]) end |
#clean(directory_name = '.') ⇒ Object
58 59 60 |
# File 'lib/gamefic-sdk/shell.rb', line 58 def clean(directory_name = '.') Gamefic::Sdk::Build.clean(directory_name) end |
#default_config(directory_name = '.') ⇒ Object
83 84 85 86 87 88 |
# File 'lib/gamefic-sdk/shell.rb', line 83 def default_config(directory_name = '.') File.open(File.join(directory_name, 'config.yml'), 'w') do |file| file << Gamefic::Sdk::Config.generate end puts "Default config.yml created." end |
#import(directory_name = '.') ⇒ Object
64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 |
# File 'lib/gamefic-sdk/shell.rb', line 64 def import(directory_name = '.') config = Gamefic::Sdk::Config.load directory_name FileUtils.remove_entry_secure config.import_path if File.exist?(config.import_path) FileUtils.mkdir_p config.import_path paths = [config.script_path, Gamefic::Sdk::GLOBAL_SCRIPT_PATH] plot = Gamefic::Sdk::Debug::Plot.new Source::File.new(*paths) plot.script 'main' plot.imported_scripts.each { |s| next unless s.absolute_path.start_with?(Gamefic::Sdk::GLOBAL_SCRIPT_PATH) src = File.absolute_path(s.absolute_path) dst = File.absolute_path(File.join(directory_name, 'imports', "#{s.path}.plot.rb")) next if src == dst puts "Importing #{s.path}" unless [:quiet] FileUtils.mkdir_p(File.dirname(dst)) FileUtils.cp_r(src, dst) } end |
#init(directory_name) ⇒ Object
28 29 30 31 32 33 34 |
# File 'lib/gamefic-sdk/shell.rb', line 28 def init(directory_name) Gamefic::Sdk::Shell::Init.new( directory: directory_name, quiet: [:quiet], scripts: [:scripts], webskin: [:webskin], title: [:title], author: [:author], webdir: [:webdir] ).run end |
#script(path = nil) ⇒ Object
98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 |
# File 'lib/gamefic-sdk/shell.rb', line 98 def script path = nil if path.nil? s = [] Dir[File.join GLOBAL_SCRIPT_PATH, '**', '*.rb'].each { |f| c = File.read(f) c.each_line { |l| match = l.match(/[\s]*#[\s]*@gamefic.script[ ]+([a-z0-9\/]+)/) unless match.nil? s.push(match[1]) end } } puts s.sort.join("\n") else document_script path end end |
#server(directory_name = '.') ⇒ Object
43 44 45 46 47 48 49 |
# File 'lib/gamefic-sdk/shell.rb', line 43 def server(directory_name = '.') Gamefic::Sdk::Server.set :source_dir, directory_name Gamefic::Sdk::Server.set :browser, [:browser] pub = File.join(directory_name, 'release', 'sinatra').gsub(/\\/, '/') Gamefic::Sdk::Server.set :public_folder, pub Gamefic::Sdk::Server.run! end |
#test(directory_name = '.') ⇒ Object
37 38 39 |
# File 'lib/gamefic-sdk/shell.rb', line 37 def test(directory_name = '.') Gamefic::Sdk::Shell::Test.new(directory: directory_name).run end |
#version ⇒ Object
15 16 17 18 |
# File 'lib/gamefic-sdk/shell.rb', line 15 def version puts "gamefic-sdk #{Gamefic::Sdk::VERSION}" puts "gamefic #{Gamefic::VERSION}" end |
#webskins ⇒ Object
91 92 93 94 95 |
# File 'lib/gamefic-sdk/shell.rb', line 91 def webskins Dir[File.join(Gamefic::Sdk::HTML_TEMPLATE_PATH, 'skins', '*')].sort.each { |d| puts File.basename(d) } end |