---
- name: "Ensure {{ app_name }} is installed"
  community.general.gem:
    name: gist
    user_install: false
    state: "{{ app_state | default('present') }}"

- name: Ensure token is added
  become_user: "{{ user.username }}"
  copy:
    content: "{{ user.github_gist_token }}"
    dest: ~/.gist
    mode: 0600
  loop: "{{ user_configs }}"
  loop_control:
    label: "{{ user.username }}"
    loop_var: user
  when:
    - (user.system is not defined) or ((user.system is defined) and (not user.system))
    - user.github_gist_token is defined
