Sha256: 31506ea209dea6a6554c9a033097bbbe3e9d61eb386e48150a9fb238b385b9b8

Contents?: true

Size: 1.09 KB

Versions: 3

Compression:

Stored size: 1.09 KB

Contents

# frozen_string_literal: true
module Lono
  # Checks to see command is running in a lono project.
  # If not, provide a friendly message and possibly exit.
  class ProjectChecker
    class << self
      def check
        check_lono_project
      end

      def check_lono_project
        paths = %w[
          config/settings.yml
          app/definitions
          app/templates
        ]
        paths.each do |path|
          unless File.exist?("#{Lono.root}/#{path}")
            puts "ERROR: The #{path} does not exist in this project.  Are you sure you are in lono project?".color(:red)
            quit 1
          end
        end
      end

      # Dont exit for this one. It's okay. But show a warning.
      def empty_templates
        if Dir["#{Lono.config.templates_path}/**/*"].empty?
          puts "INFO: The app/templates folder does not contain any lono template definitions.".color(:yellow)
        end
      end

      def quit(signal)
        if ENV['TEST'] == '1'
          signal == 0 || raise("Not in lono project")
        else
          exit(signal)
        end
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
lono-4.2.7 lib/lono/project_checker.rb
lono-4.2.6 lib/lono/project_checker.rb
lono-4.2.5 lib/lono/project_checker.rb