wunderground_ruby 0.1.0 → 0.2.0
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.
- data/README.markdown +10 -6
- data/Rakefile +1 -9
- data/VERSION +1 -1
- data/lib/wunderground.rb +9 -3
- data/test/test_wunderground.rb +28 -5
- data/wunderground_ruby.gemspec +79 -0
- metadata +24 -78
data/README.markdown
CHANGED
@@ -40,7 +40,7 @@ Standard request breakdown:
|
|
40
40
|
|
41
41
|
##Optional Hash
|
42
42
|
|
43
|
-
This ugly little guy handles the nonconformists in Wunderground's API request structure. Luckily there are only two of these baddies. (details below)
|
43
|
+
This ugly little guy handles the nonconformists in Wunderground's API request structure. Luckily there are only two of these baddies, and only if you need them. (details below)
|
44
44
|
|
45
45
|
optional_hash = {lang: "FR", geo_ip:"127.0.0.1"}
|
46
46
|
|
@@ -70,7 +70,7 @@ Any location string that Wunderground accepts will pass straight through this wr
|
|
70
70
|
|
71
71
|
w_api.get_conditions_for("autoip") #passes straight through, but only gets the weather for your server's IP, so not very useful probably
|
72
72
|
|
73
|
-
For geocoding a specific ip address, just provide
|
73
|
+
For geocoding a specific ip address as the location, just provide an IP like this:
|
74
74
|
|
75
75
|
w_api.get_alerts_for({geo_ip: "127.0.0.1"})
|
76
76
|
|
@@ -90,20 +90,24 @@ Also, you can set the default language in the constructor or with a setter.
|
|
90
90
|
w_api.get_forecast_for("France","Paris") #automatically includes /lang:FR/ in the request url, so results will be in French
|
91
91
|
w_api.get_forecast_for({lang:"DE"},"France","Paris") #this will override the French(FR) default with German(DE)
|
92
92
|
|
93
|
-
##History
|
93
|
+
##History and Planner Helpers
|
94
94
|
|
95
95
|
While it is possible to call
|
96
96
|
|
97
97
|
w_api.get_history20101231_for("77789")
|
98
|
+
w_api.get_planner03150323_for("FL","Destin")
|
98
99
|
|
99
|
-
to get the history data for this date/location. You may enjoy more flexibility when using get_history_for:
|
100
|
+
to get the history/planner data for this date/location. You may enjoy more flexibility when using get_history_for and get_planner_for:
|
100
101
|
|
101
102
|
w_api.get_history_for("20101010","AL","Birmingham")
|
102
103
|
w_api.get_history_for(1.year.ago,"33909")
|
103
104
|
w_api.get_history_for(Date.now, {lang: "FR"}, "France/Paris")
|
104
105
|
w_api.get_history_for(Date.now, {lang: "DE", geo_ip:"123.4.5.6"})
|
106
|
+
w_api.get_planner_for("03150323","AL","Gulf Shores")
|
107
|
+
w_api.get_planner_for(Time.now,Time.now+7.days,{geo_ip: "10.0.0.1"})
|
108
|
+
w_api.get_planner_for(Time.now,Time.now+7.days,"33030")
|
105
109
|
|
106
|
-
.get_history_for accepts a string or any Date/Time/DateTime object that responds to .strftime("%Y%m%d") to auto-format the date.
|
110
|
+
.get_history_for and .get_planner_for accepts a string or any Date/Time/DateTime-like object that responds to .strftime("%Y%m%d") to auto-format the date.
|
107
111
|
|
108
112
|
|
109
113
|
### Other Stuff
|
@@ -127,7 +131,7 @@ Do eet.
|
|
127
131
|
|
128
132
|
##Thanks
|
129
133
|
|
130
|
-
* [Amro Mousa](https://github.com/amro) - design inspiration
|
134
|
+
* [Amro Mousa](https://github.com/amro) - design inspiration
|
131
135
|
|
132
136
|
|
133
137
|
##Copyrights
|
data/Rakefile
CHANGED
@@ -19,14 +19,6 @@ Jeweler::Tasks.new do |gem|
|
|
19
19
|
gem.description = %Q{A simple ruby API wrapper for interacting with the Wunderground API}
|
20
20
|
gem.email = "winfred.nadeau@gmail.com"
|
21
21
|
gem.authors = ["Winfred Nadeau"]
|
22
|
-
# Include your dependencies below. Runtime dependencies are required when using your gem,
|
23
|
-
# and development dependencies are only needed for development (ie running rake tasks, tests, etc)
|
24
|
-
gem.add_runtime_dependency 'httparty', '> 0.6.0'
|
25
|
-
gem.add_runtime_dependency 'json', '> 1.4.0'
|
26
|
-
gem.add_development_dependency 'shoulda', '> 0.0.0'
|
27
|
-
gem.add_development_dependency 'mocha', '> 0.9.11'
|
28
|
-
gem.add_development_dependency 'simplecov', '> 0'
|
29
|
-
#gem.add_development_dependency 'rspec', '> 1.2.3'
|
30
22
|
end
|
31
23
|
Jeweler::RubygemsDotOrgTasks.new
|
32
24
|
|
@@ -50,5 +42,5 @@ Rake::RDocTask.new do |rdoc|
|
|
50
42
|
end
|
51
43
|
desc "Open an irb session preloaded with this library"
|
52
44
|
task :console do
|
53
|
-
|
45
|
+
exec "irb -rubygems -I lib -r wunderground"
|
54
46
|
end
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
0.2.0
|
data/lib/wunderground.rb
CHANGED
@@ -25,7 +25,13 @@ class Wunderground
|
|
25
25
|
end
|
26
26
|
def get_history_for(date,*args)
|
27
27
|
history = (date.class == String ? "history_#{date}" : "history_#{date.strftime("%Y%m%d")}")
|
28
|
-
send("get_#{history}_for"
|
28
|
+
send("get_#{history}_for",*args)
|
29
|
+
end
|
30
|
+
def get_planner_for(date,*args)
|
31
|
+
send("get_planner_#{date}_for",args) and return if date.class == String
|
32
|
+
range = date.strftime("%m%d") << args[0].strftime("%m%d")
|
33
|
+
args.delete_at(0)
|
34
|
+
send("get_planner_#{range}_for",*args)
|
29
35
|
end
|
30
36
|
|
31
37
|
protected
|
@@ -49,8 +55,8 @@ protected
|
|
49
55
|
def method_missing(method, *args)
|
50
56
|
raise NoMethodError, "undefined method: #{method} for Wunderground" unless method.to_s.start_with?("get_") and method.to_s.end_with?("_for")
|
51
57
|
url = method.to_s.gsub("get_","").gsub("_for","").gsub("_and_","/")
|
52
|
-
url << "/lang:#{@language}" if @language
|
53
|
-
if
|
58
|
+
url << "/lang:#{@language}" if @language
|
59
|
+
if args[0].class == Hash
|
54
60
|
url = url.sub(/\/lang:.*/,'') and url << "/lang:#{args[0][:lang]}" if args[0][:lang]
|
55
61
|
ip_address = args[0][:geo_ip] and args.push("autoip") if args[0][:geo_ip]
|
56
62
|
args.delete_at(0)
|
data/test/test_wunderground.rb
CHANGED
@@ -99,7 +99,7 @@ class TestWunderground < Test::Unit::TestCase
|
|
99
99
|
@wunderground.get_forecast_for({geo_ip: "127.0.0.1"})
|
100
100
|
end
|
101
101
|
end
|
102
|
-
context '
|
102
|
+
context 'language support' do
|
103
103
|
setup {@wunderground.language = "FR"}
|
104
104
|
should 'automatically set language for all location types' do
|
105
105
|
expect_get(@url+"123/forecast/lang:FR/q/pws:KCATAHOE2.json",{timeout: 30})
|
@@ -109,8 +109,21 @@ class TestWunderground < Test::Unit::TestCase
|
|
109
109
|
expect_get(@url+"123/forecast/lang:DE/q/ME/Portland.json",{timeout: 30})
|
110
110
|
@wunderground.get_forecast_for({lang: "DE"},"ME","Portland")
|
111
111
|
end
|
112
|
+
should 'pass language through history helper' do
|
113
|
+
expect_get(@url+"123/history_#{Time.now.strftime("%Y%m%d")}/lang:DE/q/ME/Portland.json",{timeout: 30})
|
114
|
+
@wunderground.get_history_for(Time.now,{lang: "DE"},"ME","Portland")
|
115
|
+
end
|
116
|
+
should 'pass language through planner helper' do
|
117
|
+
expect_get(@url+"123/planner_#{Time.now.strftime("%m%d")}#{(Time.now + 700000).strftime('%m%d')}/lang:DE/q/ME/Portland.json",{timeout: 30})
|
118
|
+
@wunderground.get_planner_for(Time.now,(Time.now+700000),{lang: "DE"},"ME","Portland")
|
119
|
+
end
|
120
|
+
should 'pass language through planner helper with IP' do
|
121
|
+
expect_get(@url+"123/planner_#{Time.now.strftime('%m%d')}#{(Time.now +
|
122
|
+
700000).strftime('%m%d')}/lang:DE/q/autoip.json?geo_ip=127.0.0.1",{timeout: 30})
|
123
|
+
@wunderground.get_planner_for(Time.now,(Time.now+700000),{lang: "DE",geo_ip: "127.0.0.1"})
|
124
|
+
end
|
112
125
|
end
|
113
|
-
context 'for
|
126
|
+
context 'for get_history_for(date,location) helper' do
|
114
127
|
should 'pass string dates straight to URL' do
|
115
128
|
expect_get(@url+"123/history_20110121/q/ME/Portland.json",{timeout: 30})
|
116
129
|
@wunderground.get_history_for("20110121","ME","Portland")
|
@@ -123,9 +136,19 @@ class TestWunderground < Test::Unit::TestCase
|
|
123
136
|
expect_get(@url+"123/history_#{Time.now.strftime("%Y%m%d")}/q/ME/Portland.json",{timeout: 30})
|
124
137
|
@wunderground.get_history_for(Time.now.to_date,"ME","Portland")
|
125
138
|
end
|
126
|
-
should 'accept
|
127
|
-
expect_get(@url+"123/history_#{Time.now.strftime("%Y%m%d")}/q/
|
128
|
-
@wunderground.get_history_for(Time.now.to_datetime,
|
139
|
+
should 'accept Date object and pass optional hash object' do
|
140
|
+
expect_get(@url+"123/history_#{Time.now.strftime("%Y%m%d")}/q/autoip.json?geo_ip=127.0.0.1",{timeout: 30})
|
141
|
+
@wunderground.get_history_for(Time.now.to_datetime,{geo_ip: '127.0.0.1'})
|
142
|
+
end
|
143
|
+
end
|
144
|
+
context 'for get_planner_for helper' do
|
145
|
+
should 'pass string date ranges through' do
|
146
|
+
expect_get(@url+"123/planner_03130323/q/ME/Portland.json",{timeout: 30})
|
147
|
+
@wunderground.get_planner_for("03130323","ME","Portland")
|
148
|
+
end
|
149
|
+
should 'turn two date objects into a properly formatted string' do
|
150
|
+
expect_get(@url+"123/planner_#{Time.now.strftime('%m%d')}#{(Time.now + 700000).strftime('%m%d')}/q/autoip.json?geo_ip=127.0.0.1",{timeout: 30})
|
151
|
+
@wunderground.get_planner_for(Time.now,(Time.now + 700000),{geo_ip: '127.0.0.1'})
|
129
152
|
end
|
130
153
|
end
|
131
154
|
end
|
@@ -0,0 +1,79 @@
|
|
1
|
+
# Generated by jeweler
|
2
|
+
# DO NOT EDIT THIS FILE DIRECTLY
|
3
|
+
# Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
|
4
|
+
# -*- encoding: utf-8 -*-
|
5
|
+
|
6
|
+
Gem::Specification.new do |s|
|
7
|
+
s.name = "wunderground_ruby"
|
8
|
+
s.version = "0.2.0"
|
9
|
+
|
10
|
+
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
|
+
s.authors = ["Winfred Nadeau"]
|
12
|
+
s.date = "2012-01-22"
|
13
|
+
s.description = "A simple ruby API wrapper for interacting with the Wunderground API"
|
14
|
+
s.email = "winfred.nadeau@gmail.com"
|
15
|
+
s.extra_rdoc_files = [
|
16
|
+
"LICENSE.txt",
|
17
|
+
"README.markdown"
|
18
|
+
]
|
19
|
+
s.files = [
|
20
|
+
"Gemfile",
|
21
|
+
"LICENSE.txt",
|
22
|
+
"README.markdown",
|
23
|
+
"Rakefile",
|
24
|
+
"VERSION",
|
25
|
+
"lib/wunderground.rb",
|
26
|
+
"test/helper.rb",
|
27
|
+
"test/test_wunderground.rb",
|
28
|
+
"wunderground_ruby.gemspec"
|
29
|
+
]
|
30
|
+
s.homepage = "http://github.com/wnadeau/wunderground_ruby"
|
31
|
+
s.licenses = ["MIT"]
|
32
|
+
s.require_paths = ["lib"]
|
33
|
+
s.rubygems_version = "1.8.10"
|
34
|
+
s.summary = "A simple ruby API wrapper for interacting with the Wunderground API"
|
35
|
+
s.test_files = [
|
36
|
+
"test/helper.rb",
|
37
|
+
"test/test_wunderground.rb"
|
38
|
+
]
|
39
|
+
|
40
|
+
if s.respond_to? :specification_version then
|
41
|
+
s.specification_version = 3
|
42
|
+
|
43
|
+
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
44
|
+
s.add_runtime_dependency(%q<json>, ["> 1.4.0"])
|
45
|
+
s.add_runtime_dependency(%q<httparty>, ["> 0.6.0"])
|
46
|
+
s.add_runtime_dependency(%q<addressable>, [">= 0"])
|
47
|
+
s.add_development_dependency(%q<shoulda>, [">= 0"])
|
48
|
+
s.add_development_dependency(%q<bundler>, ["~> 1.0.0"])
|
49
|
+
s.add_development_dependency(%q<jeweler>, ["~> 1.5.1"])
|
50
|
+
s.add_development_dependency(%q<simplecov>, [">= 0"])
|
51
|
+
s.add_development_dependency(%q<mocha>, ["> 0.9.11"])
|
52
|
+
s.add_development_dependency(%q<ruby-debug19>, [">= 0"])
|
53
|
+
s.add_development_dependency(%q<ruby-debug>, [">= 0"])
|
54
|
+
else
|
55
|
+
s.add_dependency(%q<json>, ["> 1.4.0"])
|
56
|
+
s.add_dependency(%q<httparty>, ["> 0.6.0"])
|
57
|
+
s.add_dependency(%q<addressable>, [">= 0"])
|
58
|
+
s.add_dependency(%q<shoulda>, [">= 0"])
|
59
|
+
s.add_dependency(%q<bundler>, ["~> 1.0.0"])
|
60
|
+
s.add_dependency(%q<jeweler>, ["~> 1.5.1"])
|
61
|
+
s.add_dependency(%q<simplecov>, [">= 0"])
|
62
|
+
s.add_dependency(%q<mocha>, ["> 0.9.11"])
|
63
|
+
s.add_dependency(%q<ruby-debug19>, [">= 0"])
|
64
|
+
s.add_dependency(%q<ruby-debug>, [">= 0"])
|
65
|
+
end
|
66
|
+
else
|
67
|
+
s.add_dependency(%q<json>, ["> 1.4.0"])
|
68
|
+
s.add_dependency(%q<httparty>, ["> 0.6.0"])
|
69
|
+
s.add_dependency(%q<addressable>, [">= 0"])
|
70
|
+
s.add_dependency(%q<shoulda>, [">= 0"])
|
71
|
+
s.add_dependency(%q<bundler>, ["~> 1.0.0"])
|
72
|
+
s.add_dependency(%q<jeweler>, ["~> 1.5.1"])
|
73
|
+
s.add_dependency(%q<simplecov>, [">= 0"])
|
74
|
+
s.add_dependency(%q<mocha>, ["> 0.9.11"])
|
75
|
+
s.add_dependency(%q<ruby-debug19>, [">= 0"])
|
76
|
+
s.add_dependency(%q<ruby-debug>, [">= 0"])
|
77
|
+
end
|
78
|
+
end
|
79
|
+
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: wunderground_ruby
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-01-
|
12
|
+
date: 2012-01-22 00:00:00.000000000Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: json
|
16
|
-
requirement: &
|
16
|
+
requirement: &70237028968260 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>'
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: 1.4.0
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *70237028968260
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: httparty
|
27
|
-
requirement: &
|
27
|
+
requirement: &70237028967400 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>'
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: 0.6.0
|
33
33
|
type: :runtime
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *70237028967400
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: addressable
|
38
|
-
requirement: &
|
38
|
+
requirement: &70237028966500 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ! '>='
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: '0'
|
44
44
|
type: :runtime
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *70237028966500
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: shoulda
|
49
|
-
requirement: &
|
49
|
+
requirement: &70237028965620 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ! '>='
|
@@ -54,10 +54,10 @@ dependencies:
|
|
54
54
|
version: '0'
|
55
55
|
type: :development
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *70237028965620
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: bundler
|
60
|
-
requirement: &
|
60
|
+
requirement: &70237028964540 !ruby/object:Gem::Requirement
|
61
61
|
none: false
|
62
62
|
requirements:
|
63
63
|
- - ~>
|
@@ -65,10 +65,10 @@ dependencies:
|
|
65
65
|
version: 1.0.0
|
66
66
|
type: :development
|
67
67
|
prerelease: false
|
68
|
-
version_requirements: *
|
68
|
+
version_requirements: *70237028964540
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: jeweler
|
71
|
-
requirement: &
|
71
|
+
requirement: &70237028963480 !ruby/object:Gem::Requirement
|
72
72
|
none: false
|
73
73
|
requirements:
|
74
74
|
- - ~>
|
@@ -76,10 +76,10 @@ dependencies:
|
|
76
76
|
version: 1.5.1
|
77
77
|
type: :development
|
78
78
|
prerelease: false
|
79
|
-
version_requirements: *
|
79
|
+
version_requirements: *70237028963480
|
80
80
|
- !ruby/object:Gem::Dependency
|
81
81
|
name: simplecov
|
82
|
-
requirement: &
|
82
|
+
requirement: &70237028960840 !ruby/object:Gem::Requirement
|
83
83
|
none: false
|
84
84
|
requirements:
|
85
85
|
- - ! '>='
|
@@ -87,10 +87,10 @@ dependencies:
|
|
87
87
|
version: '0'
|
88
88
|
type: :development
|
89
89
|
prerelease: false
|
90
|
-
version_requirements: *
|
90
|
+
version_requirements: *70237028960840
|
91
91
|
- !ruby/object:Gem::Dependency
|
92
92
|
name: mocha
|
93
|
-
requirement: &
|
93
|
+
requirement: &70237028960200 !ruby/object:Gem::Requirement
|
94
94
|
none: false
|
95
95
|
requirements:
|
96
96
|
- - ! '>'
|
@@ -98,10 +98,10 @@ dependencies:
|
|
98
98
|
version: 0.9.11
|
99
99
|
type: :development
|
100
100
|
prerelease: false
|
101
|
-
version_requirements: *
|
101
|
+
version_requirements: *70237028960200
|
102
102
|
- !ruby/object:Gem::Dependency
|
103
103
|
name: ruby-debug19
|
104
|
-
requirement: &
|
104
|
+
requirement: &70237028959400 !ruby/object:Gem::Requirement
|
105
105
|
none: false
|
106
106
|
requirements:
|
107
107
|
- - ! '>='
|
@@ -109,10 +109,10 @@ dependencies:
|
|
109
109
|
version: '0'
|
110
110
|
type: :development
|
111
111
|
prerelease: false
|
112
|
-
version_requirements: *
|
112
|
+
version_requirements: *70237028959400
|
113
113
|
- !ruby/object:Gem::Dependency
|
114
114
|
name: ruby-debug
|
115
|
-
requirement: &
|
115
|
+
requirement: &70237028958340 !ruby/object:Gem::Requirement
|
116
116
|
none: false
|
117
117
|
requirements:
|
118
118
|
- - ! '>='
|
@@ -120,62 +120,7 @@ dependencies:
|
|
120
120
|
version: '0'
|
121
121
|
type: :development
|
122
122
|
prerelease: false
|
123
|
-
version_requirements: *
|
124
|
-
- !ruby/object:Gem::Dependency
|
125
|
-
name: httparty
|
126
|
-
requirement: &70152356267000 !ruby/object:Gem::Requirement
|
127
|
-
none: false
|
128
|
-
requirements:
|
129
|
-
- - ! '>'
|
130
|
-
- !ruby/object:Gem::Version
|
131
|
-
version: 0.6.0
|
132
|
-
type: :runtime
|
133
|
-
prerelease: false
|
134
|
-
version_requirements: *70152356267000
|
135
|
-
- !ruby/object:Gem::Dependency
|
136
|
-
name: json
|
137
|
-
requirement: &70152356265660 !ruby/object:Gem::Requirement
|
138
|
-
none: false
|
139
|
-
requirements:
|
140
|
-
- - ! '>'
|
141
|
-
- !ruby/object:Gem::Version
|
142
|
-
version: 1.4.0
|
143
|
-
type: :runtime
|
144
|
-
prerelease: false
|
145
|
-
version_requirements: *70152356265660
|
146
|
-
- !ruby/object:Gem::Dependency
|
147
|
-
name: shoulda
|
148
|
-
requirement: &70152356249020 !ruby/object:Gem::Requirement
|
149
|
-
none: false
|
150
|
-
requirements:
|
151
|
-
- - ! '>'
|
152
|
-
- !ruby/object:Gem::Version
|
153
|
-
version: 0.0.0
|
154
|
-
type: :development
|
155
|
-
prerelease: false
|
156
|
-
version_requirements: *70152356249020
|
157
|
-
- !ruby/object:Gem::Dependency
|
158
|
-
name: mocha
|
159
|
-
requirement: &70152356247860 !ruby/object:Gem::Requirement
|
160
|
-
none: false
|
161
|
-
requirements:
|
162
|
-
- - ! '>'
|
163
|
-
- !ruby/object:Gem::Version
|
164
|
-
version: 0.9.11
|
165
|
-
type: :development
|
166
|
-
prerelease: false
|
167
|
-
version_requirements: *70152356247860
|
168
|
-
- !ruby/object:Gem::Dependency
|
169
|
-
name: simplecov
|
170
|
-
requirement: &70152356246360 !ruby/object:Gem::Requirement
|
171
|
-
none: false
|
172
|
-
requirements:
|
173
|
-
- - ! '>'
|
174
|
-
- !ruby/object:Gem::Version
|
175
|
-
version: '0'
|
176
|
-
type: :development
|
177
|
-
prerelease: false
|
178
|
-
version_requirements: *70152356246360
|
123
|
+
version_requirements: *70237028958340
|
179
124
|
description: A simple ruby API wrapper for interacting with the Wunderground API
|
180
125
|
email: winfred.nadeau@gmail.com
|
181
126
|
executables: []
|
@@ -192,6 +137,7 @@ files:
|
|
192
137
|
- lib/wunderground.rb
|
193
138
|
- test/helper.rb
|
194
139
|
- test/test_wunderground.rb
|
140
|
+
- wunderground_ruby.gemspec
|
195
141
|
homepage: http://github.com/wnadeau/wunderground_ruby
|
196
142
|
licenses:
|
197
143
|
- MIT
|
@@ -207,7 +153,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
207
153
|
version: '0'
|
208
154
|
segments:
|
209
155
|
- 0
|
210
|
-
hash:
|
156
|
+
hash: -306578686232459491
|
211
157
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
212
158
|
none: false
|
213
159
|
requirements:
|