pm25 0.0.2 → 0.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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