wunderground 1.0.0 → 1.0.1
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/Gemfile +3 -4
- data/README.markdown +2 -2
- data/VERSION +1 -1
- data/lib/wunderground.rb +14 -3
- data/test/helper.rb +2 -1
- data/test/test_wunderground.rb +27 -3
- data/wunderground.gemspec +12 -19
- metadata +68 -36
data/Gemfile
CHANGED
@@ -6,10 +6,9 @@ gem "addressable"
|
|
6
6
|
|
7
7
|
group :development, :test do
|
8
8
|
gem "shoulda", ">= 0"
|
9
|
-
gem "bundler"
|
10
|
-
gem "jeweler"
|
9
|
+
gem "bundler"
|
10
|
+
gem "jeweler"
|
11
11
|
gem "simplecov", ">= 0"
|
12
12
|
gem "mocha", "> 0.9.11"
|
13
|
-
gem
|
14
|
-
gem "ruby-debug", :platforms => [:ruby_18]
|
13
|
+
gem 'pry'
|
15
14
|
end
|
data/README.markdown
CHANGED
@@ -5,11 +5,11 @@ Wunderground Ruby is an API wrapper for interacting with the [Wunderground API](
|
|
5
5
|
|
6
6
|
##Installation
|
7
7
|
|
8
|
-
$ gem install
|
8
|
+
$ gem install wunderground
|
9
9
|
|
10
10
|
or in your Gemfile
|
11
11
|
|
12
|
-
gem '
|
12
|
+
gem 'wunderground'
|
13
13
|
|
14
14
|
##Requirements
|
15
15
|
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.0.
|
1
|
+
1.0.1
|
data/lib/wunderground.rb
CHANGED
@@ -23,10 +23,12 @@ class Wunderground
|
|
23
23
|
def base_api_url
|
24
24
|
"http://api.wunderground.com/api/#{api_key}/"
|
25
25
|
end
|
26
|
+
|
26
27
|
def history_for(date,*args)
|
27
28
|
history = (date.class == String ? "history_#{date}" : "history_#{date.strftime("%Y%m%d")}")
|
28
29
|
send("#{history}_for",*args)
|
29
30
|
end
|
31
|
+
|
30
32
|
def planner_for(date,*args)
|
31
33
|
send("planner_#{date}_for",args) and return if date.class == String
|
32
34
|
range = date.strftime("%m%d") << args[0].strftime("%m%d")
|
@@ -34,7 +36,11 @@ class Wunderground
|
|
34
36
|
send("planner_#{range}_for",*args)
|
35
37
|
end
|
36
38
|
|
37
|
-
|
39
|
+
def respond_to?(method)
|
40
|
+
method_missing_match?(method) || super(method)
|
41
|
+
end
|
42
|
+
|
43
|
+
protected
|
38
44
|
|
39
45
|
def call(method, timeout)
|
40
46
|
raise MissingAPIKey if @api_key.nil?
|
@@ -53,7 +59,7 @@ protected
|
|
53
59
|
end
|
54
60
|
|
55
61
|
def method_missing(method, *args)
|
56
|
-
|
62
|
+
super(method, *args) unless method_missing_match?(method)
|
57
63
|
url = method.to_s.gsub("_for","").gsub("_and_","/")
|
58
64
|
url << "/lang:#{@language}" if @language
|
59
65
|
if args.last.instance_of? Hash
|
@@ -71,5 +77,10 @@ protected
|
|
71
77
|
new(self.api_key, self.attributes).send(sym, *args, &block)
|
72
78
|
end
|
73
79
|
end
|
74
|
-
end
|
75
80
|
|
81
|
+
private
|
82
|
+
|
83
|
+
def method_missing_match?(method)
|
84
|
+
method.to_s.end_with?("_for")
|
85
|
+
end
|
86
|
+
end
|
data/test/helper.rb
CHANGED
data/test/test_wunderground.rb
CHANGED
@@ -1,6 +1,5 @@
|
|
1
1
|
require 'helper'
|
2
2
|
require 'cgi'
|
3
|
-
require 'ruby-debug'
|
4
3
|
require 'addressable/uri'
|
5
4
|
|
6
5
|
class TestWunderground < Test::Unit::TestCase
|
@@ -58,9 +57,9 @@ class TestWunderground < Test::Unit::TestCase
|
|
58
57
|
@wunderground = Wunderground.new("123")
|
59
58
|
@url = "http://api.wunderground.com/api/123/"
|
60
59
|
end
|
60
|
+
|
61
61
|
should "raise exception at empty api key" do
|
62
62
|
@wunderground.api_key=nil
|
63
|
-
expect_get(@url,{timeout:30})
|
64
63
|
assert_raise Wunderground::MissingAPIKey do
|
65
64
|
@wunderground.forecast_for("CA","San Fransisco")
|
66
65
|
end
|
@@ -70,93 +69,113 @@ class TestWunderground < Test::Unit::TestCase
|
|
70
69
|
expect_get(@url+"forecast/q/ME/Portland.json",{timeout:30})
|
71
70
|
@wunderground.forecast_for("ME","Portland")
|
72
71
|
end
|
72
|
+
|
73
73
|
should 'contain multiple Wunderground methods from ruby method' do
|
74
74
|
expect_get(@url+"forecast/conditions/q/.json",{timeout: 30})
|
75
75
|
@wunderground.forecast_and_conditions_for()
|
76
76
|
end
|
77
|
+
|
77
78
|
should 'contain language modifier for method with {lang:"code"} hash' do
|
78
79
|
expect_get(@url+"forecast/lang:FR/q/ME/Portland.json",{timeout: 30})
|
79
80
|
@wunderground.forecast_for("ME","Portland", lang: 'FR')
|
80
81
|
end
|
82
|
+
|
81
83
|
context 'location parameter' do
|
82
84
|
should 'formats query of type array' do
|
83
85
|
expect_get(@url+"forecast/q/ME/Portland.json",{timeout: 30})
|
84
86
|
@wunderground.forecast_for("ME","Portland")
|
85
87
|
end
|
88
|
+
|
86
89
|
should 'formats query of type string' do
|
87
90
|
expect_get(@url+"forecast/q/1234.1234,-1234.1234.json",{timeout: 30})
|
88
91
|
@wunderground.forecast_for("1234.1234,-1234.1234")
|
89
92
|
expect_get(@url+"forecast/q/pws:WHAT.json",{timeout: 30})
|
90
93
|
@wunderground.forecast_for("pws:WHAT")
|
91
94
|
end
|
95
|
+
|
92
96
|
should 'formats query of type geo_ip' do
|
93
97
|
expect_get(@url+"forecast/q/autoip.json?geo_ip=127.0.0.1",{timeout: 30})
|
94
98
|
@wunderground.forecast_for(geo_ip: "127.0.0.1")
|
95
99
|
end
|
96
100
|
end
|
101
|
+
|
97
102
|
context 'language support' do
|
98
103
|
setup {@wunderground.language = "FR"}
|
104
|
+
|
99
105
|
should 'automatically set language for all location types' do
|
100
106
|
expect_get(@url+"forecast/lang:FR/q/pws:KCATAHOE2.json",{timeout: 30})
|
101
107
|
@wunderground.forecast_for("pws:KCATAHOE2")
|
102
108
|
end
|
109
|
+
|
103
110
|
should 'have optional language override on call' do
|
104
111
|
expect_get(@url+"forecast/lang:DE/q/ME/Portland.json",{timeout: 30})
|
105
112
|
@wunderground.forecast_for("ME","Portland", lang: 'DE')
|
106
113
|
end
|
114
|
+
|
107
115
|
should 'pass language through history helper' do
|
108
116
|
expect_get(@url+"history_#{Time.now.strftime("%Y%m%d")}/lang:DE/q/ME/Portland.json",{timeout: 30})
|
109
117
|
@wunderground.history_for(Time.now,"ME","Portland",lang: 'DE')
|
110
118
|
end
|
119
|
+
|
111
120
|
should 'pass language through planner helper' do
|
112
121
|
expect_get(@url+"planner_#{Time.now.strftime("%m%d")}#{(Time.now + 700000).strftime('%m%d')}/lang:DE/q/ME/Portland.json",{timeout: 30})
|
113
122
|
@wunderground.planner_for(Time.now,(Time.now+700000),"ME","Portland", lang: 'DE')
|
114
123
|
end
|
124
|
+
|
115
125
|
should 'pass language through planner helper with IP' do
|
116
126
|
expect_get(@url+"planner_#{Time.now.strftime('%m%d')}#{(Time.now +
|
117
127
|
700000).strftime('%m%d')}/lang:DE/q/autoip.json?geo_ip=127.0.0.1",{timeout: 30})
|
118
128
|
@wunderground.planner_for(Time.now,(Time.now+700000),lang: "DE",geo_ip: "127.0.0.1")
|
119
129
|
end
|
130
|
+
|
120
131
|
should 'encode string arguments' do
|
121
132
|
expect_get(@url+"planner_#{Time.now.strftime('%m%d')}#{(Time.now +
|
122
133
|
700000).strftime('%m%d')}/lang:DE/q/autoip.json?geo_ip=127.0.0.1",{timeout: 30})
|
123
134
|
@wunderground.planner_for(Time.now,(Time.now+700000),lang: "DE",geo_ip: "127.0.0.1")
|
124
135
|
end
|
125
136
|
end
|
137
|
+
|
126
138
|
context 'for history_for(date,location) helper' do
|
127
139
|
should 'pass string dates straight to URL' do
|
128
140
|
expect_get(@url+"history_20110121/q/ME/Portland.json",{timeout: 30})
|
129
141
|
@wunderground.history_for("20110121","ME","Portland")
|
130
142
|
end
|
143
|
+
|
131
144
|
should 'accept Time objects' do
|
132
145
|
expect_get(@url+"history_#{Time.now.strftime("%Y%m%d")}/q/ME/Portland.json",{timeout: 30})
|
133
146
|
@wunderground.history_for(Time.now,"ME","Portland")
|
134
147
|
end
|
148
|
+
|
135
149
|
should 'accept Date objects' do
|
136
150
|
expect_get(@url+"history_#{Time.now.strftime("%Y%m%d")}/q/ME/Portland.json",{timeout: 30})
|
137
151
|
@wunderground.history_for(Time.now.to_date,"ME","Portland")
|
138
152
|
end
|
153
|
+
|
139
154
|
should 'accept Date object and pass optional hash object' do
|
140
155
|
expect_get(@url+"history_#{Time.now.strftime("%Y%m%d")}/lang:FR/q/autoip.json?geo_ip=127.0.0.1",{timeout: 30})
|
141
156
|
@wunderground.history_for(Time.now.to_datetime,geo_ip: '127.0.0.1',lang: 'FR')
|
142
157
|
end
|
143
158
|
end
|
159
|
+
|
144
160
|
context 'for planner_for helper' do
|
145
161
|
should 'pass string date ranges through' do
|
146
162
|
expect_get(@url+"planner_03130323/q/ME/Portland.json",timeout: 30)
|
147
163
|
@wunderground.planner_for("03130323","ME","Portland")
|
148
164
|
end
|
165
|
+
|
149
166
|
should 'turn two date objects into a properly formatted string' do
|
150
167
|
expect_get(@url+"planner_#{Time.now.strftime('%m%d')}#{(Time.now +
|
151
168
|
700000).strftime('%m%d')}/lang:FR/q/autoip.json?geo_ip=127.0.0.1",timeout: 30)
|
152
169
|
@wunderground.planner_for(Time.now,(Time.now + 700000),geo_ip: '127.0.0.1',lang:'FR')
|
153
170
|
end
|
154
171
|
end
|
172
|
+
|
155
173
|
context 'timeout passed through optional hash' do
|
156
174
|
should 'work for helper' do
|
157
175
|
expect_get(@url+"planner_#{Time.now.strftime('%m%d')}#{(Time.now+700000).strftime('%m%d')}/lang:FR/q/autoip.json?geo_ip=127.0.0.1",timeout: 60)
|
158
176
|
@wunderground.planner_for(Time.now,(Time.now + 700000),geo_ip: '127.0.0.1',lang:'FR',timeout: 60)
|
159
177
|
end
|
178
|
+
|
160
179
|
should 'work for regular calls' do
|
161
180
|
expect_get(@url+"forecast/q/pws:WHAT.json",timeout: 60)
|
162
181
|
@wunderground.forecast_for("pws:WHAT", timeout: 60)
|
@@ -173,7 +192,6 @@ class TestWunderground < Test::Unit::TestCase
|
|
173
192
|
@returns = Struct.new(:body).new(["array", "entries"].to_json)
|
174
193
|
end
|
175
194
|
|
176
|
-
|
177
195
|
should 'throw exception if non-standard function_for(location) method is called' do
|
178
196
|
assert_raise NoMethodError do
|
179
197
|
@wunderground.scramble
|
@@ -189,6 +207,12 @@ class TestWunderground < Test::Unit::TestCase
|
|
189
207
|
end
|
190
208
|
end
|
191
209
|
|
210
|
+
context 'respond_to?' do
|
211
|
+
should 'respond to anything ending in _for' do
|
212
|
+
assert_equal true, Wunderground.new.respond_to?(:any_feature_for)
|
213
|
+
end
|
214
|
+
end
|
215
|
+
|
192
216
|
|
193
217
|
private
|
194
218
|
|
data/wunderground.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = "wunderground"
|
8
|
-
s.version = "1.0.
|
8
|
+
s.version = "1.0.1"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Winfred Nadeau"]
|
12
|
-
s.date = "
|
12
|
+
s.date = "2013-05-03"
|
13
13
|
s.description = "A simple ruby API wrapper for interacting with the Wunderground API"
|
14
14
|
s.email = "winfred.nadeau@gmail.com"
|
15
15
|
s.extra_rdoc_files = [
|
@@ -31,12 +31,8 @@ Gem::Specification.new do |s|
|
|
31
31
|
s.homepage = "http://github.com/wnadeau/wunderground_ruby"
|
32
32
|
s.licenses = ["MIT"]
|
33
33
|
s.require_paths = ["lib"]
|
34
|
-
s.rubygems_version = "1.8.
|
34
|
+
s.rubygems_version = "1.8.25"
|
35
35
|
s.summary = "A simple ruby API wrapper for interacting with the Wunderground API"
|
36
|
-
s.test_files = [
|
37
|
-
"test/helper.rb",
|
38
|
-
"test/test_wunderground.rb"
|
39
|
-
]
|
40
36
|
|
41
37
|
if s.respond_to? :specification_version then
|
42
38
|
s.specification_version = 3
|
@@ -46,35 +42,32 @@ Gem::Specification.new do |s|
|
|
46
42
|
s.add_runtime_dependency(%q<httparty>, ["> 0.6.0"])
|
47
43
|
s.add_runtime_dependency(%q<addressable>, [">= 0"])
|
48
44
|
s.add_development_dependency(%q<shoulda>, [">= 0"])
|
49
|
-
s.add_development_dependency(%q<bundler>, ["
|
50
|
-
s.add_development_dependency(%q<jeweler>, ["
|
45
|
+
s.add_development_dependency(%q<bundler>, [">= 0"])
|
46
|
+
s.add_development_dependency(%q<jeweler>, [">= 0"])
|
51
47
|
s.add_development_dependency(%q<simplecov>, [">= 0"])
|
52
48
|
s.add_development_dependency(%q<mocha>, ["> 0.9.11"])
|
53
|
-
s.add_development_dependency(%q<
|
54
|
-
s.add_development_dependency(%q<ruby-debug>, [">= 0"])
|
49
|
+
s.add_development_dependency(%q<pry>, [">= 0"])
|
55
50
|
else
|
56
51
|
s.add_dependency(%q<json>, ["> 1.4.0"])
|
57
52
|
s.add_dependency(%q<httparty>, ["> 0.6.0"])
|
58
53
|
s.add_dependency(%q<addressable>, [">= 0"])
|
59
54
|
s.add_dependency(%q<shoulda>, [">= 0"])
|
60
|
-
s.add_dependency(%q<bundler>, ["
|
61
|
-
s.add_dependency(%q<jeweler>, ["
|
55
|
+
s.add_dependency(%q<bundler>, [">= 0"])
|
56
|
+
s.add_dependency(%q<jeweler>, [">= 0"])
|
62
57
|
s.add_dependency(%q<simplecov>, [">= 0"])
|
63
58
|
s.add_dependency(%q<mocha>, ["> 0.9.11"])
|
64
|
-
s.add_dependency(%q<
|
65
|
-
s.add_dependency(%q<ruby-debug>, [">= 0"])
|
59
|
+
s.add_dependency(%q<pry>, [">= 0"])
|
66
60
|
end
|
67
61
|
else
|
68
62
|
s.add_dependency(%q<json>, ["> 1.4.0"])
|
69
63
|
s.add_dependency(%q<httparty>, ["> 0.6.0"])
|
70
64
|
s.add_dependency(%q<addressable>, [">= 0"])
|
71
65
|
s.add_dependency(%q<shoulda>, [">= 0"])
|
72
|
-
s.add_dependency(%q<bundler>, ["
|
73
|
-
s.add_dependency(%q<jeweler>, ["
|
66
|
+
s.add_dependency(%q<bundler>, [">= 0"])
|
67
|
+
s.add_dependency(%q<jeweler>, [">= 0"])
|
74
68
|
s.add_dependency(%q<simplecov>, [">= 0"])
|
75
69
|
s.add_dependency(%q<mocha>, ["> 0.9.11"])
|
76
|
-
s.add_dependency(%q<
|
77
|
-
s.add_dependency(%q<ruby-debug>, [">= 0"])
|
70
|
+
s.add_dependency(%q<pry>, [">= 0"])
|
78
71
|
end
|
79
72
|
end
|
80
73
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: wunderground
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.1
|
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:
|
12
|
+
date: 2013-05-03 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: json
|
16
|
-
requirement:
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>'
|
@@ -21,10 +21,15 @@ dependencies:
|
|
21
21
|
version: 1.4.0
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements:
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ! '>'
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: 1.4.0
|
25
30
|
- !ruby/object:Gem::Dependency
|
26
31
|
name: httparty
|
27
|
-
requirement:
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
28
33
|
none: false
|
29
34
|
requirements:
|
30
35
|
- - ! '>'
|
@@ -32,10 +37,15 @@ dependencies:
|
|
32
37
|
version: 0.6.0
|
33
38
|
type: :runtime
|
34
39
|
prerelease: false
|
35
|
-
version_requirements:
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ! '>'
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: 0.6.0
|
36
46
|
- !ruby/object:Gem::Dependency
|
37
47
|
name: addressable
|
38
|
-
requirement:
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
39
49
|
none: false
|
40
50
|
requirements:
|
41
51
|
- - ! '>='
|
@@ -43,10 +53,15 @@ dependencies:
|
|
43
53
|
version: '0'
|
44
54
|
type: :runtime
|
45
55
|
prerelease: false
|
46
|
-
version_requirements:
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
58
|
+
requirements:
|
59
|
+
- - ! '>='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
47
62
|
- !ruby/object:Gem::Dependency
|
48
63
|
name: shoulda
|
49
|
-
requirement:
|
64
|
+
requirement: !ruby/object:Gem::Requirement
|
50
65
|
none: false
|
51
66
|
requirements:
|
52
67
|
- - ! '>='
|
@@ -54,32 +69,47 @@ dependencies:
|
|
54
69
|
version: '0'
|
55
70
|
type: :development
|
56
71
|
prerelease: false
|
57
|
-
version_requirements:
|
72
|
+
version_requirements: !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
74
|
+
requirements:
|
75
|
+
- - ! '>='
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: '0'
|
58
78
|
- !ruby/object:Gem::Dependency
|
59
79
|
name: bundler
|
60
|
-
requirement:
|
80
|
+
requirement: !ruby/object:Gem::Requirement
|
61
81
|
none: false
|
62
82
|
requirements:
|
63
|
-
- -
|
83
|
+
- - ! '>='
|
64
84
|
- !ruby/object:Gem::Version
|
65
|
-
version:
|
85
|
+
version: '0'
|
66
86
|
type: :development
|
67
87
|
prerelease: false
|
68
|
-
version_requirements:
|
88
|
+
version_requirements: !ruby/object:Gem::Requirement
|
89
|
+
none: false
|
90
|
+
requirements:
|
91
|
+
- - ! '>='
|
92
|
+
- !ruby/object:Gem::Version
|
93
|
+
version: '0'
|
69
94
|
- !ruby/object:Gem::Dependency
|
70
95
|
name: jeweler
|
71
|
-
requirement:
|
96
|
+
requirement: !ruby/object:Gem::Requirement
|
72
97
|
none: false
|
73
98
|
requirements:
|
74
|
-
- -
|
99
|
+
- - ! '>='
|
75
100
|
- !ruby/object:Gem::Version
|
76
|
-
version:
|
101
|
+
version: '0'
|
77
102
|
type: :development
|
78
103
|
prerelease: false
|
79
|
-
version_requirements:
|
104
|
+
version_requirements: !ruby/object:Gem::Requirement
|
105
|
+
none: false
|
106
|
+
requirements:
|
107
|
+
- - ! '>='
|
108
|
+
- !ruby/object:Gem::Version
|
109
|
+
version: '0'
|
80
110
|
- !ruby/object:Gem::Dependency
|
81
111
|
name: simplecov
|
82
|
-
requirement:
|
112
|
+
requirement: !ruby/object:Gem::Requirement
|
83
113
|
none: false
|
84
114
|
requirements:
|
85
115
|
- - ! '>='
|
@@ -87,10 +117,15 @@ dependencies:
|
|
87
117
|
version: '0'
|
88
118
|
type: :development
|
89
119
|
prerelease: false
|
90
|
-
version_requirements:
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
none: false
|
122
|
+
requirements:
|
123
|
+
- - ! '>='
|
124
|
+
- !ruby/object:Gem::Version
|
125
|
+
version: '0'
|
91
126
|
- !ruby/object:Gem::Dependency
|
92
127
|
name: mocha
|
93
|
-
requirement:
|
128
|
+
requirement: !ruby/object:Gem::Requirement
|
94
129
|
none: false
|
95
130
|
requirements:
|
96
131
|
- - ! '>'
|
@@ -98,10 +133,15 @@ dependencies:
|
|
98
133
|
version: 0.9.11
|
99
134
|
type: :development
|
100
135
|
prerelease: false
|
101
|
-
version_requirements:
|
136
|
+
version_requirements: !ruby/object:Gem::Requirement
|
137
|
+
none: false
|
138
|
+
requirements:
|
139
|
+
- - ! '>'
|
140
|
+
- !ruby/object:Gem::Version
|
141
|
+
version: 0.9.11
|
102
142
|
- !ruby/object:Gem::Dependency
|
103
|
-
name:
|
104
|
-
requirement:
|
143
|
+
name: pry
|
144
|
+
requirement: !ruby/object:Gem::Requirement
|
105
145
|
none: false
|
106
146
|
requirements:
|
107
147
|
- - ! '>='
|
@@ -109,18 +149,12 @@ dependencies:
|
|
109
149
|
version: '0'
|
110
150
|
type: :development
|
111
151
|
prerelease: false
|
112
|
-
version_requirements:
|
113
|
-
- !ruby/object:Gem::Dependency
|
114
|
-
name: ruby-debug
|
115
|
-
requirement: &70184098288900 !ruby/object:Gem::Requirement
|
152
|
+
version_requirements: !ruby/object:Gem::Requirement
|
116
153
|
none: false
|
117
154
|
requirements:
|
118
155
|
- - ! '>='
|
119
156
|
- !ruby/object:Gem::Version
|
120
157
|
version: '0'
|
121
|
-
type: :development
|
122
|
-
prerelease: false
|
123
|
-
version_requirements: *70184098288900
|
124
158
|
description: A simple ruby API wrapper for interacting with the Wunderground API
|
125
159
|
email: winfred.nadeau@gmail.com
|
126
160
|
executables: []
|
@@ -154,7 +188,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
154
188
|
version: '0'
|
155
189
|
segments:
|
156
190
|
- 0
|
157
|
-
hash: -
|
191
|
+
hash: -4516707908487803297
|
158
192
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
159
193
|
none: false
|
160
194
|
requirements:
|
@@ -163,10 +197,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
163
197
|
version: '0'
|
164
198
|
requirements: []
|
165
199
|
rubyforge_project:
|
166
|
-
rubygems_version: 1.8.
|
200
|
+
rubygems_version: 1.8.25
|
167
201
|
signing_key:
|
168
202
|
specification_version: 3
|
169
203
|
summary: A simple ruby API wrapper for interacting with the Wunderground API
|
170
|
-
test_files:
|
171
|
-
- test/helper.rb
|
172
|
-
- test/test_wunderground.rb
|
204
|
+
test_files: []
|