Class: CWB::INSTANT

Inherits:
Object
  • Object
show all
Defined in:
lib/weatai/instant.rb

Overview

Class to organize all the data we need

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(dataid:) ⇒ INSTANT

Returns a new instance of INSTANT.



10
11
12
# File 'lib/weatai/instant.rb', line 10

def initialize(dataid:)
  @dataid = dataid
end

Instance Attribute Details

#dataidObject (readonly)

Returns the value of attribute dataid.



8
9
10
# File 'lib/weatai/instant.rb', line 8

def dataid
  @dataid
end

Class Method Details

.find(dataid:) ⇒ Object



47
48
49
# File 'lib/weatai/instant.rb', line 47

def self.find(dataid:)
  new(dataid: dataid)
end

.instantObject



14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
# File 'lib/weatai/instant.rb', line 14

def self.instant
  #return @instant if @instant
  station = CWB::Rain.instant_rain.keys
  all_location1 = CWB::Weather.instant_weather
  all_location2 = CWB::Rain.instant_rain
  all_location3 = CWB::PSI.instant_psi
  all_location4 = {}
  n = 1
  station.each do |item|
    location = {}
    location['Station'] = item
    location['City'] = all_location2[item]['city']
    location['Town'] = all_location2[item]['town']  
    location['Temp'] = all_location1[item]['TEMP']
    location['Humd'] = all_location1[item]['HUMD']
    location['Last 10 minutes Rainfall'] = all_location2[item]['MIN_10'] 
    location['Daily Accumulated Rainfall'] = all_location2[item]['Daily Accumulated Rainfall'] 
    location['PSI'] = all_location3[location['City']]['PSI'] if location['City'].in?(all_location3.keys.uniq)
    location['Status'] = all_location3[location['City']]['Status'] if location['City'].in?(all_location3.keys.uniq)
    location['Time'] = all_location1[item]['time']
    all_location4.store(n, location)
    n += 1
  end
  all_location4
end

.local(position) ⇒ Object



40
41
42
43
44
45
# File 'lib/weatai/instant.rb', line 40

def self.local(position)
  station = CWB::INSTANT.instant.keys
  if (position.in?(station))
    CWB::INSTANT.instant.assoc(position)
  end
end

Instance Method Details

#weather_testObject



51
52
53
# File 'lib/weatai/instant.rb', line 51

def weather_test
  return 'weather_test_yes'
end