Changeset 2145
- Timestamp:
- 11/29/07 18:50:36 (14 months ago)
- Location:
- lang/ruby/ssb
- Files:
-
- 3 modified
-
libs/ssb/ktai_db.rb (modified) (2 diffs)
-
public_html/ktai_db.rbx (modified) (1 diff)
-
test/test_ktai_db.rb (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
lang/ruby/ssb/libs/ssb/ktai_db.rb
r2135 r2145 83 83 84 84 # 前方一致で探す 85 ret = list.select {|e| e[cond[0]] =~ Regexp.new("^#{cond[1]}.*", Regexp::IGNORECASE) } 85 ret = nil 86 if cond[0] == :useragent 87 # useragent のときだけ前方からの部分一致でok 88 ret = list.select {|e| e[cond[0]].index(cond[1]) } 89 else 90 # 普通は後方一致 91 ret = list.select {|e| e[cond[0]] =~ Regexp.union(/^#{cond[1]}.*/i) } 92 end 86 93 if query.size == 0 87 94 ret … … 100 107 101 108 for cond in remap_table do 102 if source =~ Regexp. new(cond, Regexp::IGNORECASE)109 if source =~ Regexp.union(/#{cond}/i) 103 110 source = cond 104 111 break -
lang/ruby/ssb/public_html/ktai_db.rbx
r2141 r2145 20 20 def do_GET(req, res) 21 21 res.header['Content-Type'] = 'text/html; charset=utf-8' 22 ktai = @db.search(:carrier => req.query['carrier'], 23 :name => req.query['name']) 22 ktai = @db.search(:carrier => req.query['carrier'], 23 :name => req.query['name'], 24 :useragent => req.query['useragent']) 24 25 res.body += "<h1>search result</h1>" 25 26 res.body += "carrier: #{req.query['carrier']}<br />" 26 27 res.body += "name: #{req.query['name']}<br />" 28 res.body += "useragent #{req.query['useragent']}<br />" 27 29 res.body += "result: #{ktai.size}" 28 30 res.body += "<hr />" -
lang/ruby/ssb/test/test_ktai_db.rb
r2135 r2145 101 101 assert_equal(ret[0][:name], 'NM502i') 102 102 end 103 104 # useragentで検索するとき、完全一致のときは1件だけ 105 def test_search_by_useragent_fullmatch 106 ret = @ktai_db.search(:useragent => 'UP.Browser/3.04-HI11 UP.Link/3.4.4') 107 assert_equal(ret.size, 1) 108 assert_equal(ret[0][:name], 'C302H') 109 end 110 111 # useragentで検索は前方からの部分一致でok 112 def test_search_by_useragent_partmatch 113 ret = @ktai_db.search(:useragent => 'UP.Browser/3.04') 114 assert_equal(ret.size, 8) 115 assert_equal(ret[0][:name], 'C301T') 116 assert_equal(ret[7][:name], 'C309H') 117 end 103 118 end 104 119
![(please configure the [header_logo] section in trac.ini)](/share/chrome/site/your_project_logo.png)