github.com/danhper/asdf-exec@v0.1.3-0.20230723223931-b71340b83071/fixtures/asdf/plugins/ruby/bin/parse-legacy-file (about)

     1  #!/usr/bin/env bash
     2  
     3  get_legacy_version() {
     4    current_file="$1"
     5    basename=$(basename -- "$current_file")
     6  
     7    if [ "$basename" == "Gemfile" ]; then
     8      RUBY_VERSION=$(grep '^\s*ruby' "$current_file" |
     9        sed -e 's/[[:space:]]/ /g' -e 's/#.*//' \
    10        -e 's/engine:/:engine =>/' -e 's/engine_version:/:engine_version =>/' \
    11        -e "s/.*:engine *=> *['\"]\([^'\"]*\).*:engine_version *=> *['\"]\([^'\"]*\).*/\1-\2/" \
    12        -e "s/.*:engine_version *=> *['\"]\([^'\"]*\).*:engine *=> *['\"]\([^'\"]*\).*/\2-\1/" \
    13        -e "s/ *ruby *['\"]\([^'\"]*\).*/\1/" |
    14        head -1)
    15    elif [ "$basename" == ".ruby-version" ]; then
    16      # Get version from .ruby-version file (filters out 'ruby-' prefix if it exists).
    17      # The .ruby-version is used by rbenv and now rvm.
    18      ruby_version=$(cat "$current_file")
    19      ruby_prefix="ruby-"
    20      RUBY_VERSION=${ruby_version/#$ruby_prefix}
    21    fi
    22  
    23    echo "$RUBY_VERSION"
    24  }
    25  
    26  get_legacy_version "$1"