Class: Berkshelf::GithubLocation

Inherits:
GitLocation show all
Defined in:
lib/berkshelf/locations/github.rb

Constant Summary collapse

HOST =
"github.com".freeze

Instance Attribute Summary

Attributes inherited from GitLocation

#branch, #ref, #rel, #revision, #tag, #uri

Attributes inherited from BaseLocation

#dependency, #options

Instance Method Summary collapse

Methods inherited from GitLocation

#==, #cached_cookbook, #install, #installed?, #to_lock, #to_s

Methods included from Mixin::Git

#git

Methods included from ShellOut

#shell_out, #shell_out!

Methods inherited from BaseLocation

#cached_cookbook, #install, #installed?, #to_lock, #validate_cached!

Constructor Details

#initialize(dependency, options = {}) ⇒ GithubLocation

Returns a new instance of GithubLocation.



4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# File 'lib/berkshelf/locations/github.rb', line 4

def initialize(dependency, options = {})
  protocol = Berkshelf::Config.instance.github_protocol || :https
  case protocol
  when :ssh
    options[:git] = "git@#{HOST}:#{options.delete(:github)}.git"
  when :https
    options[:git] = "https://#{HOST}/#{options.delete(:github)}.git"
  when :git
    options[:git] = "git://#{HOST}/#{options.delete(:github)}.git"
  else
    # if some bizarre value is provided, treat it as :https
    options[:git] = "https://#{HOST}/#{options.delete(:github)}.git"
  end
  super
end