basic gemfile extension

This commit is contained in:
Chris Wanstrath
2011-11-06 22:20:18 -08:00
parent bb46049f47
commit 34ce4229c4
2 changed files with 35 additions and 0 deletions

View File

@@ -0,0 +1,34 @@
$ = require 'jquery'
_ = require 'underscore'
fs = require 'fs'
Extension = require 'extension'
KeyBinder = require 'key-binder'
Event = require 'event'
Watcher = require 'watcher'
module.exports =
class Gemfile extends Extension
constructor: ->
Event.on 'extensions:loaded', @addRubyGemsDir
addRubyGemsDir: =>
paths = window.extensions.Tree.paths
gemfile = _.detect paths, ({path}) -> /Gemfile/i.test path
if gemfile
paths.push
label: "RubyGems"
path: "http://rubygems.org/"
paths: @gemsFromGemFile gemfile.path
window.extensions.Tree.reload()
gemsFromGemFile: (path) ->
file = fs.read path
gems = []
for line in file.split "\n"
if gem = line.match(/^\s*gem ['"](.+?)['"]/)?[1]
gems.push label: gem, path: "https://rubygems.org/gems/#{gem}"
gems

View File

@@ -0,0 +1 @@
module.exports = require 'gemfile/gemfile'