pm25 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: b2ff8a87d9a989a23ccbac7f456fe7991fde761a
4
- data.tar.gz: 46a4b233864cbeb0f1288dab7d1cb8a246c2c20e
3
+ metadata.gz: 9ab93196de911f044eddb954a668c5d22d4a91db
4
+ data.tar.gz: e95313819d4b17c7c1000fed8b5edd53803541fd
5
5
  SHA512:
6
- metadata.gz: bef052ab41a4a9c59235066d64cee2e9ce6e4704e90c5012fa86d72cf9b806e2d195d677c920642670f2868d52ae497737425e7556ec42ced8164418b564176a
7
- data.tar.gz: 74bdaec6a5989ca25f2dbb7aade5a55e06fbc730e3347029e604367241077fa8a9f6aec2a9ae7cd01ffa1ff90069f5cbe40adbce9c0044814c7283b032eb8e23
6
+ metadata.gz: da1aa51442b263b4f2bb552da55317207598817d0ba3386d3a5beec3122eb377960f0477f581bd9f34b843f2aefacb653beaa0a34e2b8ff4e5a87b83445cfceb
7
+ data.tar.gz: 4baf7cf46b287ce60cd211b78f3187f59156e2b710443b55ecdf94d1fd1ba51290925ff921d941b8455848be96ab2fd10b56b59a8e7016fa6c8796e28d476c1e
data/README.md CHANGED
@@ -45,13 +45,21 @@ PM25::Beijing.get
45
45
  # {"title"=>"06/04/2013 5:00:00 PM",
46
46
  # ......
47
47
 
48
- PM25::Beijing.latest
49
- # => return a hash with the latest data, all value was parsed:
50
- # {"Conc"=>162.0,
51
- # "AQI"=>212,
52
- # "Desc"=>"Very Unhealthy (at 24-hour exposure at this level)",
53
- # "ReadingDateTime"=>Sat, 06 Jul 2013 17:00:00 +0000}
54
- # "ReadingDateTime"=>"06/07/2013 5:00:00 PM"}
48
+ PM25::Beijing.all
49
+ # => return an array with all data, all value been parsed:
50
+ # [{"Conc"=>125.0,
51
+ # "AQI"=>187,
52
+ # "Desc"=>"Unhealthy (at 24-hour exposure at this level)",
53
+ # "ReadingDateTime"=>Thu, 13 Jun 2013 12:00:00 +0000},
54
+ # {"Conc"=>121.0,
55
+ # "AQI"=>185,
56
+ # "Desc"=>"Unhealthy (at 24-hour exposure at this level)",
57
+ # "ReadingDateTime"=>Thu, 13 Jun 2013 11:00:00 +0000},
58
+ # {"Conc"=>110.0,
59
+ # "AQI"=>179,
60
+ # "Desc"=>"Unhealthy (at 24-hour exposure at this level)",
61
+ # "ReadingDateTime"=>Thu, 13 Jun 2013 10:00:00 +0000},
62
+ # ......
55
63
  #
56
64
  # column types:
57
65
  # - 'Conc': float
@@ -59,20 +67,33 @@ PM25::Beijing.latest
59
67
  # - 'Desc': string
60
68
  # - 'ReadingDateTime': datetime
61
69
 
70
+ PM25::Beijing.last
71
+ # => return a hash with the latest data, all value been parsed:
72
+ # {"Conc"=>125.0,
73
+ # "AQI"=>187,
74
+ # "Desc"=>"Unhealthy (at 24-hour exposure at this level)",
75
+ # "ReadingDateTime"=>Thu, 13 Jun 2013 12:00:00 +0000}
76
+
77
+
62
78
  # Shanghai
63
79
  PM25::Shanghai.get
64
- PM25::Shanghai.latest
80
+ PM25::Shanghai.all
81
+ PM25::Shanghai.last
65
82
 
66
83
  # Chengdu
67
84
  PM25::Chengdu.get
68
- PM25::Chengdu.latest
85
+ PM25::Chengdu.all
86
+ PM25::Chengdu.last
69
87
 
70
88
  # Guangzhou
71
89
  PM25::Guangzhou.get
72
- PM25::Guangzhou.latest
90
+ PM25::Guangzhou.all
91
+ PM25::Guangzhou.last
73
92
 
74
93
  # Shenyang
75
94
  PM25::Shenyang.get
95
+ PM25::Shenyang.all
96
+ PM25::Shenyang.last
76
97
  ```
77
98
 
78
99
  ## Contributing
data/lib/pm25/base.rb CHANGED
@@ -12,8 +12,12 @@ module PM25
12
12
  Hash.from_xml(HTTParty.get(url).body)['rss']['channel']['item']
13
13
  end
14
14
 
15
- def self.latest
16
- parse(get.find{|x| x.key? 'AQI'}.slice(*ATTRS))
15
+ def self.all
16
+ get.select{|x| x.key? 'AQI'}.map(&method(:slice)).map(&method(:parse))
17
+ end
18
+
19
+ def self.last
20
+ parse slice(get.find{|x| x.key? 'AQI'})
17
21
  end
18
22
 
19
23
  def self.uri
@@ -26,10 +30,14 @@ module PM25
26
30
  uri.to_s
27
31
  end
28
32
 
33
+ def self.slice(data)
34
+ data.slice(*ATTRS)
35
+ end
36
+
29
37
  def self.parse(data)
30
38
  data['Conc'] = data['Conc'].to_f
31
39
  data['AQI'] = data['AQI'].to_i
32
- data['ReadingDateTime'] = DateTime.parse(data['ReadingDateTime'])
40
+ data['ReadingDateTime'] = DateTime.strptime(data['ReadingDateTime'], '%m/%d/%Y %I:%M:%S %p')
33
41
  data
34
42
  end
35
43
  end
data/lib/pm25/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Pm25
2
- VERSION = "0.0.2"
2
+ VERSION = "0.0.3"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pm25
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Xuhao
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-06-07 00:00:00.000000000 Z
11
+ date: 2013-06-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler