ruby-maidcafe 0.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.
@@ -0,0 +1,49 @@
1
+ <?xml version='1.0' encoding='UTF-8'?>
2
+ <channel>
3
+ <title>メイドカフェでGO!XMLでお店情報取得!β版</title>
4
+ <link>http://moeten.info/maidcafe/?m=api</link>
5
+ <description>メイドカフェでGO!から情報を取得します</description>
6
+ <language>ja</language>
7
+ <generator>http://moeten.info/maidcafe/?m=api</generator>
8
+ <docs/>
9
+ <item>
10
+ <todouhuken>北海道</todouhuken>
11
+ <tid>1</tid>
12
+ </item>
13
+ <item>
14
+ <todouhuken>栃木県</todouhuken>
15
+ <tid>9</tid>
16
+ </item>
17
+ <item>
18
+ <todouhuken>埼玉県</todouhuken>
19
+ <tid>11</tid>
20
+ </item>
21
+ <item>
22
+ <todouhuken>東京都</todouhuken>
23
+ <tid>13</tid>
24
+ </item>
25
+ <item>
26
+ <todouhuken>神奈川県</todouhuken>
27
+ <tid>14</tid>
28
+ </item>
29
+ <item>
30
+ <todouhuken>岐阜県</todouhuken>
31
+ <tid>21</tid>
32
+ </item>
33
+ <item>
34
+ <todouhuken>愛知県</todouhuken>
35
+ <tid>23</tid>
36
+ </item>
37
+ <item>
38
+ <todouhuken>大阪府</todouhuken>
39
+ <tid>27</tid>
40
+ </item>
41
+ <item>
42
+ <todouhuken>福岡県</todouhuken>
43
+ <tid>40</tid>
44
+ </item>
45
+ <item>
46
+ <todouhuken>鹿児島県</todouhuken>
47
+ <tid>46</tid>
48
+ </item>
49
+ </channel>
@@ -0,0 +1,27 @@
1
+ $KCODE = 'u'
2
+ $:.unshift File.join(File.dirname(__FILE__), '../lib')
3
+ require 'test/unit'
4
+ require 'ruby-maidcafe'
5
+
6
+ class MaidcafeTest < Test::Unit::TestCase
7
+ def setup
8
+ end
9
+
10
+ def test_specialities
11
+ rs = Maidcafe::ResultSet.new(nil, read_xml('t_list'))
12
+ assert_equal 'Maidcafe::Prefecture', rs.items.first.class.name
13
+
14
+ rs = Maidcafe::ResultSet.new(:shop, read_xml('shop_t_13'))
15
+ assert_equal 'Maidcafe::Moe', rs.items.first.class.name
16
+ assert_equal 'Maidcafe::Moe::Shop', rs.items.first.instance_eval{@specialities}.class.name
17
+ assert_equal "17:00〜23:00
18
+ (平日 18:00〜22:30)
19
+ (金土祝前日 翌日5:00)", rs.items.first.opening_hour
20
+ end
21
+
22
+ def read_xml(dataname)
23
+ File.open("#{File.dirname(File.expand_path(__FILE__))}/data/#{dataname}.xml") do |f|
24
+ REXML::Document.new f
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,42 @@
1
+ $KCODE = 'u'
2
+ $:.unshift File.join(File.dirname(__FILE__), '../lib')
3
+ require 'test/unit'
4
+ require 'ruby-maidcafe'
5
+
6
+ class MaidcafeTest < Test::Unit::TestCase
7
+ def setup
8
+ @api = Maidcafe::API.new
9
+ end
10
+
11
+ def test_request_url
12
+ assert_equal "http://moeten.info/maidcafe/?type=list&tid=27&m=api",
13
+ @api.request_url(:list, :tid => 27)
14
+ end
15
+
16
+ def test_list
17
+ type_list = @api.list :type
18
+ assert_equal 'http://moeten.info/maidcafe/?m=api', type_list.link
19
+ assert !type_list.items.empty?
20
+ assert_equal Maidcafe::Type, type_list.items.first.class
21
+
22
+ category_list = @api.list :category
23
+ assert_equal 'http://moeten.info/maidcafe/?m=api', category_list.link
24
+ assert !category_list.items.empty?
25
+ assert_equal Maidcafe::Category, category_list.items.first.class
26
+ end
27
+
28
+ def test_invoke
29
+ cafes = @api.shop :category => 1
30
+ assert_equal 'http://moeten.info/maidcafe/?m=api', cafes.link
31
+ assert !cafes.items.empty?
32
+ assert_not_nil cafes.items.first.name # in main
33
+ assert_not_nil cafes.items.first.opening_hour # in specialities
34
+ assert_equal Maidcafe::Moe, cafes.items.first.class
35
+ assert_equal Maidcafe::Moe::Shop, cafes.items.first.instance_eval{@specialities}.class
36
+
37
+ events_in_osaka = @api.event :prefecture => Maidcafe::Prefecture::OSAKA
38
+ assert !events_in_osaka.items.empty?
39
+ assert_equal Maidcafe::Moe, events_in_osaka.items.first.class
40
+ assert_equal Maidcafe::Moe::Event, events_in_osaka.items.first.instance_eval{@specialities}.class
41
+ end
42
+ end
metadata ADDED
@@ -0,0 +1,65 @@
1
+ --- !ruby/object:Gem::Specification
2
+ rubygems_version: 0.9.0
3
+ specification_version: 1
4
+ name: ruby-maidcafe
5
+ version: !ruby/object:Gem::Version
6
+ version: 0.0.1
7
+ date: 2007-06-24 00:00:00 +09:00
8
+ summary: ruby interface for Maidcafe API (http://moeten.info/maidcafe/?m=api)
9
+ require_paths:
10
+ - lib
11
+ email: ryand-ruby@zenspider.com
12
+ homepage: " by ANDO Yasushi (andyjpn@gmail.com)"
13
+ rubyforge_project: ruby-maidcafe
14
+ description: "By utilizing this library, you can retrieve information of Japanese Maidcafe via Maidcafe API web service (http://moeten.info/maidcafe/?m=api). This can be used as interactive command line tool, non-interactive one, and library. == SYNOPSIS: In your code: * get shop list api = Maidcafe::API.new rs = api.list :shop puts rs.description rs.items.each do |item| puts item.name puts item.id end\t * get shop information in osaka rs = api.shop :prefecture => Maidcafe::Prefecture::OSAKA puts rs.description rs.items.each do |item| puts item.name puts item.description puts item.opening_hour end"
15
+ autorequire:
16
+ default_executable:
17
+ bindir: bin
18
+ has_rdoc: true
19
+ required_ruby_version: !ruby/object:Gem::Version::Requirement
20
+ requirements:
21
+ - - ">"
22
+ - !ruby/object:Gem::Version
23
+ version: 0.0.0
24
+ version:
25
+ platform: ruby
26
+ signing_key:
27
+ cert_chain:
28
+ post_install_message:
29
+ authors:
30
+ - Ryan Davis
31
+ files:
32
+ - History.txt
33
+ - Rakefile
34
+ - Manifest.txt
35
+ - README.txt
36
+ - bin/ruby-maidcafe
37
+ - lib/ruby-maidcafe.rb
38
+ - lib/cui.rb
39
+ - test/test_ruby-maidcafe.rb
40
+ - test/test_resultset.rb
41
+ - test/data/shop_t_13.xml
42
+ - test/data/t_list.xml
43
+ test_files:
44
+ - test/test_ruby-maidcafe.rb
45
+ - test/test_resultset.rb
46
+ rdoc_options: []
47
+
48
+ extra_rdoc_files: []
49
+
50
+ executables:
51
+ - ruby-maidcafe
52
+ extensions: []
53
+
54
+ requirements: []
55
+
56
+ dependencies:
57
+ - !ruby/object:Gem::Dependency
58
+ name: hoe
59
+ version_requirement:
60
+ version_requirements: !ruby/object:Gem::Version::Requirement
61
+ requirements:
62
+ - - ">="
63
+ - !ruby/object:Gem::Version
64
+ version: 1.2.0
65
+ version: