Sha256: 9de3092a4d4cc60c55fb36ac7536e90993cdb25f4eba68c821f90ecb7c600005

Contents?: true

Size: 1.17 KB

Versions: 4

Compression:

Stored size: 1.17 KB

Contents

# frozen_string_literal: true

module Neptuno
  module TTY
    # Wrapper class for TTY gem
    module File
      TTY = ::TTY::File
      ABORT_MESSAGE = 'fatal: not a Neptuno repository (or any of the parent directories)'

      def file
        TTY
      end

      # define path helpers
      def project
        neptuno_path.split('/').last
      end

      def in_service?
        Dir.pwd.include?("#{neptuno_path}/services/")
      end

      def service
        ENV['PWD'].match(%r{services/([^/]*)})&.captures&.first
      end

      def neptuno_path
        return @base_path if @base_path

        pwd = Dir.pwd
        loop do
          return pwd if pwd == ''
          return @base_path = pwd if Dir.children(pwd).include?('neptuno.yml')

          pwd = pwd.split('/')[0..-2].join('/')
        end
      end

      def make_service_files(services)
        services.each do |service|
          `cd #{neptuno_path} && mkdir -p environments/#{service} procfiles/#{service} dockerfiles/#{service}`
          `cd #{neptuno_path} && touch environments/#{service}/local_env`
          `cd #{neptuno_path} && touch dockerfiles/#{service}/Dockerfile`
        end
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
neptuno-1.0.10 lib/neptuno/tty/file.rb
neptuno-1.0.9 lib/neptuno/tty/file.rb
neptuno-1.0.8 lib/neptuno/tty/file.rb
neptuno-1.0.7 lib/neptuno/tty/file.rb