Sha256: c83ebd4aa38e429657cb03e5309bbe004a8a344d4467ff1daaa2346875a66583

Contents?: true

Size: 1.45 KB

Versions: 4

Compression:

Stored size: 1.45 KB

Contents

require 'rails/generators/base'
require 'securerandom'

module ActivityNotification
  module Generators #:nodoc:
    # Install generator to copy initializer and locale file to rails application.
    # @example Run install generator
    #   rails generate activity_notification:install
    class InstallGenerator < Rails::Generators::Base
      source_root File.expand_path("../../templates", __FILE__)

      desc "Creates a ActivityNotification initializer and copy locale files to your application."
      class_option :orm

      # Copies initializer file in application directory
      def copy_initializer
        #TODO suport other orm e.g. mongoid
        unless options[:orm] == :active_record
          raise TypeError, <<-ERROR.strip_heredoc
          Currently ActivityNotification is only supported with Active Record ORM.

          Be sure to have an Active Record ORM loaded in your
          app or configure your own at `config/application.rb`.

            config.generators do |g|
              g.orm :active_record
            end
          ERROR
        end

        template "activity_notification.rb", "config/initializers/activity_notification.rb"
      end

      # Copies locale files in application directory
      def copy_locale
        template "locales/en.yml", "config/locales/activity_notification.en.yml"
      end

      # Shows readme to console
      def show_readme
        readme "README" if behavior == :invoke
      end

    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
activity_notification-1.0.2 lib/generators/activity_notification/install_generator.rb
activity_notification-1.0.1 lib/generators/activity_notification/install_generator.rb
activity_notification-1.0.0 lib/generators/activity_notification/install_generator.rb
activity_notification-0.0.10 lib/generators/activity_notification/install_generator.rb