class FFXIVScraper::Lodestone::WorldStatus
Constants
- INTERVAL
- Status
Public Class Methods
new()
click to toggle source
# File lib/ffxiv_scraper/lodestone/world_status.rb, line 11 def initialize set_locale @needs_update = true @update_at = Time.now @statuses = [] end
Public Instance Methods
get_dc_statuses(dc_name)
click to toggle source
# File lib/ffxiv_scraper/lodestone/world_status.rb, line 52 def get_dc_statuses(dc_name) get_statuses @statuses.select { |a| a.dc == dc_name.downcase } end
get_status(world_name)
click to toggle source
# File lib/ffxiv_scraper/lodestone/world_status.rb, line 47 def get_status(world_name) get_statuses @statuses.find { |a| a.world == world_name.downcase } end
get_statuses()
click to toggle source
# File lib/ffxiv_scraper/lodestone/world_status.rb, line 23 def get_statuses if (Time.now - @update_at) > INTERVAL @needs_update = true end if @needs_update @statuses = [] doc = open_html(get_lodestone_url << "/worldstatus/") dc_name = "" doc.xpath('//h2[@class="heading--md parts__space--reset"]|//div[@class="item-list__worldstatus"]').each do |content| world = "" status = "" if content.name == "h2" dc_name = content.text.downcase else @statuses << Status.new(dc_name, content.xpath("./h3").text.downcase, content.xpath("./p").text.strip.downcase) end end @update_at = Time.now @needs_update = false end return @statuses end
set_locale(lang = :ja)
click to toggle source
# File lib/ffxiv_scraper/lodestone/world_status.rb, line 18 def set_locale(lang = :ja) @lang = lang @needs_update = true end