Method: Bandshell::PlayerInfo#update
- Defined in:
- lib/bandshell/player_info.rb
#update ⇒ Object
Fetches the latest player settings from Concerto TODO: Store settings in BandshellConfig (and update whenever they have changed) so that configs are immediately available at boot. Returns true on success, false on failure.
37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 |
# File 'lib/bandshell/player_info.rb', line 37 def update data = Bandshell::HardwareApi::get_player_info if data.nil? puts "update_player_info: Recieved null data from get_player_info!" elsif data == :stat_serverr puts "update_player_info: Server error while retrieving player info." elsif data == :stat_badauth puts "update_player_info: Auth error while retrieving player info." else unless data['screen'].nil? or data['screen']['name'].nil? @screen_name = data['screen']['name'] end tz_string = data['time_zone'] unless tz_string.nil? or tz_string.empty? begin new_tz = TZInfo::Timezone.get(tz_string) @timezone = tz_string rescue TZInfo::InvalidTimezoneIdentifier => e puts "update_player_info: Invalid timezone received." end end # TZ identifier present new_rules = data['screen_on_off'] if new_rules.nil? or !new_rules.is_a? Array puts "update_player_info: Invalid screen on/off rules received." else @on_off_rules = new_rules @last_update = Time.now return true end end return false end |