A corporation manager and dashboard for EVE Online
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

49 lines
834 B

  1. require 'eaal'
  2. class User < ActiveRecord::Base
  3. has_secure_password
  4. alias_attribute :admin?, :is_admin
  5. def name
  6. ensure_api_user
  7. @api.scope = 'char'
  8. begin
  9. @api.CharacterSheet(characterID: userid).name
  10. rescue EAAL::Exception::EAALError
  11. '?'
  12. end
  13. end
  14. def in_corp?
  15. member_of? AdminSetting.get(:corp_id).to_i
  16. end
  17. def member_of?(corp)
  18. corp_id == corp
  19. end
  20. def corp_id
  21. ensure_api_user
  22. @api.scope = 'char'
  23. begin
  24. @api.CharacterSheet(characterID: userid).corporationID.to_i
  25. rescue EAAL::Exception::EAALError
  26. 0
  27. end
  28. end
  29. def characters
  30. ensure_api_user
  31. begin
  32. @api.Characters.characters
  33. rescue EAAL::Exception::EAALError
  34. []
  35. end
  36. end
  37. private
  38. def ensure_api_user
  39. @api ||= EAAL::API.new(api_key, api_verify)
  40. end
  41. end