china_aqi 0.0.4 → 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (49) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -0
  3. data/.rubocop.yml +60 -0
  4. data/.travis.yml +5 -1
  5. data/CHANGELOG.md +9 -0
  6. data/Gemfile +11 -3
  7. data/README.md +34 -4
  8. data/china_aqi.gemspec +18 -14
  9. data/lib/china_aqi.rb +3 -2
  10. data/lib/china_aqi/aqi/dynamic/city.rb +1 -1
  11. data/lib/china_aqi/aqi/dynamic/city_pro.rb +1 -1
  12. data/lib/china_aqi/aqi/dynamic/co.rb +1 -1
  13. data/lib/china_aqi/aqi/dynamic/no2.rb +1 -1
  14. data/lib/china_aqi/aqi/dynamic/o3.rb +1 -1
  15. data/lib/china_aqi/aqi/dynamic/pm10.rb +1 -1
  16. data/lib/china_aqi/aqi/dynamic/pm25.rb +1 -1
  17. data/lib/china_aqi/aqi/dynamic/so2.rb +1 -1
  18. data/lib/china_aqi/aqi/static/global.rb +1 -1
  19. data/lib/china_aqi/aqi/static/ranking.rb +1 -1
  20. data/lib/china_aqi/aqi/station.rb +1 -1
  21. data/lib/china_aqi/base.rb +7 -7
  22. data/lib/china_aqi/exceptions.rb +1 -1
  23. data/lib/china_aqi/helper/available_cities.rb +11 -0
  24. data/lib/china_aqi/helper/city_stations.rb +2 -3
  25. data/lib/china_aqi/utility.rb +5 -3
  26. data/lib/china_aqi/version.rb +1 -1
  27. data/lib/generators/china_aqi/install/install_generator.rb +3 -2
  28. data/spec/cassettes/ChinaAqi/ChinaAqi_AvailableCities/ChinaAqi_AvailableCities/return_an_array_or_hash_with_aqi_data_when_call_get_method.yml +139 -0
  29. data/spec/cassettes/ChinaAqi/ChinaAqi_AvailableCities/have_module_function_called_available_cities_to_get_all_available_cities.yml +139 -0
  30. data/spec/cassettes/ChinaAqi/ChinaAqi_AvailableCities/return_a_hash_with_aqi_data_when_call_get_instance_method.yml +139 -0
  31. data/spec/cassettes/ChinaAqi/ChinaAqi_CityStations/ChinaAqi_CityStations/return_an_array_or_hash_with_aqi_data_when_call_get_method.yml +69 -0
  32. data/spec/cassettes/ChinaAqi/ChinaAqi_CityStations/have_module_function_called_get_stations_for_city_to_get_stations_for_one_city.yml +69 -0
  33. data/spec/cassettes/ChinaAqi/ChinaAqi_CityStations/return_a_hash_with_aqi_data_when_call_get_instance_method.yml +69 -0
  34. data/spec/cassettes/ChinaAqi/ChinaAqi_Station/ChinaAqi_Station/return_an_array_or_hash_with_aqi_data_when_call_get_method.yml +63 -0
  35. data/spec/cassettes/ChinaAqi/Dynamic_models/ChinaAqi_CO/return_an_array_or_hash_with_aqi_data_when_call_get_method.yml +100 -0
  36. data/spec/cassettes/ChinaAqi/Dynamic_models/ChinaAqi_City/return_an_array_or_hash_with_aqi_data_when_call_get_method.yml +95 -0
  37. data/spec/cassettes/ChinaAqi/Dynamic_models/ChinaAqi_CityPro/return_an_array_or_hash_with_aqi_data_when_call_get_method.yml +58 -0
  38. data/spec/cassettes/ChinaAqi/Dynamic_models/ChinaAqi_NO2/return_an_array_or_hash_with_aqi_data_when_call_get_method.yml +100 -0
  39. data/spec/cassettes/ChinaAqi/Dynamic_models/ChinaAqi_O3/return_an_array_or_hash_with_aqi_data_when_call_get_method.yml +106 -0
  40. data/spec/cassettes/ChinaAqi/Dynamic_models/ChinaAqi_PM10/return_an_array_or_hash_with_aqi_data_when_call_get_method.yml +101 -0
  41. data/spec/cassettes/ChinaAqi/Dynamic_models/ChinaAqi_PM25/return_an_array_or_hash_with_aqi_data_when_call_get_method.yml +58 -0
  42. data/spec/cassettes/ChinaAqi/Dynamic_models/ChinaAqi_SO2/return_an_array_or_hash_with_aqi_data_when_call_get_method.yml +100 -0
  43. data/spec/cassettes/ChinaAqi/Static_models/ChinaAqi_Global/return_an_array_or_hash_with_aqi_data_when_call_get_method.yml +58 -0
  44. data/spec/cassettes/ChinaAqi/Static_models/ChinaAqi_Ranking/return_an_array_or_hash_with_aqi_data_when_call_get_method.yml +58 -0
  45. data/spec/china_aqi/aqi_spec.rb +89 -113
  46. data/spec/china_aqi/base_spec.rb +25 -32
  47. data/spec/china_aqi_spec.rb +6 -6
  48. data/spec/spec_helper.rb +7 -0
  49. metadata +54 -31
