Sha256: 6b61ed63939d922111565487310a745ec9590aaaa7ae20743c8bc5bdba71cbc4

Contents?: true

Size: 831 Bytes

Versions: 6

Compression:

Stored size: 831 Bytes

Contents

require 'rails/generators/joosy/joosy_base'

module Joosy
  module Generators
    class WidgetGenerator < ::Rails::Generators::JoosyBase
      source_root File.join(File.dirname(__FILE__), 'templates')

      def create_files
        super

        empty_directory "#{app_path}/widgets"
        template "app/widgets/template.js.coffee", "#{app_path}/widgets/#{file_name}.js.coffee"

        empty_directory "#{app_path}/templates/widgets"
        create_file "#{app_path}/templates/widgets/#{file_name}.jst.#{options[:template_kind]}"
      end

      protected

      def app_path
        unless class_path.size == 1
          puts <<HELP
Usage: rails generate joosy:widget joosy_app_name/widget_name
Tip: do not add Widget suffix to widget_name
HELP
          exit 1
        end
        class_path[0]
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
joosy-1.0.0.RC3 lib/rails/generators/joosy/widget_generator.rb
joosy-1.0.0.RC2 lib/rails/generators/joosy/widget_generator.rb
joosy-1.0.0.RC1 lib/rails/generators/joosy/widget_generator.rb
joosy-0.1.0.RC3 lib/rails/generators/joosy/widget_generator.rb
joosy-0.1.0.RC2 lib/rails/generators/joosy/widget_generator.rb
joosy-0.1.0.RC1 lib/rails/generators/joosy/widget_generator.rb