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.
 
 
 
 
 

39 lines
649 B

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