Sha256: 468578418f28c1ca9d8ac97419b872495b98def7ac31a3a5c5dc33770e7be46d

Contents?: true

Size: 935 Bytes

Versions: 4

Compression:

Stored size: 935 Bytes

Contents

class Jets::CLI::Generate
  class Event < Jets::CLI::Group::Base
    argument :name, required: true, desc: "Event name. Example: cool"

    def self.cli_options
      [
        [:force, aliases: :f, type: :boolean, desc: "Bypass overwrite are you sure prompt for existing files"],
        [:method, aliases: :m, desc: "Method name", default: "handle"],
        [:trigger, aliases: :t, desc: "Event trigger", default: "scheduled"]
      ]
    end
    cli_options.each { |args| class_option(*args) }

    source_root "#{__dir__}/templates/event_types"

    public

    def application_event
      template "application_event.rb", "app/events/application_event.rb", skip: true
    end

    def event
      trigger = options[:trigger]
      trigger = "scheduled" if trigger == "schedule" # allow both to work
      template_path = "#{trigger}.rb.tt"
      template template_path, "app/events/#{underscore_name}_event.rb"
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
jets-6.0.5 lib/jets/cli/generate/event.rb
jets-6.0.4 lib/jets/cli/generate/event.rb
jets-6.0.3 lib/jets/cli/generate/event.rb
jets-6.0.2 lib/jets/cli/generate/event.rb