Sha256: 757831a6fdc2acb510eb01bda45e7b0fac3a46b5e63f2c327fb48b36123dfbde

Contents?: true

Size: 1.05 KB

Versions: 2

Compression:

Stored size: 1.05 KB

Contents

require_relative '../setup/setup_generator.rb'
require_relative '../helper'

module Service
  module Generators
    class ExternalGenerator < Rails::Generators::NamedBase
      source_root File.expand_path('templates', __dir__)

      argument :externals, type: :array, default: [], banner: 'external external'

      def create_externals
        invoke Service::Generators::SetupGenerator, [name]

        externals.each do |m|
          @external = m.classify
          create_main(m)
          create_test(m)
        end
      end

      private

      def create_main(m)
        path = "#{service_path}/externals/#{m.underscore}.rb"
        template 'external.rb.erb', path
      end

      def create_test(m)
        path = "#{spec_path}/externals/#{m.underscore}_spec.rb"
        template 'external_spec.rb.erb', path
      end

      def service_name
        Service::Helper.service_name(name)
      end

      def service_path
        Service::Helper.service_path(name)
      end

      def spec_path
        Service::Helper.spec_path(name)
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
command_service_object-1.3.0 lib/generators/service/external/external_generator.rb
command_service_object-1.2.1 lib/generators/service/external/external_generator.rb