Sha256: 0a6de1b7edcfd2a7f2c41c7e0a057059695e76fb8454cada30a17e1b5b6159c0

Contents?: true

Size: 1.38 KB

Versions: 2

Compression:

Stored size: 1.38 KB

Contents

require 'thor'

require 'site_hook/config_class'
module SiteHook
  def self.log_levels
    default = {
      'hook' => 'info',
      'build' => 'info',
      'git' => 'info',
      'app' => 'info'
    }
    begin
      log_level = YAML.load_file(Pathname(Dir.home).join('.jph-rc')).fetch('log_levels')
      if log_level
        log_level
      end
    rescue KeyError
      default
    rescue Errno::ENOENT
      default
    end
  end

  class CLI < Thor
    map %w[--version -v] => :__print_version
    desc '--version, -v', 'Print the version'

    # Prints version string
    # @return [NilClass] nil
    def __print_version
      puts "Version: v#{SiteHook::VERSION}"
    end

    map %w(--gem-info --info --about) => :__gem_info
    desc '--gem-info, --info, --about', 'Print info on the gem.'
    def __gem_info
      say "Gem Name: #{SiteHook::Gem::Info.name}"
      say "Gem Constant: #{SiteHook::Gem::Info.constant_name}"
      say "Gem Author: #{SiteHook::Gem::Info.author}"
      say "Gem Version: v#{SiteHook::VERSION}"
    end

    method_option(:log_levels, type: :hash, banner: 'LEVELS', default: SiteHook.log_levels)
    desc 'start', 'Start SiteHook'
    def start

      SiteHook.mklogdir unless SiteHook::Gem::Paths.logs.exist?
      SiteHook::Webhook.run!
    end
    desc 'config SUBCOMMAND [OPTIONS]', 'Configure site_hook options'
    subcommand('config', SiteHook::ConfigClass)
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
site_hook-0.6.8 lib/site_hook/cli.rb
site_hook-0.6.7 lib/site_hook/cli.rb