class Openfoodfacts::User

Public Class Methods

login(user_id, password, locale: DEFAULT_LOCALE, domain: DEFAULT_DOMAIN) click to toggle source

Login

# File lib/openfoodfacts/user.rb, line 10
def login(user_id, password, locale: DEFAULT_LOCALE, domain: DEFAULT_DOMAIN)
  path = 'cgi/session.pl'
  uri = URI("https://#{locale}.#{domain}/#{path}")
  params = {
    "jqm" => "1",
    "user_id" => user_id,
    "password" => password
  }

  response = Net::HTTP.post_form(uri, params)
  data = JSON.parse(response.body)

  if data['user_id']
    data.merge!(password: password)
    new(data)
  end
end

Public Instance Methods

login(locale: DEFAULT_LOCALE) click to toggle source

Login

# File lib/openfoodfacts/user.rb, line 32
def login(locale: DEFAULT_LOCALE)
  if user = self.class.login(self.user_id, self.password, locale: locale)
    self.name = user.name
    self
  end
end