Sha256: e16324616b34d6e3ffbcecf497c954c6a802ddb75cf1c46498f244728a063b77

Contents?: true

Size: 1.51 KB

Versions: 21

Compression:

Stored size: 1.51 KB

Contents

module Cardio
  module Generators
    ### the following is straight from rails and is focused on checking
    # the validity of the app name.needs decko-specific tuning
    module RailsOverrides
      protected

      def app_name
        @app_name ||=
          defined_app_const_base? ? defined_app_name : File.basename(destination_root)
      end

      def defined_app_name
        defined_app_const_base.underscore
      end

      def defined_app_const_base
        Rails.respond_to?(:application) && defined?(Rails::Application) &&
          Cardio.application.is_a?(Rails::Application) &&
          Cardio.application.class.name.sub(/::Application$/, "")
      end

      alias_method :defined_app_const_base?, :defined_app_const_base

      def app_const_base
        @app_const_base ||= defined_app_const_base ||
                            app_name.gsub(/\W/, "_").squeeze("_").camelize
      end

      alias_method :camelized, :app_const_base

      def app_const
        @app_const ||= "#{app_const_base}::Application"
      end

      def valid_const?
        if app_const.match?(/^\d/)
          invalid_app_name "Please give a name which does not start with numbers."
        elsif Object.const_defined?(app_const_base)
          invalid_app_name "constant #{app_const_base} is already in use. " \
                           "Please choose another application name."
        end
      end

      def invalid_app_name message
        raise Thor::Error, "Invalid application name #{app_name}, #{message}"
      end
    end
  end
end

Version data entries

21 entries across 21 versions & 1 rubygems

Version Path
card-1.108.1 lib/cardio/generators/rails_overrides.rb
card-1.108.0 lib/cardio/generators/rails_overrides.rb
card-1.107.0 lib/cardio/generators/rails_overrides.rb
card-1.106.0 lib/cardio/generators/rails_overrides.rb
card-1.105.6 lib/cardio/generators/rails_overrides.rb
card-1.105.5 lib/cardio/generators/rails_overrides.rb
card-1.105.4 lib/cardio/generators/rails_overrides.rb
card-1.105.3 lib/cardio/generators/rails_overrides.rb
card-1.105.2.pre1 lib/cardio/generators/rails_overrides.rb
card-1.105.2 lib/cardio/generators/rails_overrides.rb
card-1.105.1 lib/cardio/generators/rails_overrides.rb
card-1.105.0 lib/cardio/generators/rails_overrides.rb
card-1.104.2 lib/cardio/generators/rails_overrides.rb
card-1.104.1 lib/cardio/generators/rails_overrides.rb
card-1.104.0 lib/cardio/generators/rails_overrides.rb
card-1.103.4 lib/cardio/generators/rails_overrides.rb
card-1.103.3 lib/cardio/generators/rails_overrides.rb
card-1.103.2 lib/cardio/generators/rails_overrides.rb
card-1.103.1 lib/cardio/generators/rails_overrides.rb
card-1.103.0 lib/cardio/generators/rails_overrides.rb