Sha256: 80a55e39c8bbe1d78cb4b4db05645d10e987b192bf47db8d0c7ab9082448453e

Contents?: true

Size: 1.46 KB

Versions: 3

Compression:

Stored size: 1.46 KB

Contents

module DockerizeRails
  module Helpers
    require 'ostruct'

    def self.processed_commands
      Hash[Constants::COMMANDS.keys.map do |key|
        [key, Constants::COMMANDS[key][:aliases].map(&:to_s)]
      end]
    end

    def self.parse_opts
      [ARGV[0].to_s, args: ARGV[1..ARGV.size].to_a]
    end

    def self.ensure_rails_root
      unless PATHS.rails_root?
        puts "\n'#{`pwd`.strip}' is not a rails application root.\n".red
        exit(1)
      end
      0
    end

    def self.params_help(command)
      if command.key? :params
        [command[:params].keys.map do |param|
          "\n          #{('[' + param.to_s + ']').ljust(15, ' ')} -- #{command[:params][param]}"
        end,
         "\n"].join
      else
        ''
      end
    end

    # rubocop:disable Metrics/MethodLength
    # rubocop:disable Metrics/AbcSize
    def self.help
      ['
Usage: rocker <command>
   or: bundle exec dock <command>

   commands:
       ',
       Constants::COMMANDS.keys.map do |key|
         command = Constants::COMMANDS[key]
         "        #{command[:aliases].map(&:to_s).join(', ').ljust(30, ' ')}" \
           " - #{command[:help]}" + params_help(command)
       end,
       '
       '].join("\n")
    end
    # rubocop:enable Metrics/MethodLength
    # rubocop:enable Metrics/MethodLength

    def self.print_formatted_info(name, value)
      print name.ljust(15, ' ').yellow, value.blue
    end

    class << self
      private :params_help
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
dockerize_rails-1.0.3.beta.3 lib/dockerize_rails/helpers.rb
dockerize_rails-1.0.3.beta.2 lib/dockerize_rails/helpers.rb
dockerize_rails-1.0.3.beta.1 lib/dockerize_rails/helpers.rb