Sha256: fbf75408fde53cc74d1e7d5104bdd5ffc5ed90fd0de438b8b05d8adb6f31f816
Contents?: true
Size: 1.02 KB
Versions: 2
Compression:
Stored size: 1.02 KB
Contents
# frozen_string_literal: true require "thor" require "iodine" require "rack" module Rage class CLI < Thor def self.exit_on_failure? true end desc "new PATH", "Create a new application." def new(path) NewAppGenerator.start([path]) end desc "s", "Start the app server." def server app = ::Rack::Builder.parse_file("config.ru") app = app[0] if app.is_a?(Array) ::Iodine.listen service: :http, handler: app ::Iodine.threads = 1 ::Iodine.start end end class NewAppGenerator < Thor::Group include Thor::Actions argument :path, type: :string def self.source_root File.expand_path("templates", __dir__) end def create_directory empty_directory(path) end def copy_files Dir.glob("*", base: self.class.source_root).each do |template| *template_path_parts, template_name = template.split("-") template(template, "#{path}/#{template_path_parts.join("/")}/#{template_name}") end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
rage-rb-0.1.1 | lib/rage/cli.rb |
rage-rb-0.1.0 | lib/rage/cli.rb |