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.
 
 
 
 
 

38 lines
685 B

  1. require 'calefaction/eve'
  2. class User < ActiveRecord::Base
  3. has_secure_password
  4. alias_attribute :admin?, :is_admin
  5. def characters
  6. ensure_api_user
  7. chars = @api.characters
  8. chars.nil? ? [] : chars
  9. end
  10. def name
  11. ensure_api_user
  12. sheet = @api.character_sheet(userid)
  13. sheet.nil? ? '?' : sheet.name
  14. end
  15. def corp_id
  16. ensure_api_user
  17. sheet = @api.character_sheet(userid)
  18. sheet.nil? ? 0 : sheet.corporationID.to_i
  19. end
  20. def member_of?(corp)
  21. corp_id == corp
  22. end
  23. def in_corp?
  24. member_of? AdminSetting.get(:corp_id).to_i
  25. end
  26. private
  27. def ensure_api_user
  28. @api ||= Calefaction::EVE::APIUser.new(api_key, api_verify)
  29. end
  30. end