Sha256: 93f44cdfac2464cb66c9b7f675a080d6eea939898da128644cd2cc25acc9567d
Contents?: true
Size: 953 Bytes
Versions: 4
Compression:
Stored size: 953 Bytes
Contents
require 'rack/app' require 'optparse' class Rack::App::CLI require 'rack/app/cli/command' require 'rack/app/cli/default_commands' require 'rack/app/cli/runner' class << self def start(argv) runner.start(argv) end def runner Rack::App::CLI::Runner.new(rack_app) end def rack_app @rack_app ||= lambda { context = {} Kernel.__send__(:define_method, :run) { |app, *_| context[:app]= app } config_ru_file_path = Rack::App::Utils.pwd('config.ru') load(config_ru_file_path) if File.exist?(config_ru_file_path) context[:app] }.call end end def merge!(cli) commands.merge!(cli.commands) self end def commands @commands ||= {} end protected def command(name, &block) command_prototype = Class.new(Rack::App::CLI::Command) command_prototype.class_exec(&block) commands[name.to_s.to_sym]= command_prototype.new end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
rack-app-3.4.0 | lib/rack/app/cli.rb |
rack-app-3.3.0 | lib/rack/app/cli.rb |
rack-app-3.2.1 | lib/rack/app/cli.rb |
rack-app-3.2.0 | lib/rack/app/cli.rb |