lib/core/environments.rb in radon-0.1.4 vs lib/core/environments.rb in radon-0.1.5

- old
+ new

@@ -1,16 +1,19 @@ require "core/constants" module Radon class Environments + + # The list of all supported environments and their associeted data paths @@all = { 'gradle' => File.join(DATA_DIR, "gradle.zip"), 'java' => File.join(DATA_DIR, "java.zip"), 'maven' => File.join(DATA_DIR, "maven.zip"), 'python' => File.join(DATA_DIR, "python.zip"), - 'c' => File.join(DATA_DIR, "c.zip"), - 'ruby (beta)' => File.join(DATA_DIR, "ruby.zip"), - 'crystal'=> File.join(DATA_DIR, "crystal_app.zip") + 'c' => File.join(DATA_DIR, "c.zip"), + 'ruby' => File.join(DATA_DIR, "ruby.zip"), + 'crystal'=> File.join(DATA_DIR, "crystal_app.zip"), + 'go_s' => File.join(DATA_DIR, "go_s.zip") } # Gets all environments as an array of strings def self.getAllNames @@all.keys @@ -19,27 +22,17 @@ # Gets the value (corrosponding zip) of the key def self.getTargetOf(key) @@all[key] end + # Extract the zip def self.extract(key, target) - case key - when 'gradle' - extract_gradle(target) - when 'java' - extract_java(target) - when 'python' - extract_python(target) - when 'ruby' - extract_ruby(target) - when 'maven' - extract_maven(target) - when 'c' - extract_c(target) - when 'crystal' - extract_crystal(target) + envs = self.getAllNames + if envs.include? key + send "extract_#{key}", target else error("#{key} is not a supported environment.\nYou can suggest it be added at https://github.com/cbrnrd/radon/issues") end end + end end