@@ -0,0 +1,100 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://www.pm25.in/api/querys/no2.json?avg=true&city=shanghai&stations=yes&token=5j1znBVAsnSf5xQyNQyq
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept-Encoding:
11
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
12
+ Accept:
13
+ - "*/*"
14
+ User-Agent:
15
+ - Ruby
16
+ response:
17
+ status:
18
+ code: 200
19
+ message: OK
20
+ headers:
21
+ Server:
22
+ - nginx
23
+ Date:
24
+ - Sat, 17 Sep 2016 08:02:06 GMT
25
+ Content-Type:
26
+ - application/json; charset=utf-8
27
+ Transfer-Encoding:
28
+ - chunked
29
+ Connection:
30
+ - keep-alive
31
+ Status:
32
+ - '200'
33
+ X-Powered-By:
34
+ - Phusion Passenger (mod_rails/mod_rack)
35
+ X-Ua-Compatible:
36
+ - IE=Edge,chrome=1
37
+ Etag:
38
+ - '"d98eb05b0801b7abc4da1a5240aeaf87"'
39
+ Cache-Control:
40
+ - max-age=0, private, must-revalidate
41
+ - no-cache
42
+ Set-Cookie:
43
+ - _aqi_query_session=BAh7B0kiD3Nlc3Npb25faWQGOgZFRkkiJWNkMmE4YzBjMGU0OTgzMjcxNzA2Mzg3ODUyYjFlZmFhBjsAVEkiHXdhcmRlbi51c2VyLmFwaV91c2VyLmtleQY7AFRbB1sGaQJCA0kiIiQyYSQxMCRYRkM0bGs4cDhXTjhWVFh1UGl5d0dPBjsAVA%3D%3D--04eb31ce536895f74e24045c4edb68ac4d80f554;
44
+ path=/; HttpOnly
45
+ X-Request-Id:
46
+ - 18696e27f4233b9bfccb418be7ad18d5
47
+ X-Runtime:
48
+ - '0.048352'
49
+ X-Rack-Cache:
50
+ - miss
51
+ body:
52
+ encoding: ASCII-8BIT
53
+ string: !binary |-
54
+ W3siYXFpIjoyMSwiYXJlYSI6IuS4iua1tyIsIm5vMiI6MjQsIm5vMl8yNGgi
55
+ OjIzLCJwb3NpdGlvbl9uYW1lIjoi5Y2B5LqU5Y6CIiwicHJpbWFyeV9wb2xs
56
+ dXRhbnQiOm51bGwsInF1YWxpdHkiOiLkvJgiLCJzdGF0aW9uX2NvZGUiOiIx
57
+ MTQyQSIsInRpbWVfcG9pbnQiOiIyMDE2LTA5LTE3VDE1OjAwOjAwWiJ9LHsi
58
+ YXFpIjoyMywiYXJlYSI6IuS4iua1tyIsIm5vMiI6MjYsIm5vMl8yNGgiOjI3
59
+ LCJwb3NpdGlvbl9uYW1lIjoi6Jm55Y+jIiwicHJpbWFyeV9wb2xsdXRhbnQi
60
+ Om51bGwsInF1YWxpdHkiOiLkvJgiLCJzdGF0aW9uX2NvZGUiOiIxMTQzQSIs
61
+ InRpbWVfcG9pbnQiOiIyMDE2LTA5LTE3VDE1OjAwOjAwWiJ9LHsiYXFpIjoz
62
+ MCwiYXJlYSI6IuS4iua1tyIsIm5vMiI6MTgsIm5vMl8yNGgiOjIyLCJwb3Np
63
+ dGlvbl9uYW1lIjoi5b6Q5rGH5LiK5biI5aSnIiwicHJpbWFyeV9wb2xsdXRh
64
+ bnQiOm51bGwsInF1YWxpdHkiOiLkvJgiLCJzdGF0aW9uX2NvZGUiOiIxMTQ0
65
+ QSIsInRpbWVfcG9pbnQiOiIyMDE2LTA5LTE3VDE1OjAwOjAwWiJ9LHsiYXFp
66
+ IjozMiwiYXJlYSI6IuS4iua1tyIsIm5vMiI6MTIsIm5vMl8yNGgiOjIzLCJw
67
+ b3NpdGlvbl9uYW1lIjoi5p2o5rWm5Zub5ryCIiwicHJpbWFyeV9wb2xsdXRh
68
+ bnQiOm51bGwsInF1YWxpdHkiOiLkvJgiLCJzdGF0aW9uX2NvZGUiOiIxMTQ1
69
+ QSIsInRpbWVfcG9pbnQiOiIyMDE2LTA5LTE3VDE1OjAwOjAwWiJ9LHsiYXFp
70
+ IjozNSwiYXJlYSI6IuS4iua1tyIsIm5vMiI6Niwibm8yXzI0aCI6OCwicG9z
71
+ aXRpb25fbmFtZSI6Iumdkua1pua3gOWxsea5liIsInByaW1hcnlfcG9sbHV0
72
+ YW50IjpudWxsLCJxdWFsaXR5Ijoi5LyYIiwic3RhdGlvbl9jb2RlIjoiMTE0
73
+ NkEiLCJ0aW1lX3BvaW50IjoiMjAxNi0wOS0xN1QxNTowMDowMFoifSx7ImFx
74
+ aSI6MjUsImFyZWEiOiLkuIrmtbciLCJubzIiOjI3LCJubzJfMjRoIjoyOCwi
75
+ cG9zaXRpb25fbmFtZSI6IumdmeWuieebkea1i+ermSIsInByaW1hcnlfcG9s
76
+ bHV0YW50IjpudWxsLCJxdWFsaXR5Ijoi5LyYIiwic3RhdGlvbl9jb2RlIjoi
77
+ MTE0N0EiLCJ0aW1lX3BvaW50IjoiMjAxNi0wOS0xN1QxNTowMDowMFoifSx7
78
+ ImFxaSI6MjgsImFyZWEiOiLkuIrmtbciLCJubzIiOjEyLCJubzJfMjRoIjox
79
+ OCwicG9zaXRpb25fbmFtZSI6Iua1puS4nOW3neaymSIsInByaW1hcnlfcG9s
80
+ bHV0YW50IjpudWxsLCJxdWFsaXR5Ijoi5LyYIiwic3RhdGlvbl9jb2RlIjoi
81
+ MTE0OEEiLCJ0aW1lX3BvaW50IjoiMjAxNi0wOS0xN1QxNTowMDowMFoifSx7
82
+ ImFxaSI6MzAsImFyZWEiOiLkuIrmtbciLCJubzIiOjE2LCJubzJfMjRoIjoy
83
+ NCwicG9zaXRpb25fbmFtZSI6Iua1puS4nOaWsOWMuuebkea1i+ermSIsInBy
84
+ aW1hcnlfcG9sbHV0YW50IjpudWxsLCJxdWFsaXR5Ijoi5LyYIiwic3RhdGlv
85
+ bl9jb2RlIjoiMTE0OUEiLCJ0aW1lX3BvaW50IjoiMjAxNi0wOS0xN1QxNTow
86
+ MDowMFoifSx7ImFxaSI6MjAsImFyZWEiOiLkuIrmtbciLCJubzIiOjYsIm5v
87
+ Ml8yNGgiOjExLCJwb3NpdGlvbl9uYW1lIjoi5rWm5Lic5byg5rGfIiwicHJp
88
+ bWFyeV9wb2xsdXRhbnQiOm51bGwsInF1YWxpdHkiOiLkvJgiLCJzdGF0aW9u
89
+ X2NvZGUiOiIxMTUwQSIsInRpbWVfcG9pbnQiOiIyMDE2LTA5LTE3VDE1OjAw
90
+ OjAwWiJ9LHsiYXFpIjoyNywiYXJlYSI6IuS4iua1tyIsIm5vMiI6MTcsIm5v
91
+ Ml8yNGgiOjI0LCJwb3NpdGlvbl9uYW1lIjoi5pmu6ZmAIiwicHJpbWFyeV9w
92
+ b2xsdXRhbnQiOm51bGwsInF1YWxpdHkiOiLkvJgiLCJzdGF0aW9uX2NvZGUi
93
+ OiIxMTQxQSIsInRpbWVfcG9pbnQiOiIyMDE2LTA5LTE3VDE1OjAwOjAwWiJ9
94
+ LHsiYXFpIjozMSwiYXJlYSI6IuS4iua1tyIsIm5vMiI6MTYsIm5vMl8yNGgi
95
+ OjIwLCJwb3NpdGlvbl9uYW1lIjpudWxsLCJwcmltYXJ5X3BvbGx1dGFudCI6
96
+ IiIsInF1YWxpdHkiOiLkvJgiLCJzdGF0aW9uX2NvZGUiOm51bGwsInRpbWVf
97
+ cG9pbnQiOiIyMDE2LTA5LTE3VDE1OjAwOjAwWiJ9XQ==
98
+ http_version:
99
+ recorded_at: Sat, 17 Sep 2016 08:02:06 GMT
100
+ recorded_with: VCR 3.0.3
@@ -0,0 +1,106 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://www.pm25.in/api/querys/o3.json?avg=true&city=shanghai&stations=yes&token=5j1znBVAsnSf5xQyNQyq
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept-Encoding:
11
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
12
+ Accept:
13
+ - "*/*"
14
+ User-Agent:
15
+ - Ruby
16
+ response:
17
+ status:
18
+ code: 200
19
+ message: OK
20
+ headers:
21
+ Server:
22
+ - nginx
23
+ Date:
24
+ - Sat, 17 Sep 2016 08:02:07 GMT
25
+ Content-Type:
26
+ - application/json; charset=utf-8
27
+ Transfer-Encoding:
28
+ - chunked
29
+ Connection:
30
+ - keep-alive
31
+ Status:
32
+ - '200'
33
+ X-Powered-By:
34
+ - Phusion Passenger (mod_rails/mod_rack)
35
+ X-Ua-Compatible:
36
+ - IE=Edge,chrome=1
37
+ Etag:
38
+ - '"7c0781ea3e0efb64e453940c05356f11"'
39
+ Cache-Control:
40
+ - max-age=0, private, must-revalidate
41
+ - no-cache
42
+ Set-Cookie:
43
+ - _aqi_query_session=BAh7B0kiD3Nlc3Npb25faWQGOgZFRkkiJTdmYzQwNWUwYTM1OWJlMzc5OTY0ZTNkNzVmNmJkNzkwBjsAVEkiHXdhcmRlbi51c2VyLmFwaV91c2VyLmtleQY7AFRbB1sGaQJCA0kiIiQyYSQxMCRYRkM0bGs4cDhXTjhWVFh1UGl5d0dPBjsAVA%3D%3D--f4c07dd7557c2c3e619c0adc68b6a22d7019bb3e;
44
+ path=/; HttpOnly
45
+ X-Request-Id:
46
+ - 220fb0c76e7df5fba669db6cb5e0c2d4
47
+ X-Runtime:
48
+ - '0.036452'
49
+ X-Rack-Cache:
50
+ - miss
51
+ body:
52
+ encoding: ASCII-8BIT
53
+ string: !binary |-
54
+ W3siYXFpIjoyMSwiYXJlYSI6IuS4iua1tyIsIm8zIjo2NywibzNfMjRoIjo2
55
+ NywibzNfOGgiOjQ3LCJvM184aF8yNGgiOjQ3LCJwb3NpdGlvbl9uYW1lIjoi
56
+ 5Y2B5LqU5Y6CIiwicHJpbWFyeV9wb2xsdXRhbnQiOm51bGwsInF1YWxpdHki
57
+ OiLkvJgiLCJzdGF0aW9uX2NvZGUiOiIxMTQyQSIsInRpbWVfcG9pbnQiOiIy
58
+ MDE2LTA5LTE3VDE1OjAwOjAwWiJ9LHsiYXFpIjoyMywiYXJlYSI6IuS4iua1
59
+ tyIsIm8zIjo2NywibzNfMjRoIjo3MCwibzNfOGgiOjQ0LCJvM184aF8yNGgi
60
+ OjQ0LCJwb3NpdGlvbl9uYW1lIjoi6Jm55Y+jIiwicHJpbWFyeV9wb2xsdXRh
61
+ bnQiOm51bGwsInF1YWxpdHkiOiLkvJgiLCJzdGF0aW9uX2NvZGUiOiIxMTQz
62
+ QSIsInRpbWVfcG9pbnQiOiIyMDE2LTA5LTE3VDE1OjAwOjAwWiJ9LHsiYXFp
63
+ IjozMCwiYXJlYSI6IuS4iua1tyIsIm8zIjo5MywibzNfMjRoIjo5MywibzNf
64
+ OGgiOjY4LCJvM184aF8yNGgiOjY4LCJwb3NpdGlvbl9uYW1lIjoi5b6Q5rGH
65
+ 5LiK5biI5aSnIiwicHJpbWFyeV9wb2xsdXRhbnQiOm51bGwsInF1YWxpdHki
66
+ OiLkvJgiLCJzdGF0aW9uX2NvZGUiOiIxMTQ0QSIsInRpbWVfcG9pbnQiOiIy
67
+ MDE2LTA5LTE3VDE1OjAwOjAwWiJ9LHsiYXFpIjozMiwiYXJlYSI6IuS4iua1
68
+ tyIsIm8zIjoxMDIsIm8zXzI0aCI6MTAyLCJvM184aCI6NzIsIm8zXzhoXzI0
69
+ aCI6NzIsInBvc2l0aW9uX25hbWUiOiLmnajmtablm5vmvIIiLCJwcmltYXJ5
70
+ X3BvbGx1dGFudCI6bnVsbCwicXVhbGl0eSI6IuS8mCIsInN0YXRpb25fY29k
71
+ ZSI6IjExNDVBIiwidGltZV9wb2ludCI6IjIwMTYtMDktMTdUMTU6MDA6MDBa
72
+ In0seyJhcWkiOjM1LCJhcmVhIjoi5LiK5rW3IiwibzMiOjEwOSwibzNfMjRo
73
+ IjoxMDksIm8zXzhoIjo4NCwibzNfOGhfMjRoIjo4NCwicG9zaXRpb25fbmFt
74
+ ZSI6Iumdkua1pua3gOWxsea5liIsInByaW1hcnlfcG9sbHV0YW50IjpudWxs
75
+ LCJxdWFsaXR5Ijoi5LyYIiwic3RhdGlvbl9jb2RlIjoiMTE0NkEiLCJ0aW1l
76
+ X3BvaW50IjoiMjAxNi0wOS0xN1QxNTowMDowMFoifSx7ImFxaSI6MjUsImFy
77
+ ZWEiOiLkuIrmtbciLCJvMyI6NzgsIm8zXzI0aCI6NzgsIm8zXzhoIjo1Nywi
78
+ bzNfOGhfMjRoIjo1NywicG9zaXRpb25fbmFtZSI6IumdmeWuieebkea1i+er
79
+ mSIsInByaW1hcnlfcG9sbHV0YW50IjpudWxsLCJxdWFsaXR5Ijoi5LyYIiwi
80
+ c3RhdGlvbl9jb2RlIjoiMTE0N0EiLCJ0aW1lX3BvaW50IjoiMjAxNi0wOS0x
81
+ N1QxNTowMDowMFoifSx7ImFxaSI6MjgsImFyZWEiOiLkuIrmtbciLCJvMyI6
82
+ ODksIm8zXzI0aCI6ODksIm8zXzhoIjo2MSwibzNfOGhfMjRoIjo2MSwicG9z
83
+ aXRpb25fbmFtZSI6Iua1puS4nOW3neaymSIsInByaW1hcnlfcG9sbHV0YW50
84
+ IjpudWxsLCJxdWFsaXR5Ijoi5LyYIiwic3RhdGlvbl9jb2RlIjoiMTE0OEEi
85
+ LCJ0aW1lX3BvaW50IjoiMjAxNi0wOS0xN1QxNTowMDowMFoifSx7ImFxaSI6
86
+ MzAsImFyZWEiOiLkuIrmtbciLCJvMyI6OTUsIm8zXzI0aCI6OTUsIm8zXzho
87
+ Ijo2MywibzNfOGhfMjRoIjo2MywicG9zaXRpb25fbmFtZSI6Iua1puS4nOaW
88
+ sOWMuuebkea1i+ermSIsInByaW1hcnlfcG9sbHV0YW50IjpudWxsLCJxdWFs
89
+ aXR5Ijoi5LyYIiwic3RhdGlvbl9jb2RlIjoiMTE0OUEiLCJ0aW1lX3BvaW50
90
+ IjoiMjAxNi0wOS0xN1QxNTowMDowMFoifSx7ImFxaSI6MjAsImFyZWEiOiLk
91
+ uIrmtbciLCJvMyI6NjQsIm8zXzI0aCI6NjQsIm8zXzhoIjo0MSwibzNfOGhf
92
+ MjRoIjo0MSwicG9zaXRpb25fbmFtZSI6Iua1puS4nOW8oOaxnyIsInByaW1h
93
+ cnlfcG9sbHV0YW50IjpudWxsLCJxdWFsaXR5Ijoi5LyYIiwic3RhdGlvbl9j
94
+ b2RlIjoiMTE1MEEiLCJ0aW1lX3BvaW50IjoiMjAxNi0wOS0xN1QxNTowMDow
95
+ MFoifSx7ImFxaSI6MjcsImFyZWEiOiLkuIrmtbciLCJvMyI6ODUsIm8zXzI0
96
+ aCI6ODUsIm8zXzhoIjo2MywibzNfOGhfMjRoIjo2MywicG9zaXRpb25fbmFt
97
+ ZSI6IuaZrumZgCIsInByaW1hcnlfcG9sbHV0YW50IjpudWxsLCJxdWFsaXR5
98
+ Ijoi5LyYIiwic3RhdGlvbl9jb2RlIjoiMTE0MUEiLCJ0aW1lX3BvaW50Ijoi
99
+ MjAxNi0wOS0xN1QxNTowMDowMFoifSx7ImFxaSI6MzEsImFyZWEiOiLkuIrm
100
+ tbciLCJvMyI6ODQsIm8zXzI0aCI6ODUsIm8zXzhoIjo2MCwibzNfOGhfMjRo
101
+ Ijo2MCwicG9zaXRpb25fbmFtZSI6bnVsbCwicHJpbWFyeV9wb2xsdXRhbnQi
102
+ OiIiLCJxdWFsaXR5Ijoi5LyYIiwic3RhdGlvbl9jb2RlIjpudWxsLCJ0aW1l
103
+ X3BvaW50IjoiMjAxNi0wOS0xN1QxNTowMDowMFoifV0=
104
+ http_version:
105
+ recorded_at: Sat, 17 Sep 2016 08:02:07 GMT
106
+ recorded_with: VCR 3.0.3
@@ -0,0 +1,101 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://www.pm25.in/api/querys/pm10.json?avg=true&city=shanghai&stations=yes&token=5j1znBVAsnSf5xQyNQyq
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept-Encoding:
11
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
12
+ Accept:
13
+ - "*/*"
14
+ User-Agent:
15
+ - Ruby
16
+ response:
17
+ status:
18
+ code: 200
19
+ message: OK
20
+ headers:
21
+ Server:
22
+ - nginx
23
+ Date:
24
+ - Sat, 17 Sep 2016 08:02:08 GMT
25
+ Content-Type:
26
+ - application/json; charset=utf-8
27
+ Transfer-Encoding:
28
+ - chunked
29
+ Connection:
30
+ - keep-alive
31
+ Status:
32
+ - '200'
33
+ X-Powered-By:
34
+ - Phusion Passenger (mod_rails/mod_rack)
35
+ X-Ua-Compatible:
36
+ - IE=Edge,chrome=1
37
+ Etag:
38
+ - '"bdcabe66801d23feda989f1d89363b5a"'
39
+ Cache-Control:
40
+ - max-age=0, private, must-revalidate
41
+ - no-cache
42
+ Set-Cookie:
43
+ - _aqi_query_session=BAh7B0kiD3Nlc3Npb25faWQGOgZFRkkiJWI4OTIzZDA5MWUxY2FmNTRjMTNmMTRhNWVmNDFiNDMwBjsAVEkiHXdhcmRlbi51c2VyLmFwaV91c2VyLmtleQY7AFRbB1sGaQJCA0kiIiQyYSQxMCRYRkM0bGs4cDhXTjhWVFh1UGl5d0dPBjsAVA%3D%3D--7e20b19b9eea05635d443a974ebaf110dd8d9c30;
44
+ path=/; HttpOnly
45
+ X-Request-Id:
46
+ - 9f78e992a18ec326bcf73578b860aabd
47
+ X-Runtime:
48
+ - '0.113401'
49
+ X-Rack-Cache:
50
+ - miss
51
+ body:
52
+ encoding: ASCII-8BIT
53
+ string: !binary |-
54
+ W3siYXFpIjoyMSwiYXJlYSI6IuS4iua1tyIsInBtMTAiOjE3LCJwbTEwXzI0
55
+ aCI6MjIsInBvc2l0aW9uX25hbWUiOiLljYHkupTljoIiLCJwcmltYXJ5X3Bv
56
+ bGx1dGFudCI6bnVsbCwicXVhbGl0eSI6IuS8mCIsInN0YXRpb25fY29kZSI6
57
+ IjExNDJBIiwidGltZV9wb2ludCI6IjIwMTYtMDktMTdUMTU6MDA6MDBaIn0s
58
+ eyJhcWkiOjIzLCJhcmVhIjoi5LiK5rW3IiwicG0xMCI6MjMsInBtMTBfMjRo
59
+ IjoyMiwicG9zaXRpb25fbmFtZSI6IuiZueWPoyIsInByaW1hcnlfcG9sbHV0
60
+ YW50IjpudWxsLCJxdWFsaXR5Ijoi5LyYIiwic3RhdGlvbl9jb2RlIjoiMTE0
61
+ M0EiLCJ0aW1lX3BvaW50IjoiMjAxNi0wOS0xN1QxNTowMDowMFoifSx7ImFx
62
+ aSI6MzAsImFyZWEiOiLkuIrmtbciLCJwbTEwIjoxNSwicG0xMF8yNGgiOjIy
63
+ LCJwb3NpdGlvbl9uYW1lIjoi5b6Q5rGH5LiK5biI5aSnIiwicHJpbWFyeV9w
64
+ b2xsdXRhbnQiOm51bGwsInF1YWxpdHkiOiLkvJgiLCJzdGF0aW9uX2NvZGUi
65
+ OiIxMTQ0QSIsInRpbWVfcG9pbnQiOiIyMDE2LTA5LTE3VDE1OjAwOjAwWiJ9
66
+ LHsiYXFpIjozMiwiYXJlYSI6IuS4iua1tyIsInBtMTAiOjE5LCJwbTEwXzI0
67
+ aCI6MjEsInBvc2l0aW9uX25hbWUiOiLmnajmtablm5vmvIIiLCJwcmltYXJ5
68
+ X3BvbGx1dGFudCI6bnVsbCwicXVhbGl0eSI6IuS8mCIsInN0YXRpb25fY29k
69
+ ZSI6IjExNDVBIiwidGltZV9wb2ludCI6IjIwMTYtMDktMTdUMTU6MDA6MDBa
70
+ In0seyJhcWkiOjM1LCJhcmVhIjoi5LiK5rW3IiwicG0xMCI6MjMsInBtMTBf
71
+ MjRoIjoyNSwicG9zaXRpb25fbmFtZSI6Iumdkua1pua3gOWxsea5liIsInBy
72
+ aW1hcnlfcG9sbHV0YW50IjpudWxsLCJxdWFsaXR5Ijoi5LyYIiwic3RhdGlv
73
+ bl9jb2RlIjoiMTE0NkEiLCJ0aW1lX3BvaW50IjoiMjAxNi0wOS0xN1QxNTow
74
+ MDowMFoifSx7ImFxaSI6MjUsImFyZWEiOiLkuIrmtbciLCJwbTEwIjoyMiwi
75
+ cG0xMF8yNGgiOjI0LCJwb3NpdGlvbl9uYW1lIjoi6Z2Z5a6J55uR5rWL56uZ
76
+ IiwicHJpbWFyeV9wb2xsdXRhbnQiOm51bGwsInF1YWxpdHkiOiLkvJgiLCJz
77
+ dGF0aW9uX2NvZGUiOiIxMTQ3QSIsInRpbWVfcG9pbnQiOiIyMDE2LTA5LTE3
78
+ VDE1OjAwOjAwWiJ9LHsiYXFpIjoyOCwiYXJlYSI6IuS4iua1tyIsInBtMTAi
79
+ OjE1LCJwbTEwXzI0aCI6MTksInBvc2l0aW9uX25hbWUiOiLmtabkuJzlt53m
80
+ spkiLCJwcmltYXJ5X3BvbGx1dGFudCI6bnVsbCwicXVhbGl0eSI6IuS8mCIs
81
+ InN0YXRpb25fY29kZSI6IjExNDhBIiwidGltZV9wb2ludCI6IjIwMTYtMDkt
82
+ MTdUMTU6MDA6MDBaIn0seyJhcWkiOjMwLCJhcmVhIjoi5LiK5rW3IiwicG0x
83
+ MCI6MTksInBtMTBfMjRoIjoyMiwicG9zaXRpb25fbmFtZSI6Iua1puS4nOaW
84
+ sOWMuuebkea1i+ermSIsInByaW1hcnlfcG9sbHV0YW50IjpudWxsLCJxdWFs
85
+ aXR5Ijoi5LyYIiwic3RhdGlvbl9jb2RlIjoiMTE0OUEiLCJ0aW1lX3BvaW50
86
+ IjoiMjAxNi0wOS0xN1QxNTowMDowMFoifSx7ImFxaSI6MjAsImFyZWEiOiLk
87
+ uIrmtbciLCJwbTEwIjoxNywicG0xMF8yNGgiOjIwLCJwb3NpdGlvbl9uYW1l
88
+ Ijoi5rWm5Lic5byg5rGfIiwicHJpbWFyeV9wb2xsdXRhbnQiOm51bGwsInF1
89
+ YWxpdHkiOiLkvJgiLCJzdGF0aW9uX2NvZGUiOiIxMTUwQSIsInRpbWVfcG9p
90
+ bnQiOiIyMDE2LTA5LTE3VDE1OjAwOjAwWiJ9LHsiYXFpIjoyNywiYXJlYSI6
91
+ IuS4iua1tyIsInBtMTAiOjI2LCJwbTEwXzI0aCI6MjcsInBvc2l0aW9uX25h
92
+ bWUiOiLmma7pmYAiLCJwcmltYXJ5X3BvbGx1dGFudCI6bnVsbCwicXVhbGl0
93
+ eSI6IuS8mCIsInN0YXRpb25fY29kZSI6IjExNDFBIiwidGltZV9wb2ludCI6
94
+ IjIwMTYtMDktMTdUMTU6MDA6MDBaIn0seyJhcWkiOjMxLCJhcmVhIjoi5LiK
95
+ 5rW3IiwicG0xMCI6MTksInBtMTBfMjRoIjoyMiwicG9zaXRpb25fbmFtZSI6
96
+ bnVsbCwicHJpbWFyeV9wb2xsdXRhbnQiOiIiLCJxdWFsaXR5Ijoi5LyYIiwi
97
+ c3RhdGlvbl9jb2RlIjpudWxsLCJ0aW1lX3BvaW50IjoiMjAxNi0wOS0xN1Qx
98
+ NTowMDowMFoifV0=
99
+ http_version:
100
+ recorded_at: Sat, 17 Sep 2016 08:02:08 GMT
101
+ recorded_with: VCR 3.0.3
@@ -0,0 +1,58 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://www.pm25.in/api/querys/pm2_5.json?avg=true&city=shanghai&stations=yes&token=5j1znBVAsnSf5xQyNQyq
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept-Encoding:
11
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
12
+ Accept:
13
+ - "*/*"
14
+ User-Agent:
15
+ - Ruby
16
+ response:
17
+ status:
18
+ code: 200
19
+ message: OK
20
+ headers:
21
+ Server:
22
+ - nginx
23
+ Date:
24
+ - Sat, 17 Sep 2016 08:02:08 GMT
25
+ Content-Type:
26
+ - application/json; charset=utf-8
27
+ Transfer-Encoding:
28
+ - chunked
29
+ Connection:
30
+ - keep-alive
31
+ Status:
32
+ - '200'
33
+ X-Powered-By:
34
+ - Phusion Passenger (mod_rails/mod_rack)
35
+ X-Ua-Compatible:
36
+ - IE=Edge,chrome=1
37
+ Etag:
38
+ - '"561f8f04728019a592819c1d4ea01c00"'
39
+ Cache-Control:
40
+ - max-age=0, private, must-revalidate
41
+ - no-cache
42
+ Set-Cookie:
43
+ - _aqi_query_session=BAh7B0kiD3Nlc3Npb25faWQGOgZFRkkiJWI3ZjVlMDJkMTA2NTdmMzNjNWQ1ZDg0YjQwZjEyZDAyBjsAVEkiHXdhcmRlbi51c2VyLmFwaV91c2VyLmtleQY7AFRbB1sGaQJCA0kiIiQyYSQxMCRYRkM0bGs4cDhXTjhWVFh1UGl5d0dPBjsAVA%3D%3D--da33dfa77f8b09780c6b58d3073ad8ce32f60907;
44
+ path=/; HttpOnly
45
+ X-Request-Id:
46
+ - 02c84562fad363f3d9ee7eb6df04bc01
47
+ X-Runtime:
48
+ - '0.019627'
49
+ X-Rack-Cache:
50
+ - miss
51
+ body:
52
+ encoding: ASCII-8BIT
53
+ string: !binary |-
54
+ eyJlcnJvciI6IlNvcnJ577yM5oKo6L+Z5Liq5bCP5pe25YaF55qEQVBJ6K+3
55
+ 5rGC5qyh5pWw55So5a6M5LqG77yM5LyR5oGv5LiA5LiL5ZCn77yBIn0=
56
+ http_version:
57
+ recorded_at: Sat, 17 Sep 2016 08:02:08 GMT
58
+ recorded_with: VCR 3.0.3
@@ -0,0 +1,100 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://www.pm25.in/api/querys/so2.json?avg=true&city=shanghai&stations=yes&token=5j1znBVAsnSf5xQyNQyq
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept-Encoding:
11
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
12
+ Accept:
13
+ - "*/*"
14
+ User-Agent:
15
+ - Ruby
16
+ response:
17
+ status:
18
+ code: 200
19
+ message: OK
20
+ headers:
21
+ Server:
22
+ - nginx
23
+ Date:
24
+ - Sat, 17 Sep 2016 08:02:08 GMT
25
+ Content-Type:
26
+ - application/json; charset=utf-8
27
+ Transfer-Encoding:
28
+ - chunked
29
+ Connection:
30
+ - keep-alive
31
+ Status:
32
+ - '200'
33
+ X-Powered-By:
34
+ - Phusion Passenger (mod_rails/mod_rack)
35
+ X-Ua-Compatible:
36
+ - IE=Edge,chrome=1
37
+ Etag:
38
+ - '"79230be516e0af78d368af80ca1b7d83"'
39
+ Cache-Control:
40
+ - max-age=0, private, must-revalidate
41
+ - no-cache
42
+ Set-Cookie:
43
+ - _aqi_query_session=BAh7B0kiD3Nlc3Npb25faWQGOgZFRkkiJWNlNWYzNTNmY2QzZGJhODdjYTJmODEwODg3NDBmNDNmBjsAVEkiHXdhcmRlbi51c2VyLmFwaV91c2VyLmtleQY7AFRbB1sGaQJCA0kiIiQyYSQxMCRYRkM0bGs4cDhXTjhWVFh1UGl5d0dPBjsAVA%3D%3D--19e0e69bc23af654020dadd7ed62a86a685097c6;
44
+ path=/; HttpOnly
45
+ X-Request-Id:
46
+ - 6c9d18020735348c53f090f0b38f353b
47
+ X-Runtime:
48
+ - '0.048343'
49
+ X-Rack-Cache:
50
+ - miss
51
+ body:
52
+ encoding: ASCII-8BIT
53
+ string: !binary |-
54
+ W3siYXFpIjoyMSwiYXJlYSI6IuS4iua1tyIsInNvMiI6MTIsInNvMl8yNGgi
55
+ OjksInBvc2l0aW9uX25hbWUiOiLljYHkupTljoIiLCJwcmltYXJ5X3BvbGx1
56
+ dGFudCI6bnVsbCwicXVhbGl0eSI6IuS8mCIsInN0YXRpb25fY29kZSI6IjEx
57
+ NDJBIiwidGltZV9wb2ludCI6IjIwMTYtMDktMTdUMTU6MDA6MDBaIn0seyJh
58
+ cWkiOjIzLCJhcmVhIjoi5LiK5rW3Iiwic28yIjoxNCwic28yXzI0aCI6MTEs
59
+ InBvc2l0aW9uX25hbWUiOiLombnlj6MiLCJwcmltYXJ5X3BvbGx1dGFudCI6
60
+ bnVsbCwicXVhbGl0eSI6IuS8mCIsInN0YXRpb25fY29kZSI6IjExNDNBIiwi
61
+ dGltZV9wb2ludCI6IjIwMTYtMDktMTdUMTU6MDA6MDBaIn0seyJhcWkiOjMw
62
+ LCJhcmVhIjoi5LiK5rW3Iiwic28yIjo4LCJzbzJfMjRoIjo5LCJwb3NpdGlv
63
+ bl9uYW1lIjoi5b6Q5rGH5LiK5biI5aSnIiwicHJpbWFyeV9wb2xsdXRhbnQi
64
+ Om51bGwsInF1YWxpdHkiOiLkvJgiLCJzdGF0aW9uX2NvZGUiOiIxMTQ0QSIs
65
+ InRpbWVfcG9pbnQiOiIyMDE2LTA5LTE3VDE1OjAwOjAwWiJ9LHsiYXFpIjoz
66
+ MiwiYXJlYSI6IuS4iua1tyIsInNvMiI6OSwic28yXzI0aCI6MTAsInBvc2l0
67
+ aW9uX25hbWUiOiLmnajmtablm5vmvIIiLCJwcmltYXJ5X3BvbGx1dGFudCI6
68
+ bnVsbCwicXVhbGl0eSI6IuS8mCIsInN0YXRpb25fY29kZSI6IjExNDVBIiwi
69
+ dGltZV9wb2ludCI6IjIwMTYtMDktMTdUMTU6MDA6MDBaIn0seyJhcWkiOjM1
70
+ LCJhcmVhIjoi5LiK5rW3Iiwic28yIjo5LCJzbzJfMjRoIjo5LCJwb3NpdGlv
71
+ bl9uYW1lIjoi6Z2S5rWm5reA5bGx5rmWIiwicHJpbWFyeV9wb2xsdXRhbnQi
72
+ Om51bGwsInF1YWxpdHkiOiLkvJgiLCJzdGF0aW9uX2NvZGUiOiIxMTQ2QSIs
73
+ InRpbWVfcG9pbnQiOiIyMDE2LTA5LTE3VDE1OjAwOjAwWiJ9LHsiYXFpIjoy
74
+ NSwiYXJlYSI6IuS4iua1tyIsInNvMiI6MTEsInNvMl8yNGgiOjksInBvc2l0
75
+ aW9uX25hbWUiOiLpnZnlronnm5HmtYvnq5kiLCJwcmltYXJ5X3BvbGx1dGFu
76
+ dCI6bnVsbCwicXVhbGl0eSI6IuS8mCIsInN0YXRpb25fY29kZSI6IjExNDdB
77
+ IiwidGltZV9wb2ludCI6IjIwMTYtMDktMTdUMTU6MDA6MDBaIn0seyJhcWki
78
+ OjI4LCJhcmVhIjoi5LiK5rW3Iiwic28yIjoxMSwic28yXzI0aCI6MTEsInBv
79
+ c2l0aW9uX25hbWUiOiLmtabkuJzlt53mspkiLCJwcmltYXJ5X3BvbGx1dGFu
80
+ dCI6bnVsbCwicXVhbGl0eSI6IuS8mCIsInN0YXRpb25fY29kZSI6IjExNDhB
81
+ IiwidGltZV9wb2ludCI6IjIwMTYtMDktMTdUMTU6MDA6MDBaIn0seyJhcWki
82
+ OjMwLCJhcmVhIjoi5LiK5rW3Iiwic28yIjoxMywic28yXzI0aCI6MTUsInBv
83
+ c2l0aW9uX25hbWUiOiLmtabkuJzmlrDljLrnm5HmtYvnq5kiLCJwcmltYXJ5
84
+ X3BvbGx1dGFudCI6bnVsbCwicXVhbGl0eSI6IuS8mCIsInN0YXRpb25fY29k
85
+ ZSI6IjExNDlBIiwidGltZV9wb2ludCI6IjIwMTYtMDktMTdUMTU6MDA6MDBa
86
+ In0seyJhcWkiOjIwLCJhcmVhIjoi5LiK5rW3Iiwic28yIjoxNiwic28yXzI0
87
+ aCI6MTUsInBvc2l0aW9uX25hbWUiOiLmtabkuJzlvKDmsZ8iLCJwcmltYXJ5
88
+ X3BvbGx1dGFudCI6bnVsbCwicXVhbGl0eSI6IuS8mCIsInN0YXRpb25fY29k
89
+ ZSI6IjExNTBBIiwidGltZV9wb2ludCI6IjIwMTYtMDktMTdUMTU6MDA6MDBa
90
+ In0seyJhcWkiOjI3LCJhcmVhIjoi5LiK5rW3Iiwic28yIjo5LCJzbzJfMjRo
91
+ IjoxMSwicG9zaXRpb25fbmFtZSI6IuaZrumZgCIsInByaW1hcnlfcG9sbHV0
92
+ YW50IjpudWxsLCJxdWFsaXR5Ijoi5LyYIiwic3RhdGlvbl9jb2RlIjoiMTE0
93
+ MUEiLCJ0aW1lX3BvaW50IjoiMjAxNi0wOS0xN1QxNTowMDowMFoifSx7ImFx
94
+ aSI6MzEsImFyZWEiOiLkuIrmtbciLCJzbzIiOjExLCJzbzJfMjRoIjoxMCwi
95
+ cG9zaXRpb25fbmFtZSI6bnVsbCwicHJpbWFyeV9wb2xsdXRhbnQiOiIiLCJx
96
+ dWFsaXR5Ijoi5LyYIiwic3RhdGlvbl9jb2RlIjpudWxsLCJ0aW1lX3BvaW50
97
+ IjoiMjAxNi0wOS0xN1QxNTowMDowMFoifV0=
98
+ http_version:
99
+ recorded_at: Sat, 17 Sep 2016 08:02:08 GMT
100
+ recorded_with: VCR 3.0.3