class Hyrb::Tasks::Developers::Download
Public Instance Methods
run(env)
click to toggle source
# File lib/hyrb/tasks/developers.rb, line 35 def run(env) response = Faraday.post "https://accounts.google.com/o/oauth2/token", refresh_token: env.creds.google_refresh_token, client_id: env.creds.google_client_id, client_secret: env.creds.google_client_secret, grant_type: "refresh_token" access_token = JSON.parse(response.body)['access_token'] seeder = GoogleDocSeed.new(access_token) csv_string = seeder.to_csv_string(env.creds.google_spreadsheet_key) csv = CSV.parse(csv_string, GoogleCSVConverters::CSV_SETTINGS) env.developers = Hyrb::Models::Cache::Developers.new env.developers.data = csv.map do |row| pks = [] while true field = row.delete(:public_key) if field.length > 1 pks << field[1] if field[1] else break end end Hyrb::Models::Developer.new({ name: row[:name], email: row[:email], role: Hyrb::Models::Developer::ROLE_MAP[row[:role].to_i], github_username: row[:github], keys: pks, }) if row[:role].to_i < 4 && row[:email] end.compact env.developers.save! say "Developer data downloaded", :green end