Class: Vermillion::Controller::Base
- Inherits:
-
Object
- Object
- Vermillion::Controller::Base
- Defined in:
- lib/client/controller.rb
Constant Summary collapse
- OK =
Exit code to indicate everything is ok!
0
- QUIT =
Exit code to indicate a force quit (exit) call, meaning the program quit with an error
1
- QUIT_SOFT =
Exit code to indicate that the program exited with a non-zero exit code, but not one that resulted in a force quit
2
Instance Attribute Summary collapse
-
#config ⇒ Object
Access the configuration object instance externally.
-
#request ⇒ Object
Access the request object instance externally.
Instance Method Summary collapse
-
#can_exec?(command) ⇒ Boolean
- Determines if the command can execute Params:
command
-
Symbol containing the command we want to execute.
- Determines if the command can execute Params:
-
#exec ⇒ Object
Handle the request.
-
#initialize(config, request) ⇒ Base
constructor
- Setup internal variables that will be used in subclasses Params:
config
- Instance of Vermillion::Cfg to enable access to config file
request
-
Instance of Vermillion::Request, enables access to request parameters.
- Instance of Vermillion::Cfg to enable access to config file
- Setup internal variables that will be used in subclasses Params:
-
#post_exec ⇒ Object
Perform post-run cleanup tasks, such as deleting old logs.
-
#pre_exec ⇒ Object
Perform pre-run tasks.
-
#sample ⇒ Object
Default method called by exec if no argument is passed.
Constructor Details
#initialize(config, request) ⇒ Base
Setup internal variables that will be used in subclasses Params:
config
-
Instance of Vermillion::Cfg to enable access to config file
request
-
Instance of Vermillion::Request, enables access to request parameters
23 24 25 26 27 28 |
# File 'lib/client/controller.rb', line 23 def initialize(config, request) @config = config @request = request pre_exec end |
Instance Attribute Details
#config ⇒ Object
Access the configuration object instance externally
5 6 7 |
# File 'lib/client/controller.rb', line 5 def config @config end |
#request ⇒ Object
Access the request object instance externally
7 8 9 |
# File 'lib/client/controller.rb', line 7 def request @request end |
Instance Method Details
#can_exec?(command) ⇒ Boolean
Determines if the command can execute Params:
command
-
Symbol containing the command we want to execute
53 54 55 56 57 58 59 60 61 62 63 |
# File 'lib/client/controller.rb', line 53 def can_exec?(command) # no command was passed, check if controller has a default method if command.nil? && respond_to?(:default) @method = :default elsif respond_to? command # check the controller for the requested method @method = command else raise NoMethodError, "Invalid method: #{command}" end end |
#exec ⇒ Object
Handle the request
38 39 40 41 42 43 44 |
# File 'lib/client/controller.rb', line 38 def exec if @request.param.nil? send(@method.to_sym) else send(@method.to_sym, @request.param) end end |
#post_exec ⇒ Object
Perform post-run cleanup tasks, such as deleting old logs
47 48 |
# File 'lib/client/controller.rb', line 47 def post_exec end |
#pre_exec ⇒ Object
Perform pre-run tasks
31 32 33 34 35 |
# File 'lib/client/controller.rb', line 31 def pre_exec @format = Vermillion::Helper.load('formatting') @network = Vermillion::Helper.load('network') @network.config = @config end |
#sample ⇒ Object
Default method called by exec if no argument is passed
66 67 68 |
# File 'lib/client/controller.rb', line 66 def sample Notify.warning("Method not implemented") end |