App-git-hub

 view release on metacpan or  search on metacpan

share/lib/git-hub  view on Meta::CPAN

    ! "$raw_output" && echo
  fi
}

report-value() {
  local key="${1//__/\/}"
  local value="$(JSON.get -a "/$key" -)"
  local label="$key"
  if [ "$key" == created_at ]; then
    value="${value%T*}"
  elif [ "$key" == updated_at ]; then
    value="${value%T*}"
  elif [ "$key" == pushed_at ]; then
    value="${value/T/ }"
    value="${value/Z/}"
  fi
  if ! "$raw_output"; then
    local var="label_$1"
    label="${!var}"
    if [ -z "$label" ]; then
      label="$1"

share/lib/git-hub.d/git-hub-issue  view on Meta::CPAN


command:issues() {
  get-args '?owner:get-user/repo:get-repo'

  state=open
  "$do_all" && state=all

  title="Issues for '$owner/$repo' (state=$state):"

  report-list \
    "/repos/$owner/$repo/issues?state=$state;sort=updated;direction=desc;per_page=PER_PAGE" \
    'number updated_at state user/login title'
}

format-entry:issues() {
  if "$raw_output"; then
    echo "$2"
  else
    printf "#%-3d (%s) %-6s @%-16s %s\n" "$2" "${3/T*/}" "$4" "$5" "$6"
  fi
}

share/lib/git-hub.d/git-hub-issue  view on Meta::CPAN

}

write-issue() {
  report-data

  local comments="$(JSON.get -n /comments -)"
  if [ "$comments" -gt 0 ]; then
    echo Comments:
    command=comments
    report-list \
      "/repos/$owner/$repo/issues/$number/comments?sort=updated;per_page=PER_PAGE" \
      'user/login updated_at body'
  fi
}

format-entry:comments() {
  printf "%d) %-14s (%s)\n" "$1" "$2" "${3/T*/}"
  local text
  normalize-multiline-text-output "$4" " "
  echo "$text"
  echo
  :

share/lib/git-hub.d/git-hub-notify  view on Meta::CPAN

  require-auth
  local all=false
  "$do_all" && all=true

  title="Notifications for '$login' (all=$all):"

  list_size=$Infinity
  interactive=false
  report-list \
    "/notifications?all=$all" \
    'subject/title reason updated_at unread subject/type subject/url'
}

format-entry:notify-list() {
  if "$raw_output"; then
    out "$2"
  else
    local url="${7/api\./}"
    url="${url/repos\//}"
    printf -v output_line "%2d) %s  (%s)\n      %s) unread=%s (%s) %s" \
      "$1" "$2" "$3" "${4%T*}" "$5" "$6" "$url"

share/lib/git-hub.d/git-hub-other  view on Meta::CPAN

  require-auth
  get-args '?owner:get-user/repo:get-repo'
  api-delete "/user/subscriptions/$owner/$repo"
  msg_ok="You are no longer watching '$owner/$repo'"
}

command:watching() {
  get-args '?user:get-user'
  say "'$user' is watching:"
  report-list \
    "/users/$user/subscriptions?sort=updated;per_page=PER_PAGE" \
    full_name
}

command:watchers() {
  get-args '?owner:get-user/repo:get-repo'
  say "'$owner/$repo' is being watched by:"
  report-list \
    "/repos/$owner/$repo/subscribers" \
    login
}

command:starred() {
  get-args '?user:get-user'
  report-list \
    "/users/$user/starred?sort=updated;per_page=PER_PAGE" \
    full_name
}

command:collabs() {
  get-args '?owner:get-user/repo:get-repo'
  report-list \
    "/repos/$owner/$repo/collaborators" \
    login
}

share/lib/git-hub.d/git-hub-pr  view on Meta::CPAN


command:pr-list() {
  get-args '?owner:get-owner/repo:get-repo'

  state=open
  "$do_all" && state=all

  title="Pull requests for '$owner/$repo' (state=$state):"

  report-list \
    "/repos/$owner/$repo/pulls?state=$state;sort=updated;per_page=PER_PAGE" \
    'number state title user/login created_at updated_at head/label base/label'
}

format-entry:pr-list() {
  if "$raw_output"; then
    echo "$2"
  else
    printf "#%-3d %-8s %s\n     @%-12s Created: %s  Updated: %s\n     %s\n" \
      "$2" "($3)" "$4" "$5" "${6/T*/}" "${7/T*/}" "$8 → $9"
  fi
}

share/lib/git-hub.d/git-hub-user  view on Meta::CPAN


command:user() {
  get-args '?user:get-user'
  api-get "/users/$user"
  msg_404="User '$user' not found."
}

ok:user() {
  fields=(
    login type name html_url email blog location company bio
    followers following public_repos public_gists created_at updated_at
  )
  report-data
}

command:user-get() {
  get-args '?user:get-user' key
  api-get "/users/$user"
  OK || {
    msg_fail="User '$user' not found"
    return



( run in 0.286 second using v1.01-cache-2.11-cpan-05444aca049 )