Sha256: 9d40a84b5886f0c52c1f23bba312b3d4c77545b48def1f220b7f7d34469b39f6

Contents?: true

Size: 1.09 KB

Versions: 23

Compression:

Stored size: 1.09 KB

Contents

require "rails/generators"

module Generators
  module Avo
    class ResourceGenerator < ::Rails::Generators::NamedBase
      source_root File.expand_path("templates", __dir__)

      namespace "avo:resource"

      def create
        template "resource/resource.tt", "app/avo/resources/#{resource_name}.rb"
        template "resource/controller.tt", "app/controllers/avo/#{controller_name}.rb"

        # Show a warning if the model doesn't exists
        say("We couldn't find the #{class_name} model in your codebase. You should have one present for Avo to display the resource.", :yellow) unless current_models.include? class_name
      end

      def resource_class
        "#{class_name}Resource"
      end

      def controller_class
        "Avo::#{plural_name.humanize}Controller"
      end

      def resource_name
        "#{singular_name}_resource"
      end

      def controller_name
        "#{plural_name}_controller"
      end

      def current_models
        ActiveRecord::Base.connection.tables.map do |model|
          model.capitalize.singularize.camelize
        end
      end
    end
  end
end

Version data entries

23 entries across 23 versions & 1 rubygems

Version Path
avo-1.2.9 lib/generators/avo/resource_generator.rb
avo-1.2.8 lib/generators/avo/resource_generator.rb
avo-1.2.7 lib/generators/avo/resource_generator.rb
avo-1.2.6 lib/generators/avo/resource_generator.rb
avo-1.2.6.pre.1 lib/generators/avo/resource_generator.rb
avo-1.2.5 lib/generators/avo/resource_generator.rb
avo-1.2.4 lib/generators/avo/resource_generator.rb
avo-1.2.3 lib/generators/avo/resource_generator.rb
avo-1.3.0.pre.1 lib/generators/avo/resource_generator.rb
avo-1.2.2 lib/generators/avo/resource_generator.rb
avo-1.1.0 lib/generators/avo/resource_generator.rb
avo-1.1.0.pre.1 lib/generators/avo/resource_generator.rb
avo-1.0.5 lib/generators/avo/resource_generator.rb
avo-1.0.4 lib/generators/avo/resource_generator.rb
avo-1.0.2 lib/generators/avo/resource_generator.rb
avo-1.0.1 lib/generators/avo/resource_generator.rb
avo-1.0.0 lib/generators/avo/resource_generator.rb
avo-0.5.0.beta15 lib/generators/avo/resource_generator.rb
avo-0.5.0.beta14 lib/generators/avo/resource_generator.rb
avo-0.5.0.beta13 lib/generators/avo/resource_generator.rb