weather_jp 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/.travis.yml +3 -0
- data/HISTORY.md +7 -0
- data/README.jp.md +4 -0
- data/README.md +5 -1
- data/lib/weather_jp.rb +88 -74
- data/lib/weather_jp/version.rb +1 -1
- data/spec/day_weather_spec.rb +6 -12
- data/spec/spec_helper.rb +19 -4
- data/spec/weather_jp_spec.rb +17 -23
- data/spec/weather_spec.rb +1 -71
- data/spec/wrapper_spec.rb +32 -0
- metadata +7 -4
data/.travis.yml
CHANGED
data/HISTORY.md
ADDED
data/README.jp.md
CHANGED
@@ -37,6 +37,10 @@ tsuyama = WeatherJp.get "津山"
|
|
37
37
|
tokyo.today.to_s
|
38
38
|
#=> これは "東京都 東京の天気は曇りのち晴れ、最高気温34度...etc" になります
|
39
39
|
|
40
|
+
# もしくは解析したい文字列があるなら
|
41
|
+
WeatherJp.parse("今日のうどん県の天気教えて下され〜〜").to_s
|
42
|
+
#=> "香川県 高松の今日の天気は曇のち晴れ 最高気温25度 最低気温17度 降水確率は20% です。"
|
43
|
+
|
40
44
|
# Weather オブジェクトを取得するいくつかの方法
|
41
45
|
akiba.get_weather(4) #=> <#DayWeather object>
|
42
46
|
tokyo.today.forecast #=> can be "晴れ"
|
data/README.md
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
[](http://travis-ci.org/taiki45/weather_jp)
|
2
2
|
|
3
3
|
## About
|
4
4
|
|
@@ -37,6 +37,10 @@ tsuyama = WeatherJp.get "津山"
|
|
37
37
|
tokyo.today.to_s
|
38
38
|
#=> can be "東京都 東京の天気は曇りのち晴れ、最高気温34度...etc"
|
39
39
|
|
40
|
+
# or your have unparsed string
|
41
|
+
WeatherJp.parse("今日のうどん県の天気教えて下され〜〜").to_s
|
42
|
+
#=> "香川県 高松の今日の天気は曇のち晴れ 最高気温25度 最低気温17度 降水確率は20% です。"
|
43
|
+
|
40
44
|
# to get weather info in differrnt ways
|
41
45
|
akiba.get_weather(4) #=> <#DayWeather object>
|
42
46
|
tokyo.today.forecast #=> can be "晴れ"
|
data/lib/weather_jp.rb
CHANGED
@@ -7,7 +7,6 @@ require 'rss'
|
|
7
7
|
require 'nokogiri'
|
8
8
|
|
9
9
|
module WeatherJp
|
10
|
-
|
11
10
|
class << self
|
12
11
|
def get(city_name, option = nil)
|
13
12
|
if option
|
@@ -31,26 +30,28 @@ module WeatherJp
|
|
31
30
|
|
32
31
|
def parser(str)
|
33
32
|
if str =~ /((?<city>.*)の
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
day
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
33
|
+
(?<day>今日|きょう|明日|あした|明後日|あさって|3日後|4日後|3日後|4日後)
|
34
|
+
の(天気|てんき).*) |
|
35
|
+
((?<day>今日|きょう|明日|あした|明後日|あさって|3日後|4日後|3日後|4日後)の
|
36
|
+
(?<city>.*)の(天気|てんき))
|
37
|
+
/ux
|
38
|
+
data = Regexp.last_match
|
39
|
+
day = data[:day]
|
40
|
+
case day
|
41
|
+
when /今日|きょう/u
|
42
|
+
day = 'today'
|
43
|
+
when /明日|あした/u
|
44
|
+
day = 'tomorrow'
|
45
|
+
when /明後日|あさって/u
|
46
|
+
day = 'day_after_tomorrow'
|
47
|
+
when /3日後|3日後/u
|
48
|
+
day = 3
|
49
|
+
when /4日後|4日後/u
|
50
|
+
day = 4
|
51
|
+
else
|
52
|
+
raise "No matched"
|
53
|
+
end
|
54
|
+
{day: day, city: data[:city]}
|
54
55
|
else
|
55
56
|
nil
|
56
57
|
end
|
@@ -61,9 +62,7 @@ module WeatherJp
|
|
61
62
|
include Enumerable
|
62
63
|
|
63
64
|
def initialize(city_name)
|
64
|
-
city_name =
|
65
|
-
@area_code, @city_name = get_area_code(city_name)
|
66
|
-
@weathers = set_weathers
|
65
|
+
@area_code, @city_name, @weathers = Wrapper.get(city_name)
|
67
66
|
@day_weathers = Array.new(@weathers.size) do |n|
|
68
67
|
DayWeather.new(@weathers,@city_name, n)
|
69
68
|
end
|
@@ -71,7 +70,6 @@ module WeatherJp
|
|
71
70
|
|
72
71
|
attr_reader :city_name, :area_code, :day_weathers
|
73
72
|
|
74
|
-
public
|
75
73
|
def to_hash
|
76
74
|
@weathers
|
77
75
|
end
|
@@ -109,35 +107,36 @@ module WeatherJp
|
|
109
107
|
get_weather(s)
|
110
108
|
end
|
111
109
|
end
|
110
|
+
end
|
112
111
|
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
weathers << h
|
112
|
+
module Wrapper
|
113
|
+
class << self
|
114
|
+
def get(city_name)
|
115
|
+
area_code, city_name = get_area_code(city_name.to_s)
|
116
|
+
weathers = set_weathers(parse_rss(get_rss(area_code)))
|
117
|
+
[area_code, city_name, weathers]
|
118
|
+
end
|
119
|
+
|
120
|
+
def get_area_code(city_name)
|
121
|
+
get_xml city_name do |xml|
|
122
|
+
parse_xml xml
|
125
123
|
end
|
126
|
-
weathers
|
127
|
-
rescue
|
128
|
-
raise StandardError,
|
129
|
-
"the MSN weather sever may be downed, or something wrong"
|
130
124
|
end
|
131
|
-
end
|
132
125
|
|
133
|
-
|
134
|
-
|
135
|
-
"http://weather.service.msn.com/" +
|
136
|
-
|
137
|
-
|
138
|
-
|
126
|
+
def get_xml(city_name)
|
127
|
+
result = []
|
128
|
+
open(URI.encode("http://weather.service.msn.com/" +
|
129
|
+
"find.aspx?outputview=search&weadegreetype=C&culture=ja-JP&" +
|
130
|
+
"weasearchstr=#{city_name}")) do |xml|
|
131
|
+
result = yield xml
|
132
|
+
end
|
133
|
+
result
|
134
|
+
end
|
135
|
+
|
136
|
+
def parse_xml(xml)
|
137
|
+
doc = Nokogiri::XML(xml)
|
139
138
|
begin
|
140
|
-
code =
|
139
|
+
code =
|
141
140
|
doc.xpath('//weather').attr('weatherlocationcode').value
|
142
141
|
full_name =
|
143
142
|
doc.xpath('//weather').attr('weatherlocationname').value
|
@@ -146,36 +145,51 @@ module WeatherJp
|
|
146
145
|
"invaild city name '#{city_name}'!"
|
147
146
|
end
|
148
147
|
[code.slice(3..-1), full_name]
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
def get_weather_data
|
153
|
-
parse_rss(get_rss)
|
154
|
-
end
|
148
|
+
end
|
155
149
|
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
150
|
+
def get_rss(area_code)
|
151
|
+
begin
|
152
|
+
uri = URI.parse(
|
153
|
+
"http://weather.jp.msn.com/" +
|
154
|
+
"RSS.aspx?wealocations=wc:#{area_code}&" +
|
155
|
+
"weadegreetype=C&culture=ja-JP"
|
156
|
+
)
|
162
157
|
RSS::Parser.parse(uri, false)
|
163
|
-
|
164
|
-
|
165
|
-
|
158
|
+
rescue
|
159
|
+
raise StandardError,
|
160
|
+
"the MSN weather sever may be downed, or got invaild city code"
|
161
|
+
end
|
166
162
|
end
|
167
|
-
end
|
168
163
|
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
|
164
|
+
def parse_rss(rss)
|
165
|
+
str = rss.channel.item(0).description
|
166
|
+
data = remove_html_tag(str).split(/%/)
|
167
|
+
data.pop
|
168
|
+
data.map {|i| i.delete!('"') }
|
169
|
+
end
|
170
|
+
|
171
|
+
def remove_html_tag(str)
|
172
|
+
str.gsub(/<(\"[^\"]*\"|'[^']*'|[^'\">])*>/,'""')
|
173
|
+
end
|
175
174
|
|
176
|
-
|
177
|
-
|
175
|
+
def set_weathers(raw_data)
|
176
|
+
weathers = Array.new
|
177
|
+
begin
|
178
|
+
raw_data.each do |i|
|
179
|
+
h = Hash.new
|
180
|
+
h[:day] = i.slice(/(.*?):\s+(.*?)\./, 1)
|
181
|
+
h[:forecast] = i.slice(/(.*?):\s+(.*?)\./, 2)
|
182
|
+
h[:max_temp] = i.slice(/(最高).*?(\d+)/u, 2)
|
183
|
+
h[:min_temp] = i.slice(/(最低).*?(\d+)/u, 2)
|
184
|
+
h[:rain] = i.slice(/(降水確率).*?(\d+)/u, 2)
|
185
|
+
weathers << h
|
186
|
+
end
|
187
|
+
weathers
|
188
|
+
rescue
|
189
|
+
raise StandardError,
|
190
|
+
"the MSN weather sever may be downed, or something wrong"
|
191
|
+
end
|
192
|
+
end
|
178
193
|
end
|
179
194
|
end
|
180
195
|
end
|
181
|
-
|
data/lib/weather_jp/version.rb
CHANGED
data/spec/day_weather_spec.rb
CHANGED
@@ -2,14 +2,13 @@
|
|
2
2
|
require 'spec_helper'
|
3
3
|
|
4
4
|
describe "DayWeather" do
|
5
|
-
before
|
6
|
-
@
|
7
|
-
@weather = @tokyo.get_weather(:today)
|
5
|
+
before :all do
|
6
|
+
@weather = WeatherJp.get(:tokyo, :today)
|
8
7
|
end
|
9
8
|
|
10
9
|
describe "#initialize" do
|
11
10
|
it "should have @city_name" do
|
12
|
-
@weather.city_name.should == "
|
11
|
+
@weather.city_name.should == "tokyo"
|
13
12
|
end
|
14
13
|
|
15
14
|
it "should have @weather as Hash" do
|
@@ -22,15 +21,9 @@ describe "DayWeather" do
|
|
22
21
|
it "should return String" do
|
23
22
|
@weather.inspect.class.should == String
|
24
23
|
end
|
25
|
-
end
|
26
24
|
|
27
|
-
|
28
|
-
|
29
|
-
@weather.to_s.class.should == String
|
30
|
-
end
|
31
|
-
|
32
|
-
it "should be certain string format" do
|
33
|
-
@weather.to_s.should =~ /東京都\s東京の今日の天気は.*\sです。/u
|
25
|
+
it "should have certain format" do
|
26
|
+
@weather.inspect.should == "#<DayWeather:@city_name = tokyo, @day=今日, @forecast=晴のち雨, @max_temp=29, @min_temp=24, @rain=80>"
|
34
27
|
end
|
35
28
|
end
|
36
29
|
|
@@ -73,3 +66,4 @@ describe "DayWeather" do
|
|
73
66
|
end
|
74
67
|
end
|
75
68
|
end
|
69
|
+
|
data/spec/spec_helper.rb
CHANGED
@@ -6,12 +6,27 @@ require 'rubygems'
|
|
6
6
|
require 'nokogiri'
|
7
7
|
require 'weather_jp'
|
8
8
|
|
9
|
+
module WeatherJp::Wrapper
|
10
|
+
class << self
|
11
|
+
def get_area_code(city_name)
|
12
|
+
["JAXX0085", 'tokyo']
|
13
|
+
end
|
14
|
+
|
15
|
+
def get_rss(area_code)
|
16
|
+
get_dummy_rss
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
9
21
|
def fixture_path
|
10
22
|
File.expand_path('../fixture/', __FILE__)
|
11
23
|
end
|
12
24
|
|
13
|
-
def
|
14
|
-
|
15
|
-
|
16
|
-
|
25
|
+
def get_dummy_rss
|
26
|
+
rss = ''
|
27
|
+
open(fixture_path + '/RSS.rss') do |file|
|
28
|
+
rss = RSS::Parser.parse(file.read)
|
29
|
+
end
|
30
|
+
rss
|
17
31
|
end
|
32
|
+
|
data/spec/weather_jp_spec.rb
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
require 'spec_helper'
|
3
3
|
|
4
4
|
describe "WeatherJp" do
|
5
|
-
before
|
5
|
+
before :all do
|
6
6
|
@weather = WeatherJp.get :tokyo
|
7
7
|
end
|
8
8
|
|
@@ -24,28 +24,22 @@ describe "WeatherJp" do
|
|
24
24
|
end
|
25
25
|
end
|
26
26
|
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
#"ε( ε^o^)э東京の今日の天気教えてほしいでし…!" => {day: "today", city: "東京"},
|
43
|
-
"あきるの市の今日の天気" => {day: "today", city: "あきるの市"},
|
44
|
-
"あきるの市の今日の天気教えなさい" => {day: "today", city: "あきるの市"},
|
45
|
-
"今日のあきるの市の天気" => {day: "today", city: "あきるの市"}
|
46
|
-
}.each do |test, expect|
|
47
|
-
WeatherJp.parser(test).should == expect
|
48
|
-
end
|
27
|
+
describe ".parser" do
|
28
|
+
{"東京の今日の天気" => {day: "today", city: "東京"},
|
29
|
+
"今日の東京の天気" => {day: "today", city: "東京"},
|
30
|
+
"東京の明日の天気" => {day: "tomorrow", city: "東京"},
|
31
|
+
"東京の明後日の天気" => {day: "day_after_tomorrow", city: "東京"},
|
32
|
+
"東京の3日後の天気" => {day: 3, city: "東京"},
|
33
|
+
"東京の3日後の天気" => {day: 3, city: "東京"},
|
34
|
+
"東京の4日後の天気" => {day: 4, city: "東京"},
|
35
|
+
"東京の4日後の天気" => {day: 4, city: "東京"},
|
36
|
+
"東京の今日の天気教えて〜" => {day: "today", city: "東京"},
|
37
|
+
"あきるの市の今日の天気" => {day: "today", city: "あきるの市"},
|
38
|
+
"あきるの市の今日の天気教えなさい" => {day: "today", city: "あきるの市"},
|
39
|
+
"今日のあきるの市の天気" => {day: "today", city: "あきるの市"}
|
40
|
+
}.each do |test, expect|
|
41
|
+
WeatherJp.parser(test).should == expect
|
49
42
|
end
|
43
|
+
end
|
50
44
|
end
|
51
45
|
|
data/spec/weather_spec.rb
CHANGED
@@ -13,18 +13,9 @@ describe "Weather" do
|
|
13
13
|
@weather.area_code.should == "JAXX0085"
|
14
14
|
end
|
15
15
|
|
16
|
-
it "should have @city_name and can access" do
|
17
|
-
@weather.city_name.should == "東京都 東京"
|
18
|
-
end
|
19
|
-
|
20
|
-
it "should accept String argument" do
|
21
|
-
weather = WeatherJp::Weather.new "東京都府中市"
|
22
|
-
weather.city_name.should == "東京都 府中市"
|
23
|
-
end
|
24
|
-
|
25
16
|
it "should accept Symbol argument" do
|
26
17
|
weather = WeatherJp::Weather.new :tokyo
|
27
|
-
weather.city_name.should == "
|
18
|
+
weather.city_name.should == "tokyo"
|
28
19
|
end
|
29
20
|
|
30
21
|
it "should have @day_weathers as Array" do
|
@@ -42,16 +33,6 @@ describe "Weather" do
|
|
42
33
|
end
|
43
34
|
end
|
44
35
|
|
45
|
-
describe "#get_area_code" do
|
46
|
-
it "should get vaild area code" do
|
47
|
-
@weather.area_code.should == "JAXX0085"
|
48
|
-
end
|
49
|
-
|
50
|
-
it "should raise error when invaild city name taken" do
|
51
|
-
WeatherJp::Weather.new(:aaa).city_name.should == "アメリカ合衆国 マイアミ"
|
52
|
-
end
|
53
|
-
end
|
54
|
-
|
55
36
|
describe "#to_hash" do
|
56
37
|
it "should return Array and include Hashs" do
|
57
38
|
@weather.to_hash.class.should == Array
|
@@ -141,55 +122,4 @@ describe "Weather" do
|
|
141
122
|
end
|
142
123
|
end
|
143
124
|
end
|
144
|
-
|
145
|
-
describe "with fixtures" do
|
146
|
-
before :all do
|
147
|
-
dummy = ''
|
148
|
-
rss_one {|rss| dummy = RSS::Parser.parse rss }
|
149
|
-
WeatherJp::Weather.class_exec dummy do |dummy|
|
150
|
-
alias :back_code :get_area_code
|
151
|
-
alias :back_rss :get_rss
|
152
|
-
define_method(:get_area_code) {|city_name| ["JAXX0085", 'tokyo'] }
|
153
|
-
define_method(:get_rss) { dummy }
|
154
|
-
end
|
155
|
-
@weather = WeatherJp::Weather.new(:tokyo)
|
156
|
-
end
|
157
|
-
|
158
|
-
describe "#set_weathers" do
|
159
|
-
it "should have vaild data" do
|
160
|
-
expect = [{:day=>"今日", :forecast=>"晴のち雨", :max_temp=>"29", :min_temp=>"24", :rain=>"80"},
|
161
|
-
{:day=>"明日", :forecast=>"雨のち晴", :max_temp=>"30", :min_temp=>"22", :rain=>"60"},
|
162
|
-
{:day=>"火曜日", :forecast=>"曇時々晴", :max_temp=>"27", :min_temp=>"22", :rain=>"30"},
|
163
|
-
{:day=>"水曜日", :forecast=>"曇時々雨", :max_temp=>"25", :min_temp=>"20", :rain=>"50"},
|
164
|
-
{:day=>"木曜日", :forecast=>"曇り", :max_temp=>"28", :min_temp=>"20", :rain=>"40"}
|
165
|
-
]
|
166
|
-
@weather.to_hash.should == expect
|
167
|
-
end
|
168
|
-
end
|
169
|
-
|
170
|
-
describe "#get_weather_data" do
|
171
|
-
describe "#parse_rss" do
|
172
|
-
it "should parse rss data" do
|
173
|
-
expect = ["今日: 晴のち雨. 最低: 24°C. 最高: 29°C. 降水確率: 80", "明日: 雨のち晴. 最低: 22°C. 最高: 30°C. 降水確率: 60", "火曜日: 曇時々晴. 最低: 22°C. 最高: 27°C. 降水確率: 30", "水曜日: 曇時々雨. 最低: 20°C. 最高: 25°C. 降水確率: 50", "木曜日: 曇り. 最低: 20°C. 最高: 28°C. 降水確率: 40"]
|
174
|
-
rss_one do |rss|
|
175
|
-
@weather.send(:parse_rss, RSS::Parser.parse(rss)).should == expect
|
176
|
-
end
|
177
|
-
end
|
178
|
-
end
|
179
|
-
|
180
|
-
describe "#remove_html_tag" do
|
181
|
-
it "should remove html tags" do
|
182
|
-
data = %q(<html>a<a href="dummy">b</a><span>c</sapan></html>)
|
183
|
-
@weather.send(:remove_html_tag, data).should == %(""a""b""""c"""")
|
184
|
-
end
|
185
|
-
end
|
186
|
-
end
|
187
|
-
|
188
|
-
after :all do
|
189
|
-
WeatherJp::Weather.class_exec do
|
190
|
-
alias :get_area_code :back_code
|
191
|
-
alias :get_rss :back_rss
|
192
|
-
end
|
193
|
-
end
|
194
|
-
end
|
195
125
|
end
|
@@ -0,0 +1,32 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
require 'spec_helper'
|
3
|
+
|
4
|
+
describe "Wrapper" do
|
5
|
+
describe ".set_weathers" do
|
6
|
+
it "should make vaild data" do
|
7
|
+
expect = [{:day=>"今日", :forecast=>"晴のち雨", :max_temp=>"29", :min_temp=>"24", :rain=>"80"},
|
8
|
+
{:day=>"明日", :forecast=>"雨のち晴", :max_temp=>"30", :min_temp=>"22", :rain=>"60"},
|
9
|
+
{:day=>"火曜日", :forecast=>"曇時々晴", :max_temp=>"27", :min_temp=>"22", :rain=>"30"},
|
10
|
+
{:day=>"水曜日", :forecast=>"曇時々雨", :max_temp=>"25", :min_temp=>"20", :rain=>"50"},
|
11
|
+
{:day=>"木曜日", :forecast=>"曇り", :max_temp=>"28", :min_temp=>"20", :rain=>"40"}
|
12
|
+
]
|
13
|
+
dummy_data = ["今日: 晴のち雨. 最低: 24°C. 最高: 29°C. 降水確率: 80", "明日: 雨のち晴. 最低: 22°C. 最高: 30°C. 降水確率: 60", "火曜日: 曇時々晴. 最低: 22°C. 最高: 27°C. 降水確率: 30", "水曜日: 曇時々雨. 最低: 20°C. 最高: 25°C. 降水確率: 50", "木曜日: 曇り. 最低: 20°C. 最高: 28°C. 降水確率: 40"]
|
14
|
+
WeatherJp::Wrapper.set_weathers(dummy_data) == expect
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
describe ".parse_rss" do
|
19
|
+
it "should parse rss data" do
|
20
|
+
expect = ["今日: 晴のち雨. 最低: 24°C. 最高: 29°C. 降水確率: 80", "明日: 雨のち晴. 最低: 22°C. 最高: 30°C. 降水確率: 60", "火曜日: 曇時々晴. 最低: 22°C. 最高: 27°C. 降水確率: 30", "水曜日: 曇時々雨. 最低: 20°C. 最高: 25°C. 降水確率: 50", "木曜日: 曇り. 最低: 20°C. 最高: 28°C. 降水確率: 40"]
|
21
|
+
WeatherJp::Wrapper.parse_rss(get_dummy_rss).should == expect
|
22
|
+
end
|
23
|
+
|
24
|
+
describe ".remove_html_tag" do
|
25
|
+
it "should remove html tags" do
|
26
|
+
str = %q(<html>a<a href="dummy">b</a><span>c</sapan></html>)
|
27
|
+
WeatherJp::Wrapper.remove_html_tag(str).should == %(""a""b""""c"""")
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: weather_jp
|
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,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-10-
|
12
|
+
date: 2012-10-06 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: nokogiri
|
@@ -85,6 +85,7 @@ files:
|
|
85
85
|
- .gitignore
|
86
86
|
- .travis.yml
|
87
87
|
- Gemfile
|
88
|
+
- HISTORY.md
|
88
89
|
- LICENSE
|
89
90
|
- README.jp.md
|
90
91
|
- README.md
|
@@ -97,6 +98,7 @@ files:
|
|
97
98
|
- spec/spec_helper.rb
|
98
99
|
- spec/weather_jp_spec.rb
|
99
100
|
- spec/weather_spec.rb
|
101
|
+
- spec/wrapper_spec.rb
|
100
102
|
- weather_jp.gemspec
|
101
103
|
homepage: http://taiki45.github.com/weather_jp
|
102
104
|
licenses: []
|
@@ -112,7 +114,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
112
114
|
version: '0'
|
113
115
|
segments:
|
114
116
|
- 0
|
115
|
-
hash:
|
117
|
+
hash: 2403131100939033497
|
116
118
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
117
119
|
none: false
|
118
120
|
requirements:
|
@@ -121,7 +123,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
121
123
|
version: '0'
|
122
124
|
segments:
|
123
125
|
- 0
|
124
|
-
hash:
|
126
|
+
hash: 2403131100939033497
|
125
127
|
requirements: []
|
126
128
|
rubyforge_project:
|
127
129
|
rubygems_version: 1.8.23
|
@@ -134,3 +136,4 @@ test_files:
|
|
134
136
|
- spec/spec_helper.rb
|
135
137
|
- spec/weather_jp_spec.rb
|
136
138
|
- spec/weather_spec.rb
|
139
|
+
- spec/wrapper_spec.rb
|