Sha256: 0614de966debee7c702f282dba483e1ca356c010a4afd0bf95ee76b1cde2f0eb

Contents?: true

Size: 1.99 KB

Versions: 53

Compression:

Stored size: 1.99 KB

Contents

$:.unshift(File.dirname(__FILE__))
require 'rubygems'

# Load the vendor gems
$:.unshift(File.dirname(__FILE__) + "/../vendor/gems")
%w(trollop).each do |library|
  begin
    require "#{library}/lib/#{library}"
  rescue LoadError
    begin
      require 'trollop'
    rescue LoadError
      puts "There was an error loading #{library}. Try running git submodule init && git submodule update to correct the problem"
    end
  end
end

require 'ext/core'
require 'ext/colorize'
require 'git-style-binary/autorunner'
Dir[File.dirname(__FILE__) + "/git-style-binary/helpers/*.rb"].each {|f|  require f}

module GitStyleBinary
 
  class << self
    include Helpers::NameResolver
    attr_accessor :current_command
    attr_accessor :primary_command
    attr_writer :known_commands

    # If set to false GitStyleBinary will not automatically run at exit.
    attr_writer :run

    # Automatically run at exit?
    def run?
      @run ||= false
    end

    def parser
      @p ||= Parser.new
    end

    def known_commands
      @known_commands ||= {}
    end

    def load_primary
      unless @loaded_primary
        @loaded_primary = true
        primary_file = File.join(binary_directory, basename) 
        load primary_file

        if !GitStyleBinary.primary_command # you still dont have a primary load a default
          GitStyleBinary.primary do
            run do |command|
              educate
            end
          end
        end
      end
    end

    def load_subcommand
      unless @loaded_subcommand
        @loaded_subcommand = true
        cmd_file = GitStyleBinary.binary_filename_for(GitStyleBinary.current_command_name)
        load cmd_file
      end
    end

    def load_command_file(name, file)
      self.name_of_command_being_loaded = name
      load file
      self.name_of_command_being_loaded = nil
    end

    # UGLY eek
    attr_accessor :name_of_command_being_loaded
   
  end
end

at_exit do
  unless $! || GitStyleBinary.run?
    command = GitStyleBinary::AutoRunner.run
    exit 0
  end
end

Version data entries

53 entries across 53 versions & 5 rubygems

Version Path
auser-poolparty-1.2.11 vendor/gems/git-style-binaries/lib/git-style-binary.rb
auser-poolparty-1.2.12 vendor/gems/git-style-binaries/lib/git-style-binary.rb
auser-poolparty-1.3.0 vendor/gems/git-style-binaries/lib/git-style-binary.rb
auser-poolparty-1.3.1 vendor/gems/git-style-binaries/lib/git-style-binary.rb
auser-poolparty-1.3.10 vendor/gems/git-style-binaries/lib/git-style-binary.rb
auser-poolparty-1.3.11 vendor/gems/git-style-binaries/lib/git-style-binary.rb
auser-poolparty-1.3.12 vendor/gems/git-style-binaries/lib/git-style-binary.rb
auser-poolparty-1.3.13 vendor/gems/git-style-binaries/lib/git-style-binary.rb
auser-poolparty-1.3.14 vendor/gems/git-style-binaries/lib/git-style-binary.rb
auser-poolparty-1.3.15 vendor/gems/git-style-binaries/lib/git-style-binary.rb
auser-poolparty-1.3.16 vendor/gems/git-style-binaries/lib/git-style-binary.rb
auser-poolparty-1.3.17 vendor/gems/git-style-binaries/lib/git-style-binary.rb
auser-poolparty-1.3.2 vendor/gems/git-style-binaries/lib/git-style-binary.rb
auser-poolparty-1.3.3 vendor/gems/git-style-binaries/lib/git-style-binary.rb
auser-poolparty-1.3.4 vendor/gems/git-style-binaries/lib/git-style-binary.rb
auser-poolparty-1.3.5 vendor/gems/git-style-binaries/lib/git-style-binary.rb
auser-poolparty-1.3.6 vendor/gems/git-style-binaries/lib/git-style-binary.rb
auser-poolparty-1.3.7 vendor/gems/git-style-binaries/lib/git-style-binary.rb
auser-poolparty-1.3.8 vendor/gems/git-style-binaries/lib/git-style-binary.rb
fairchild-poolparty-1.2.12 vendor/gems/git-style-binaries/lib/git-style-binary.rb