diff --git a/tern/command_lib/base.yml b/tern/command_lib/base.yml index de0d5545..e5d5a041 100644 --- a/tern/command_lib/base.yml +++ b/tern/command_lib/base.yml @@ -301,3 +301,48 @@ pip3: - "pkgs=`pip3 list --format=freeze 2> /dev/null | cut -f1 -d'='`" - "for p in $pkgs; do pip3 show $p 2> /dev/null | head -7 | tail -1 | cut -f2 -d' '; done" delimiter: "\n" +gem: + pkg_format: '' + os_guess: + - 'None' + path: + - 'usr/local/bin/gem' + shell: '/bin/bash' # could also be 'usr/bin/sh' + pkg_separators: + - ':' + - '-v ' + - '>=' + - '<=' + - '<' + - '>' + - '~>' + - '-v ' + pinning_separator: ':' + names: + invoke: + 1: + container: + - "gem list 2> /dev/null | cut -f1 -d' '" + delimiter: "\n" + versions: + invoke: + 1: + container: + - "pkgs=`gem list 2> /dev/null | cut -f1 -d' '`" + - "for p in $pkgs; do gem list $p 2> /dev/null | head -2 | cut -f2 -d'(' | cut -f1 -d')' | cut -f2 -d' '; done" + delimiter: "\n" + licenses: + invoke: + 1: + container: + - "pkgs=`gem list 2> /dev/null | cut -f1 -d' '`" + # Output 'Unknown' if license is blank + - "for p in $pkgs; do lic=`gem spec $p license | head -1 | cut -f2 -d' '`; if [ -z $lic ]; then echo 'Unknown'; else echo $lic; fi; done" + delimiter: "\n" + proj_urls: + invoke: + 1: + container: + - "pkgs=`gem list 2> /dev/null | awk '{print $1}'`" + - "for p in $pkgs; do proj_url=`gem spec $p homepage | head -1 | cut -f2 -d' '`; if [ -z $proj_url ]; then echo 'Unknown'; else echo $proj_url; fi; done" + delimiter: "\n" diff --git a/tern/command_lib/snippets.yml b/tern/command_lib/snippets.yml index 09814e86..4783ec59 100644 --- a/tern/command_lib/snippets.yml +++ b/tern/command_lib/snippets.yml @@ -84,3 +84,11 @@ pip3: - 'hash' - 'wheel' packages: 'pip3' +gem: + install: 'install' + remove: 'uninstall' + ignore: + - 'ls' + - 'list' + - 'restart' + packages: 'gem'