Class: Pupu::GitHub
- Inherits:
-
Object
- Object
- Pupu::GitHub
- Extended by:
- ShellExtensions
- Defined in:
- lib/pupu/github.rb
Class Method Summary collapse
-
.install(repo, options = Hash.new) ⇒ Object
GitHub.install(“autocompleter”) GitHub.install(“botanicus/autocompleter”, force: true).
-
.search(query) ⇒ Object
search for pupu.
- .update(pupu_name) ⇒ Object
Methods included from ShellExtensions
Class Method Details
.install(repo, options = Hash.new) ⇒ Object
GitHub.install(“autocompleter”) GitHub.install(“botanicus/autocompleter”, force: true)
25 26 27 28 29 30 31 32 33 |
# File 'lib/pupu/github.rb', line 25 def install(repo, = Hash.new) user, repo = repo.split("/") if repo.match(%r{/}) user = ENV["USER"] unless user url = "git://github.com/#{user}/pupu-#{repo}.git" info "Installing #{repo}" self.install_files(repo, url, ) self.install_dependencies(@pupu, ) # TODO: git commit [files] -m "Added pupu #{repo} from #{url}" end |
.search(query) ⇒ Object
search for pupu
58 59 60 61 62 |
# File 'lib/pupu/github.rb', line 58 def search(query) data = YAML::load("http://github.com/api/v1/yaml/search/pupu") data.map! { |result| OpenStruct.new(result) } data.select { |item| item.name.match(query) } end |
.update(pupu_name) ⇒ Object
35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 |
# File 'lib/pupu/github.rb', line 35 def update(pupu_name) if pupu_name pupu = Pupu[pupu_name] if ::Pupu.strategy.eql?(:submodules) puts %(git fetch) puts %(git reset origin/master --hard) else path = pupu.root.to_s # otherwise after we remove the path, we get error at mkdir telling us that the path doesn't exist pupu. # cache metadata FileUtils.rm_r(path) self.install_files(pupu_name, pupu..repository) end else Pupu.all.each do |pupu_name| self.update(pupu_name) end end pupu..dependencies.each do |dependency| self.update(dependency) end end |