Module: Bukin

Defined in:
lib/bukin.rb,
lib/bukin/cli.rb,
lib/bukin/state.rb,
lib/bukin/bukget.rb,
lib/bukin/bukfile.rb,
lib/bukin/jenkins.rb,
lib/bukin/version.rb,
lib/bukin/download.rb,
lib/bukin/resource.rb,
lib/bukin/bukkit_dl.rb,
lib/bukin/installer.rb,
lib/bukin/file_match.rb

Defined Under Namespace

Classes: Bukfile, BukfileError, Bukget, BukinError, BukkitDl, CLI, Download, FileMatch, FileState, InstallError, Installer, Jenkins, MissingProviderError, NoDownloadError, Resource, State, VersionError

Constant Summary collapse

VERSION =
'0.9.0'

Class Method Summary collapse

Class Method Details

.get_json(url) ⇒ Object



39
40
41
# File 'lib/bukin.rb', line 39

def self.get_json(url)
  JSON.parse(open(url).read)
end

.try_get_json(url) ⇒ Object



43
44
45
46
47
# File 'lib/bukin.rb', line 43

def self.try_get_json(url)
  get_json(url)
rescue OpenURI::HTTPError
  nil
end

.with_friendly_errorsObject



49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
# File 'lib/bukin.rb', line 49

def self.with_friendly_errors
  yield
rescue BukinError => error
  abort error.message
rescue SocketError => error
  abort "#{error.message}\nCheck that you have a stable connection and the service is online"
rescue Errno::ENOENT => error
  abort error.message
rescue Interrupt
  abort ''
rescue Exception => error
  puts %Q(
    Oops, Bukin just crashed.  Please report this at http://bit.ly/bukin-issues
    Be sure to include as much information as possible such as your Bukfile,
    Bukfile.lock and the stack trace below.
  )
  raise error
end