Sha256: 1d54ae7faf75c6e86a802196cf06bcb0ef6a6652040fa61c57e739a833468107

Contents?: true

Size: 909 Bytes

Versions: 1

Compression:

Stored size: 909 Bytes

Contents

# coding: utf-8
# frozen_string_literal: true

require 'thor/group'

module Xip
  module Generators
    class Generate < Thor::Group
      include Thor::Actions

      argument :generator
      argument :name

      def self.source_root
        File.dirname(__FILE__) + "/generate/flow"
      end

      def create_controller
        template('controllers/controller.tt', "bot/controllers/#{name.pluralize}_controller.rb")
      end

      def create_replies
        # Sample Ask Reply
        template('replies/ask_example.tt', "bot/replies/#{name.pluralize}/ask_example.yml.erb")
      end

      def create_helper
        template('helpers/helper.tt', "bot/helpers/#{name}_helper.rb")
      end

      def edit_flow_map
        inject_into_file "config/flow_map.rb", after: "include Xip::Flow\n" do
          "\n\tflow :#{name} do\n\t\tstate :ask_example\n\tend\n"
        end
      end

    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
xip-2.0.0.beta2 lib/xip/generators/generate.rb