aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew/cmd
diff options
context:
space:
mode:
authorMike McQuaid2014-09-20 14:33:59 +0100
committerMike McQuaid2014-09-24 15:22:51 -0700
commit5be03060eab6faa37dd9345d38befaff60919d2b (patch)
tree1f2aceef06dbbab058eb4a5b1cec8e75246d00d9 /Library/Homebrew/cmd
parent3fc691d4e5fa6ea568643b89b28346ef9303346b (diff)
downloadhomebrew-5be03060eab6faa37dd9345d38befaff60919d2b.tar.bz2
brew-aspell-dictionaries: make a developer command
Diffstat (limited to 'Library/Homebrew/cmd')
-rwxr-xr-xLibrary/Homebrew/cmd/aspell-dictionaries.rb40
1 files changed, 40 insertions, 0 deletions
diff --git a/Library/Homebrew/cmd/aspell-dictionaries.rb b/Library/Homebrew/cmd/aspell-dictionaries.rb
new file mode 100755
index 000000000..82f25fec7
--- /dev/null
+++ b/Library/Homebrew/cmd/aspell-dictionaries.rb
@@ -0,0 +1,40 @@
+require 'open-uri'
+require 'resource'
+require 'formula'
+
+module Homebrew
+ def aspell_dictionaries
+ dict_url = "http://ftpmirror.gnu.org/aspell/dict"
+ dict_mirror = "http://ftp.gnu.org/gnu/aspell/dict"
+ languages = {}
+
+ open("#{dict_url}/0index.html") do |content|
+ content.each_line do |line|
+ break if %r{^</table} === line
+ next unless /^<tr><td><a/ === line
+
+ fields = line.split('"')
+ lang, path = fields[1], fields[3]
+ lang.gsub!("-", "_")
+ languages[lang] = path
+ end
+ end
+
+ languages.inject([]) do |resources, (lang, path)|
+ r = Resource.new(lang)
+ r.owner = Formulary.factory("aspell")
+ r.url "#{dict_url}/#{path}"
+ r.mirror "#{dict_mirror}/#{path}"
+ resources << r
+ end.each(&:fetch).each do |r|
+ puts <<-EOS
+ resource "#{r.name}" do
+ url "#{r.url}"
+ mirror "#{r.mirrors.first}"
+ sha1 "#{r.cached_download.sha1}"
+ end
+
+ EOS
+ end
+ end
+end