2012-12-10 11 views

Antwort

1

Sie können die Edelsteinspezifikation überprüfen, um zu sehen, ob extensions definiert ist. Sie müssen das Juwel herunterladen oder überprüfen Sie die Quelle, dies zu tun, aber es ist nicht schwierig, mit ein wenig Unix-fu programmatisch zu tun:

curl -L <gem-url> | tar xOf - metadata.gz | gunzip | ruby -r yaml -e 'p YAML.load($stdin.read).extensions.any?' 

Lassen Sie uns bson & bson_ext vergleichen (da sie die erste nicht sind -C-Erweiterung und C-Erweiterung Versionen des gleichen Juwel ich denken konnte):

% curl -L https://rubygems.org/downloads/bson-1.8.0.gem | tar xOf - metadata.gz | gunzip | ruby -r yaml -e 'p YAML.load($stdin.read).extensions.any?' 
false 

% curl -L https://rubygems.org/downloads/bson_ext-1.8.0.gem | tar xOf - metadata.gz | gunzip | ruby -r yaml -e 'p YAML.load($stdin.read).extensions.any?' 
true 

Sie die Notwendigkeit automatisieren könnte die aktuelle Version des Edelsteins wissen, unter Verwendung der RubyGems API:

curl https://rubygems.org/api/v1/gems/bson.yaml | ruby -r yaml -e 'p YAML.load($stdin.read)["version"]' 
Verwandte Themen