Module: Zashoku
- Defined in:
- lib/daemon.rb,
lib/viewer.rb,
lib/zashoku.rb,
lib/constants.rb,
lib/core/item.rb,
lib/core/view.rb,
lib/generator.rb,
lib/core/module.rb,
lib/core/options.rb,
lib/core/formatter.rb,
lib/core/util/term.rb,
lib/core/util/util.rb,
lib/core/controller.rb,
lib/core/net/client.rb,
lib/core/net/server.rb,
lib/core/config/config.rb,
lib/core/util/readline.rb,
lib/core/statusline/widget.rb,
lib/core/config/view_config.rb,
lib/generator/app_generator.rb,
lib/core/config/daemon_config.rb,
lib/core/modules/conf/lib/conf.rb,
lib/core/statusline/statusline.rb,
lib/generator/module_generator.rb,
lib/core/modules/conf/lib/conf/config_view.rb
Defined Under Namespace
Modules: Conf, Formatter, Generator, Module, Net, Statusline, Util Classes: Config, Controller, Daemon, DaemonConfig, Item, Options, View, ViewConfig, Viewer
Constant Summary collapse
- Version =
[1, 5, 4].freeze
- Root =
File.('../', __dir__)
- DefConf =
{ app: { root: Root, name: 'zashoku', commands: {}, modules: { viewer: [], daemon: [], }, log_level: { viewer: :warn, daemon: :info }, save_config: false, save_history: false, persistent_daemon: false, net: { host: 'localhost', port: 26_119 } }, core: { commands: { 'quit' => :cleanup, 'q' => :cleanup, 'enter_command' => :get_user_command, 'change_view' => :change_view, 'map_key' => :map_key, 'search' => :search, 'zv' => :print_version } } }.freeze
- CConf =
const_defined?(:AppConf) ? Zashoku::Util.deep_merge(DefConf, AppConf) : DefConf
- LoadPaths =
[ File.join(Zashoku::CConf[:app][:root], 'modules') ].freeze
Class Attribute Summary collapse
-
.client ⇒ Object
Returns the value of attribute client.
-
.conf ⇒ Object
Returns the value of attribute conf.
-
.controllers ⇒ Object
Returns the value of attribute controllers.
-
.logger ⇒ Object
Returns the value of attribute logger.
-
.modules ⇒ Object
Returns the value of attribute modules.
Class Method Summary collapse
- .command(message) ⇒ Object
- .command_server(command) ⇒ Object
- .main(args) ⇒ Object
- .start_daemon ⇒ Object
Class Attribute Details
.client ⇒ Object
Returns the value of attribute client.
29 30 31 |
# File 'lib/viewer.rb', line 29 def client @client end |
.conf ⇒ Object
Returns the value of attribute conf.
12 13 14 |
# File 'lib/zashoku.rb', line 12 def conf @conf end |
.controllers ⇒ Object
Returns the value of attribute controllers.
19 20 21 |
# File 'lib/daemon.rb', line 19 def controllers @controllers end |
.logger ⇒ Object
Returns the value of attribute logger.
12 13 14 |
# File 'lib/zashoku.rb', line 12 def logger @logger end |
.modules ⇒ Object
Returns the value of attribute modules.
12 13 14 |
# File 'lib/zashoku.rb', line 12 def modules @modules end |
Class Method Details
.command(message) ⇒ Object
20 21 22 23 24 25 26 27 28 29 30 31 |
# File 'lib/daemon.rb', line 20 def command() Zashoku.logger.debug("command got #{message}") = .keys.map(&:to_sym).zip(.values).to_h obj = if controllers.key?([:mod]) && controllers[[:mod]].respond_to?([:meth]) controllers[[:mod]].send([:meth], *[:args]) else nil end Zashoku::Util.encode_object(obj) end |
.command_server(command) ⇒ Object
50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 |
# File 'lib/zashoku.rb', line 50 def self.command_server(command) case command when 'start' start_daemon when 'restart' command_server('stop') start_daemon else require_relative 'core/net/client' Net::Client.command( Zashoku::CConf[:app][:net][:host], Zashoku::CConf[:app][:net][:port], command ) end end |
.main(args) ⇒ Object
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
# File 'lib/zashoku.rb', line 21 def self.main(args) = Options.parse(args) Zashoku.modules = [] if [:generate] Generator.generate([:template], [:generate_name]) elsif [:server_command] print command_server([:server_command])[:payload] else unless command_server('up?')[:status] [:daemon] = true command_server('start') sleep(0.2) until command_server('up?')[:status] end Viewer.new.run end end |
.start_daemon ⇒ Object
39 40 41 42 43 44 45 46 47 48 |
# File 'lib/zashoku.rb', line 39 def self.start_daemon if [:daemon] fork { Process.daemon() Daemon.new.listen } else Daemon.new.listen end end |