Class: Devserver::CLI
- Inherits:
-
Thor
- Object
- Thor
- Devserver::CLI
- Includes:
- Thor::Actions
- Defined in:
- lib/devserver/cli.rb
Constant Summary collapse
- @@default_settings =
defaults
{}
- @@default_settings_source =
{}
- @@is_rails_dir =
true
Class Method Summary collapse
-
.determine_app_root ⇒ String
Pretend that we are checking for rails by checking for config/boot.rb we’ll even do something smart for ourselves by chdir ..
-
.load_defaults_from_yaml ⇒ Object
Load defaults from a devserver.yaml file located in config/.
-
.set_defaults ⇒ Object
sets defaults for the class.
Instance Method Summary collapse
Class Method Details
.determine_app_root ⇒ String
Pretend that we are checking for rails by checking for config/boot.rb we’ll even do something smart for ourselves by chdir .. if ../config/boot.rb exists. “smart for ourselves” is the operative phrase
33 34 35 36 37 38 39 40 41 42 |
# File 'lib/devserver/cli.rb', line 33 def self.determine_app_root if(File.exist?('config/boot.rb')) return Dir.pwd elsif(File.exist?('../config/boot.rb')) Dir.chdir('..') return Dir.pwd else return nil end end |
.load_defaults_from_yaml ⇒ Object
Load defaults from a devserver.yaml file located in config/
45 46 47 48 49 50 51 52 53 54 55 56 57 |
# File 'lib/devserver/cli.rb', line 45 def self.load_defaults_from_yaml configfile ="#{@@app_root}/config/devserver.yml" if File.exists?(configfile) then @@default_settings[:configfile] = configfile temp = YAML.load_file(configfile) if temp.class == Hash temp.each do |key,value| @@default_settings[key.to_sym] = value @@default_settings_source[key.to_sym] = configfile end end end end |
.set_defaults ⇒ Object
sets defaults for the class
14 15 16 17 18 19 20 21 22 23 24 25 26 |
# File 'lib/devserver/cli.rb', line 14 def self.set_defaults if(!(@@app_root = self.determine_app_root)) @@is_rails_dir = false @@app_root = '.' end @@default_settings[:port] = 3000 @@default_settings[:environment] = 'development' @@default_settings[:log_file] = "#{@@app_root}/log/devserver.log" @@default_settings[:pid_file] = "#{@@app_root}/tmp/pids/devserver.pid" @@default_settings[:mode] = 'start' @@default_settings[:server] = 'thin' self.load_defaults_from_yaml end |
Instance Method Details
#about ⇒ Object
90 91 92 93 |
# File 'lib/devserver/cli.rb', line 90 def about rails_warning puts "Devserver Version #{VERSION}: Provides a wrapper around passenger, thin or mongrel for local ruby on rails development." end |
#command ⇒ Object
152 153 154 155 156 157 158 159 160 161 162 163 164 |
# File 'lib/devserver/cli.rb', line 152 def command rails_warning the_server = Devserver::CommandManager.new() if([:start]) puts "start command: #{the_server.command('start')}" end if([:stop]) puts "stop command: #{the_server.command('stop')}" end if([:debug]) puts "debug command: #{the_server.command('debug')}" end end |
#debug ⇒ Object
124 125 126 127 128 129 130 131 132 133 |
# File 'lib/devserver/cli.rb', line 124 def debug rails_error the_server = Devserver::CommandManager.new() if(the_server.is_port_open?) puts "Another process is running on Port: #{the_server.port}" puts "Running stop command: #{the_server.command(stop)}" the_server.stop_devserver end the_server.start_devserver('debug') end |
#defaults ⇒ Object
96 97 98 99 |
# File 'lib/devserver/cli.rb', line 96 def defaults rails_warning print_defaults end |
#start ⇒ Object
107 108 109 110 111 112 113 114 115 116 |
# File 'lib/devserver/cli.rb', line 107 def start rails_error the_server = Devserver::CommandManager.new() if(the_server.is_port_open?) puts "Another process is running on Port: #{the_server.port}" puts "Running stop command: #{the_server.command('stop')}" the_server.stop_devserver end the_server.start_devserver end |
#stop ⇒ Object
137 138 139 140 141 |
# File 'lib/devserver/cli.rb', line 137 def stop rails_error the_server = Devserver::CommandManager.new() the_server.stop_devserver end |