weather_jp 0.0.8 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
data/README.md CHANGED
@@ -2,6 +2,8 @@
2
2
 
3
3
  ## About
4
4
 
5
+ Japan weather info API wrapper.
6
+
5
7
  Fetch Japan weather info as Ruby object easily.
6
8
 
7
9
  http://taiki45.github.com/weather_jp
@@ -26,6 +28,7 @@ Or install it yourself as:
26
28
 
27
29
  ```ruby
28
30
  # creat weather object in differrnt ways
31
+ tokyo = WeatherJp.get :today
29
32
  tokyo = WeatherJp::Weather.new :tokyo
30
33
  minato = WeatherJp::Weather.new("東京都港区")
31
34
 
@@ -38,12 +41,16 @@ minato.get_weather(4) #=> <#DayWeather object>
38
41
  minato.today.forecast #=> can be "晴れ"
39
42
  tokyo.get_weather(:tomorrow).rain
40
43
  minato.day_after_tomorrow.to_s
44
+ Weather.get(:tokyo, :today).forecast
41
45
 
42
46
  # use Weather object
43
47
  tokyo.each do |w|
44
48
  puts w.city_name
49
+ puts w.day
45
50
  puts w.forecast
46
51
  puts w.max_temp
52
+ puts w.min_temp
53
+ puts w.rain
47
54
  w.each_pair {|k,v| puts k, v }
48
55
  end
49
56
 
@@ -53,6 +60,20 @@ minato.map {|w| [w.day, w.forecast] }
53
60
  tokyo.to_a
54
61
  minato.each {|w| p w.to_hash }
55
62
 
63
+ # you can cutomize DayWeather#to_s method
64
+ Weather.get(:tokyo).today.to_s #=> "東京 東京都の天気は晴れ....etc"
65
+
66
+ Weather.customize_to_s do
67
+ word = "#{day}の#{city_name}は#{forecast} "
68
+ word << "最高気温は#{max_temp} " if max_temp
69
+ word << "最低気温は#{min_temp} " if min_temp
70
+ word << "降水確率は#{rain}%" if rain
71
+ word << "でし"
72
+ word
73
+ end
74
+
75
+ Weather.get(:tokyo).today.to_s #=> "本日の東京 東京都は晴れ...."
76
+
56
77
  ```
57
78
 
58
79
  ## Requires
@@ -61,7 +82,7 @@ Ruby >= 1.9.2
61
82
 
62
83
  ## Documents
63
84
 
64
- http://rubydoc.info/gems/weather_jp/0.0.5/frames
85
+ http://rubydoc.info/gems/weather_jp/
65
86
 
66
87
  ## Contributing
67
88
 
@@ -1,3 +1,3 @@
1
1
  module WeatherJp
2
- VERSION = "0.0.8"
2
+ VERSION = "0.1.0"
3
3
  end
data/lib/weather_jp.rb CHANGED
@@ -7,6 +7,20 @@ require 'rss'
7
7
  require 'nokogiri'
8
8
 
9
9
  module WeatherJp
10
+ def self.get(city_name, option = nil)
11
+ if option
12
+ Weather.new(city_name).get_weather(option)
13
+ else
14
+ Weather.new(city_name)
15
+ end
16
+ end
17
+
18
+ def self.customize_to_s(&code)
19
+ Weather::DayWeather.class_eval do
20
+ define_method(:to_s, &code)
21
+ end
22
+ end
23
+
10
24
  class Weather
11
25
  include Enumerable
12
26
 
@@ -0,0 +1,27 @@
1
+ # -*- coding: utf-8 -*-
2
+ require 'spec_helper'
3
+
4
+ describe "WeatherJp" do
5
+ before(:all) do
6
+ @weather = WeatherJp.get :tokyo
7
+ end
8
+
9
+ describe ".get" do
10
+ it "should return Weather instance" do
11
+ @weather.class.should == WeatherJp::Weather
12
+ end
13
+
14
+ it "should accept option and return DayWeather object" do
15
+ WeatherJp.get(:tokyo, :today).class.
16
+ should == WeatherJp::Weather::DayWeather
17
+ end
18
+ end
19
+
20
+ describe ".customize_to_s" do
21
+ it "should customize DayWeather#to_s" do
22
+ WeatherJp.customize_to_s { 'success' }
23
+ WeatherJp.get(:tokyo, :today).to_s.should == 'success'
24
+ end
25
+ end
26
+ end
27
+
data/spec/weather_spec.rb CHANGED
@@ -78,7 +78,7 @@ describe "Weather" do
78
78
  end
79
79
 
80
80
  describe "#to_a" do
81
- it "should return and behavior sama as #to_hash" do
81
+ it "should return and behavior same as #to_hash" do
82
82
  @weather.to_a.should equal(@weather.to_hash)
83
83
  end
84
84
  end
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: 0.0.8
4
+ version: 0.1.0
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-08-03 00:00:00.000000000 Z
12
+ date: 2012-08-04 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: nokogiri
@@ -93,6 +93,7 @@ files:
93
93
  - lib/weather_jp/version.rb
94
94
  - spec/day_weather_spec.rb
95
95
  - spec/spec_helper.rb
96
+ - spec/weather_jp_spec.rb
96
97
  - spec/weather_spec.rb
97
98
  - weather_jp.gemspec
98
99
  homepage: http://taiki45.github.com/weather_jp
@@ -109,7 +110,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
109
110
  version: '0'
110
111
  segments:
111
112
  - 0
112
- hash: 3831323738410976690
113
+ hash: 21516764662165991
113
114
  required_rubygems_version: !ruby/object:Gem::Requirement
114
115
  none: false
115
116
  requirements:
@@ -118,7 +119,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
118
119
  version: '0'
119
120
  segments:
120
121
  - 0
121
- hash: 3831323738410976690
122
+ hash: 21516764662165991
122
123
  requirements: []
123
124
  rubyforge_project:
124
125
  rubygems_version: 1.8.23
@@ -128,4 +129,5 @@ summary: Japan weather info API wrapper.
128
129
  test_files:
129
130
  - spec/day_weather_spec.rb
130
131
  - spec/spec_helper.rb
132
+ - spec/weather_jp_spec.rb
131
133
  - spec/weather_spec.rb