class Faker::Omniauth
def github(name: nil, email: nil, uid: Number.number(digits: 8).to_s)
-
(Hash)- An auth hash in the format provided by omniauth-github.
Parameters:
-
uid(String) -- A specific UID to return in the response. -
email(String) -- A specific email to return in the response. -
name(String) -- A specific name to return in the response.
def github(name: nil, email: nil, uid: Number.number(digits: 8).to_s) auth = Omniauth.new(name: name, email: email) login = auth.name.downcase.tr(' ', '-') html_url = "https://github.com/#{login}" api_url = "https://api.github.com/users/#{login}" { provider: 'github', uid: uid, info: { nickname: login, email: auth.email, name: auth.name, image: image, urls: { GitHub: html_url } }, credentials: { token: Crypto.md5, expires: false }, extra: { raw_info: { login: login, id: uid, avatar_url: image, gravatar_id: '', url: api_url, html_url: html_url, followers_url: "#{api_url}/followers", following_url: "#{api_url}/following{/other_user}", gists_url: "#{api_url}/gists{/gist_id}", starred_url: "#{api_url}/starred{/owner}{/repo}", subscriptions_url: "#{api_url}/subscriptions", organizations_url: "#{api_url}/orgs", repos_url: "#{api_url}/repos", events_url: "#{api_url}/events{/privacy}", received_events_url: "#{api_url}/received_events", type: 'User', site_admin: random_boolean, name: auth.name, company: nil, blog: nil, location: city_state, email: auth.email, hireable: nil, bio: nil, public_repos: random_number_from_range(1..1000), public_gists: random_number_from_range(1..1000), followers: random_number_from_range(1..1000), following: random_number_from_range(1..1000), created_at: Time.backward(days: 36_400).iso8601, updated_at: Time.backward(days: 2).iso8601 } } } end