Class: Ruboty::Generator
- Inherits:
-
Object
- Object
- Ruboty::Generator
- Defined in:
- lib/ruboty/generator/version.rb,
lib/ruboty/generator/generate.rb
Overview
Generator Core
Constant Summary collapse
- VERSION =
'1.0.1'- README =
'README.md'- RUBOTY_GENERATOR_FILE =
'Rubotygenerator'- RUBOTY_HANDLER_FILE =
'lib/ruboty/handlers'- RUBOTY_BASE_FILE =
'lib/ruboty'- RUBOTY_GENERATOR_FILE_TEMPLATE =
"user_name \"user name\"\n\ngem_class_name \"Gem class name\"\ngem_name \"gem name\"\n\ndescription \"An Ruboty Handler description\"\n\nenv do |e|\n e.name \"ENV1\"\n e.description \"ENV1 desc\"\nend\n\ncommand do |c|\n c.name \"name\"\n c.pattern \"pattern\\\\\\\\z\"\n c.description \"description\"\nend\n"- RUBOTY_HANDLER_TEMPLATE =
"<%=action_requires%>\n\nmodule Ruboty\n module Handlers\n# <%=description%>\nclass <%=gem_class_name%> < Base\n<%=action_macros%>\n<%=envs%>\n\n<%=action_definitions%>\nend\n end\nend\n"- RUBOTY_ACTION_TEMPLATE =
"module Ruboty\n module <%=gem_class_name%>\nmodule Actions\n class <%=action_name.capitalize%> < Ruboty::Actions::Base\n def call\n message.reply(<%=action_name%>)\n rescue => e\n message.reply(e.message)\n end\n\n private\n def <%=action_name%>\n # TODO: main logic\n end\n end\nend\n end\nend\n"
Class Method Summary collapse
-
.generate(options = {}) ⇒ Object
generate ruboty template.
-
.init ⇒ Object
generate Rubotymegenfile to current directory.
Class Method Details
.generate(options = {}) ⇒ Object
generate ruboty template.
77 78 79 80 81 82 83 84 85 |
# File 'lib/ruboty/generator/generate.rb', line 77 def self.generate( = {}) config = load_config execute_bundle_gem(config) handler_src = generate_handler(config, [:a]) output_handler(handler_src, config.gem_name) return unless [:a] actions = generate_actions(config) output_actions(actions, config.gem_name) end |
.init ⇒ Object
generate Rubotymegenfile to current directory.
70 71 72 73 74 |
# File 'lib/ruboty/generator/generate.rb', line 70 def self.init File.open(RUBOTY_GENERATOR_FILE, 'w') do |f| f.puts RUBOTY_GENERATOR_FILE_TEMPLATE end end |