class AnsibleGalaxy::Roles::Private
Authenticated Access to Roles
Public Class Methods
new(options = {})
click to toggle source
# File lib/ansible_galaxy/roles.rb, line 13 def initialize(options = {}) username = options.fetch 'username', ENV['ANSIBLE_GALAXY_USERNAME'] password = options.fetch 'password', ENV['ANSIBLE_GALAXY_PASSWORD'] @auth = "#{username}:#{password}" @my = AnsibleGalaxy::Me.new(options) end
Public Instance Methods
find(name)
click to toggle source
# File lib/ansible_galaxy/roles.rb, line 21 def find(name) @my.roles.select { |role| role['name'] == name } end
find_id(name)
click to toggle source
# File lib/ansible_galaxy/roles.rb, line 26 def find_id(name) find(name).first['id'] end
refresh(names)
click to toggle source
# File lib/ansible_galaxy/roles.rb, line 31 def refresh(names) Typhoeus::Hydra.new.tap do |hydra| names.each { |name| hydra.queue refresh_role name } end.run end
Private Instance Methods
refresh_role(name)
click to toggle source
# File lib/ansible_galaxy/roles.rb, line 40 def refresh_role(name) request_refresh(find_id name).tap do |request| request.on_complete do |response| sync = "Sync #{@my.username}.#{name}" response.code == 302 ? Announce.success(sync) : Announce.failure(sync) end end end
request_refresh(id)
click to toggle source
# File lib/ansible_galaxy/roles.rb, line 50 def request_refresh(id) Typhoeus::Request.new( "https://galaxy.ansible.com/accounts/role/refresh/#{id}", userpwd: @auth) end