binged 0.1.1 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
data/HISTORY CHANGED
@@ -0,0 +1,4 @@
1
+ == 0.2.0 2010-03-12
2
+
3
+ === New features
4
+ * Added an Image source provider to allow for Image searching with Binged
data/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  ## About Binged
4
4
 
5
- A Ruby wrapper for the Bing API
5
+ A Ruby wrapper for the Bing API. DSL inspired by jnunemaker's [Twitter Gem](http://github.com/jnunemaker/twitter) Search API wrapper.
6
6
 
7
7
  ## Installation
8
8
 
@@ -31,11 +31,15 @@ Binged allows for configuration to be done once using a configure block. To use
31
31
 
32
32
  ### Web Search Example
33
33
 
34
- Web search utilizes a criteria based query interface inspired by jnunemaker's [Twitter Gem](http://github.com/jnunemaker/twitter) Search API wrapper.
35
-
36
34
  # Find 30 results for ruby from site http://www.ruby-lang.org
37
35
  web_search = Binged::Client.new.web
38
- web_search.containing('ruby').from_site('www.ruby-lang.org').per_page(30).each {|result| puts result.title }
36
+ web_search.containing('ruby').from_site('www.ruby-lang.org').per_page(30).each {|result| pp result }
37
+
38
+ ### Image Search Example
39
+
40
+ # Find all portrait Matz images with a wide aspect ratio
41
+ image_search = Binged::Client.new.image
42
+ image_search.containing('Yukihiro Matsumoto').portrait.wide.each {|image| pp image}
39
43
 
40
44
  ## Note on Patches/Pull Requests
41
45
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.1
1
+ 0.2.0
data/binged.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{binged}
8
- s.version = "0.1.1"
8
+ s.version = "0.2.0"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Kevin Faustino"]
12
- s.date = %q{2010-03-08}
12
+ s.date = %q{2010-03-12}
13
13
  s.description = %q{A wrapper for the bing api}
14
14
  s.email = %q{kevin.faustino@gmail.com}
15
15
  s.extra_rdoc_files = [
@@ -30,12 +30,17 @@ Gem::Specification.new do |s|
30
30
  "lib/binged/hashie_extensions.rb",
31
31
  "lib/binged/search.rb",
32
32
  "lib/binged/search/base.rb",
33
+ "lib/binged/search/image.rb",
33
34
  "lib/binged/search/web.rb",
35
+ "spec/binged/search/image_spec.rb",
34
36
  "spec/binged/search/web_spec.rb",
35
37
  "spec/binged_spec.rb",
38
+ "spec/fixtures/images.json",
36
39
  "spec/fixtures/web.json",
37
40
  "spec/spec.opts",
38
- "spec/spec_helper.rb"
41
+ "spec/spec_helper.rb",
42
+ "spec/support/shared_examples/filter.rb",
43
+ "spec/support/shared_examples/pageable.rb"
39
44
  ]
40
45
  s.homepage = %q{http://github.com/kfaustino/binged}
41
46
  s.rdoc_options = ["--charset=UTF-8"]
@@ -43,9 +48,12 @@ Gem::Specification.new do |s|
43
48
  s.rubygems_version = %q{1.3.6}
44
49
  s.summary = %q{A wrapper for the bing api}
45
50
  s.test_files = [
46
- "spec/binged/search/web_spec.rb",
51
+ "spec/binged/search/image_spec.rb",
52
+ "spec/binged/search/web_spec.rb",
47
53
  "spec/binged_spec.rb",
48
- "spec/spec_helper.rb"
54
+ "spec/spec_helper.rb",
55
+ "spec/support/shared_examples/filter.rb",
56
+ "spec/support/shared_examples/pageable.rb"
49
57
  ]
50
58
 
51
59
  if s.respond_to? :specification_version then
data/lib/binged/client.rb CHANGED
@@ -17,6 +17,13 @@ module Binged
17
17
  def web(query='')
18
18
  Search::Web.new(self,query)
19
19
  end
20
+
21
+ # Create a image search through Bing
22
+ #
23
+ # @param [String] query The search term to be sent to Bing
24
+ def image(query='')
25
+ Search::Image.new(self,query)
26
+ end
20
27
 
21
28
  end
22
29
 
@@ -1,7 +1,7 @@
1
1
  module Binged
2
2
  module Search
3
-
4
- # @abstract Subclass and override {#fetch} to implement a custom Searchable class
3
+
4
+ # @abstract Subclass and set @source to implement a custom Searchable class
5
5
  class Base
6
6
  include Enumerable
7
7
  attr_reader :client, :query, :source
@@ -9,9 +9,21 @@ module Binged
9
9
  BASE_URI = 'http://api.bing.net/json.aspx?'
10
10
 
11
11
  # @param [Binged::Client] client
12
- def initialize(client)
12
+ # @param [String] query The search term to be sent to Bing
13
+ def initialize(client, query=nil)
13
14
  @client = client
15
+ @callbacks = []
14
16
  reset_query
17
+ containing(query) if query && query.strip != ''
18
+ end
19
+
20
+ # Add query to search
21
+ #
22
+ # @param [String] query The search term to be sent to Bing
23
+ # @return [self]
24
+ def containing(query)
25
+ @query[:Query] << query
26
+ self
15
27
  end
16
28
 
17
29
  # Clears all filters to perform a new search
@@ -20,19 +32,30 @@ module Binged
20
32
  reset_query
21
33
  self
22
34
  end
23
-
35
+
36
+ # Retrieve results of the web search. Limited to first 1000 results.
37
+ #
38
+ # @return [Hash] A hash of the results returned from Bing
24
39
  def fetch
40
+ if @fetch.nil?
41
+ response = perform
42
+ @fetch = Hashie::Mash.new(response["SearchResponse"][self.source.to_s.capitalize])
43
+ end
44
+
45
+ @fetch
25
46
  end
26
47
 
27
48
  # Performs a GET call to Bing API
28
- #
49
+ #
29
50
  # @return [Hash] Hash of Bing API response
30
51
  def perform
31
52
  url = URI.parse BASE_URI
32
53
  query = @query.dup
33
- query[:Query] = query[:Query].join(' ')
54
+ query[:Query] = query[:Query].join(' ')
34
55
  query[:Sources] = self.source
56
+ callbacks.each {|callback| callback.call(query) }
35
57
  query_options = default_options.merge(query).to_params
58
+ query_options.gsub! '%2B', '+'
36
59
  url.query = query_options
37
60
  response = Net::HTTP.get(url)
38
61
  Crack::JSON.parse(response)
@@ -43,6 +66,10 @@ module Binged
43
66
  fetch().results.each { |r| yield r }
44
67
  end
45
68
 
69
+ protected
70
+
71
+ attr_reader :callbacks
72
+
46
73
  private
47
74
 
48
75
  def default_options
@@ -50,8 +77,9 @@ module Binged
50
77
  end
51
78
 
52
79
  def reset_query
53
- @query = { :Query => [] }
80
+ @query = { :Query => [] }
54
81
  end
82
+
55
83
  end
56
84
 
57
85
  end
@@ -0,0 +1,120 @@
1
+ module Binged
2
+ module Search
3
+
4
+ # A class that encapsulated the Bing Image Search source
5
+ class Image < Base
6
+ include Filter
7
+ include Pageable
8
+
9
+ # @param [Binged::Client] client
10
+ # @param [String] query The search term to be sent to Bing
11
+ # @param [Hash] options
12
+ def initialize(client, query=nil, options={})
13
+ super(client, query)
14
+ @source = :image
15
+ set_paging_defaults
16
+ create_filter_callback
17
+ end
18
+
19
+ # Restrict images to those small in size
20
+ def small
21
+ filter << 'Size:Small'
22
+ self
23
+ end
24
+
25
+ # Restrict images to those medium in size
26
+ def medium
27
+ filter << 'Size:Medium'
28
+ self
29
+ end
30
+
31
+ # Restrict images to those large in size
32
+ def large
33
+ filter << 'Size:Large'
34
+ self
35
+ end
36
+
37
+ # Restrict images to the specified height in pixels
38
+ #
39
+ # @param [Fixnum] pixels height in pixels
40
+ def height(pixels)
41
+ filter << "Size:Height:#{pixels}"
42
+ self
43
+ end
44
+
45
+ # Restrict images to the specified width in pixels
46
+ #
47
+ # @param [Fixnum] pixels width in pixels
48
+ def width(pixels)
49
+ filter << "Size:Width:#{pixels}"
50
+ self
51
+ end
52
+
53
+ # Restrict images to those that have a square aspect ratio
54
+ def square
55
+ filter << 'Aspect:Square'
56
+ self
57
+ end
58
+
59
+ # Restrict images to those that have a wide aspect ratio
60
+ def wide
61
+ filter << 'Aspect:Wide'
62
+ self
63
+ end
64
+
65
+ # Restrict images to those that have a tall aspect ratio
66
+ def tall
67
+ filter << 'Aspect:Tall'
68
+ self
69
+ end
70
+
71
+ # Restrict images to those that are in color
72
+ def color
73
+ filter << 'Color:Color'
74
+ self
75
+ end
76
+
77
+ # Restrict images to those which contain photos
78
+ def photo
79
+ filter << 'Style:Photo'
80
+ self
81
+ end
82
+
83
+ # Restrict images to those which contain graphics or illustrations
84
+ def graphics
85
+ filter << 'Style:Graphics'
86
+ self
87
+ end
88
+
89
+ # Restrict images to those that are in black and white
90
+ def monochrome
91
+ filter << 'Color:Monochrome'
92
+ self
93
+ end
94
+
95
+ # Restrict images to those which contain faces
96
+ def face
97
+ filter << 'Face:Face'
98
+ self
99
+ end
100
+
101
+ # Restrict images to those which contain portraits(head and shoulders)
102
+ def portrait
103
+ filter << 'Face:Portrait'
104
+ self
105
+ end
106
+
107
+ private
108
+
109
+ def create_filter_callback
110
+ @callbacks << Proc.new { |query| query['Image.Filters'] = query['Image.Filters'].join('+') if query['Image.Filters'] }
111
+ end
112
+
113
+ def filter
114
+ @query['Image.Filters'] ||= []
115
+ end
116
+
117
+ end
118
+
119
+ end
120
+ end
@@ -4,8 +4,8 @@ module Binged
4
4
  # A class that encapsulated the Bing Web Search source
5
5
  # @todo Add support for adult and market filtering
6
6
  class Web < Base
7
-
8
- SEARCH_RESULTS_LIMIT = 1000
7
+ include Filter
8
+ include Pageable
9
9
 
10
10
  SUPPORTED_FILE_TYPES = [:doc, :dwf, :feed, :htm, :html, :pdf, :ppt, :ps, :rtf, :text, :txt, :xls]
11
11
 
@@ -13,31 +13,9 @@ module Binged
13
13
  # @param [String] query The search term to be sent to Bing
14
14
  # @param [Hash] options
15
15
  def initialize(client, query=nil, options={})
16
- super(client)
16
+ super(client, query)
17
17
  @source = :web
18
- per_page(20).page(1)
19
- containing(query) if query && query.strip != ''
20
- end
21
-
22
- # Add query to search
23
- #
24
- # @param [String] query The search term to be sent to Bing
25
- # @return [self]
26
- def containing(query)
27
- @query[:Query] << query
28
- self
29
- end
30
-
31
- # Retrieve results of the web search. Limited to first 1000 results.
32
- #
33
- # @return [Hash] A hash of the results returned from Bing
34
- def fetch
35
- if @fetch.nil?
36
- response = perform
37
- @fetch = Hashie::Mash.new(response["SearchResponse"]["Web"])
38
- end
39
-
40
- @fetch
18
+ set_paging_defaults
41
19
  end
42
20
 
43
21
  # Add filtering based on a file type
@@ -53,50 +31,6 @@ module Binged
53
31
  self
54
32
  end
55
33
 
56
- # Isolate search results to a specific site
57
- #
58
- # @example
59
- # web_search.from_site('www.ruby-lang.org')
60
- #
61
- # @param [String] site Web site address to limit search results to
62
- # @return [self]
63
- def from_site(site)
64
- @query[:Query] << "site:#{site}"
65
- self
66
- end
67
-
68
- # Set the page number of the results to display
69
- #
70
- # @param [Fixnum] num The page number of the search results
71
- # @return [self]
72
- def page(num=1)
73
- @offset = num - 1
74
- @query['Web.Offset'] = @results_per_page * @offset
75
- self
76
- end
77
-
78
- # The amount of results to display per page. Initialized to 20 per page.
79
- #
80
- # @param [Fixnum] num The number of results per page
81
- # @return [self]
82
- def per_page(num)
83
- @results_per_page = num
84
- @query['Web.Count'] = @results_per_page
85
- self
86
- end
87
-
88
- # The total amount of pages available
89
- #
90
- # @return[Fixnum] Amount of pages
91
- def total_pages
92
- bing_total = fetch.total.to_i
93
- if bing_total < SEARCH_RESULTS_LIMIT
94
- bing_total / @results_per_page
95
- else
96
- SEARCH_RESULTS_LIMIT / @results_per_page
97
- end
98
- end
99
-
100
34
  end
101
35
  end
102
36
  end
data/lib/binged/search.rb CHANGED
@@ -4,6 +4,53 @@ module Binged
4
4
 
5
5
  autoload :Base, "binged/search/base"
6
6
  autoload :Web, "binged/search/web"
7
+ autoload :Image, "binged/search/image"
7
8
 
9
+ module Pageable
10
+
11
+ # Set the page number of the results to display
12
+ #
13
+ # @param [Fixnum] num The page number of the search results
14
+ # @return [self]
15
+ def page(num=1)
16
+ @offset = num - 1
17
+ @query["#{@source.to_s.capitalize}.Offset"] = @results_per_page * @offset
18
+ self
19
+ end
20
+
21
+ # The amount of results to display per page. Initialized to 20 per page.
22
+ #
23
+ # @param [Fixnum] num The number of results per page
24
+ # @return [self]
25
+ def per_page(num)
26
+ @results_per_page = num
27
+ @query["#{@source.to_s.capitalize}.Count"] = @results_per_page
28
+ self
29
+ end
30
+
31
+ protected
32
+
33
+ def set_paging_defaults
34
+ self.per_page(20).page(1)
35
+ end
36
+
37
+ end
38
+
39
+ module Filter
40
+
41
+ # # Isolate search results to a specific site
42
+ #
43
+ # @example
44
+ # web_search.from_site('www.ruby-lang.org')
45
+ #
46
+ # @param [String] site Web site address to limit search results to
47
+ # @return [self]
48
+ def from_site(site)
49
+ @query[:Query] << "site:#{site}"
50
+ self
51
+ end
52
+
53
+ end
54
+
8
55
  end
9
56
  end
@@ -0,0 +1,157 @@
1
+ require 'spec_helper'
2
+
3
+ module Binged
4
+ module Search
5
+
6
+ describe "Image" do
7
+ include AnyFilter
8
+ include AnyPageable
9
+
10
+ before(:each) do
11
+ @client = Binged::Client.new(:api_key => 'binged')
12
+ @search = Image.new(@client)
13
+ end
14
+
15
+ it "should initialize with a search term" do
16
+ Image.new(@client, 'binged').query[:Query].should include('binged')
17
+ end
18
+
19
+ context "filtering" do
20
+
21
+ describe "size" do
22
+ it "should filter by small images" do
23
+ @search.small
24
+ @search.query['Image.Filters'].should include('Size:Small')
25
+ end
26
+
27
+ it "should filter by medium images" do
28
+ @search.medium
29
+ @search.query['Image.Filters'].should include('Size:Medium')
30
+ end
31
+
32
+ it "should filter by large images" do
33
+ @search.large
34
+ @search.query['Image.Filters'].should include('Size:Large')
35
+ end
36
+
37
+ end
38
+
39
+ describe "size" do
40
+
41
+ it "should filter for images with a specified height in pixels" do
42
+ @search.height 100
43
+ @search.query['Image.Filters'].should include('Size:Height:100')
44
+ end
45
+
46
+ it "should filter for images with a specified width in pixels" do
47
+ @search.width 150
48
+ @search.query['Image.Filters'].should include('Size:Width:150')
49
+ end
50
+
51
+ end
52
+
53
+ describe "aspect" do
54
+
55
+ %w(Square Wide Tall).each do |aspect|
56
+
57
+ it "should restrict image results to those with #{aspect} aspect ratios" do
58
+ @search.send aspect.downcase.to_sym
59
+ @search.query['Image.Filters'].should include("Aspect:#{aspect}")
60
+ end
61
+
62
+ end
63
+
64
+ end
65
+
66
+ describe "color" do
67
+
68
+ %w(Color Monochrome).each do |color|
69
+
70
+ it "should restrict image results to those which are in #{color}" do
71
+ @search.send color.downcase.to_sym
72
+ @search.query["Image.Filters"].should include("Color:#{color}")
73
+ end
74
+
75
+ end
76
+
77
+ end
78
+
79
+ describe "style" do
80
+
81
+ %w(Photo Graphics).each do |style|
82
+
83
+ it "should restrict image results to those which have a #{style} style" do
84
+ @search.send style.downcase.to_sym
85
+ @search.query["Image.Filters"].should include("Style:#{style}")
86
+ end
87
+
88
+ end
89
+
90
+ end
91
+
92
+ describe "faces" do
93
+
94
+ %w(Face Portrait).each do |face|
95
+
96
+ it "should restrict image results to those which contain a #{face}" do
97
+ @search.send face.downcase.to_sym
98
+ @search.query["Image.Filters"].should include("Face:#{face}")
99
+ end
100
+
101
+ end
102
+
103
+ end
104
+
105
+ end
106
+
107
+ context "fetching" do
108
+
109
+ before(:each) do
110
+ stub_get("http://api.bing.net/json.aspx?AppId=binged&JsonType=raw&Image.Offset=0&Image.Count=20&Sources=image&Version=2.2&Query=ruby", 'images.json')
111
+ @search.containing("ruby")
112
+ @response = @search.fetch
113
+ end
114
+
115
+ it "should cache fetch to eliminate multiple calls to the api" do
116
+ Image.should_not_receive(:perform)
117
+ @search.fetch
118
+ end
119
+
120
+ it "should return the results of the search" do
121
+ @response.results.size.should == 20
122
+ end
123
+
124
+ it "should support dot notation" do
125
+ result = @response.results.first
126
+ result.title.should == "ruby is said to give name ... "
127
+ result.media_url.should == "http://www.shopping.astrolozy.com/images/gems/ruby.jpg"
128
+ result.url.should == 'http://www.shopping.astrolozy.com/gems.asp'
129
+ result.width.should == 506
130
+ result.height.should == 500
131
+ result.file_size.should == 23354
132
+ result.content_type.should == 'image/jpeg'
133
+ end
134
+
135
+ end
136
+
137
+ context "iterating over results" do
138
+
139
+ before(:each) do
140
+ stub_get("http://api.bing.net/json.aspx?AppId=binged&JsonType=raw&Image.Offset=0&Image.Count=20&Sources=image&Version=2.2&Query=ruby", 'images.json')
141
+ @search.containing("ruby")
142
+ end
143
+
144
+ it "should be able to iterate over results" do
145
+ @search.respond_to?(:each).should be_true
146
+ end
147
+
148
+ it "should have items" do
149
+ @search.each {|item| item.should_not be_nil }
150
+ end
151
+
152
+ end
153
+
154
+ end
155
+
156
+ end
157
+ end
@@ -4,6 +4,8 @@ module Binged
4
4
  module Search
5
5
 
6
6
  describe "Web" do
7
+ include AnyFilter
8
+ include AnyPageable
7
9
 
8
10
  before(:each) do
9
11
  @client = Binged::Client.new(:api_key => 'binged')
@@ -13,26 +15,11 @@ module Binged
13
15
  it "should initialize with a search term" do
14
16
  Web.new(@client, 'binged').query[:Query].should include('binged')
15
17
  end
16
-
17
- it "should be able to specify a site to limit searches to" do
18
- @search.from_site('adventuresincoding.com')
19
- @search.query[:Query].should include('site:adventuresincoding.com')
20
- end
21
-
22
- it "should be able to specify the number of results per page" do
23
- @search.per_page(10)
24
- @search.query['Web.Count'].should == 10
25
- end
26
-
27
- it "should be able to specify the page number" do
28
- @search.page(3)
29
- @search.query['Web.Offset'].should == 20 * 2
30
- end
31
18
 
32
19
  it "should be able to set a file type" do
33
20
  @search.file_type(:pdf)
34
21
  @search.query['Web.FileType'].should == :pdf
35
- end
22
+ end
36
23
 
37
24
  context "fetching" do
38
25
 
@@ -50,28 +37,13 @@ module Binged
50
37
  it "should return the results of the search" do
51
38
  @response.results.size.should == 20
52
39
  end
53
-
40
+
54
41
  it "should support dot notation" do
55
42
  result = @response.results.first
56
43
  result.title.should == "Ruby Programming Language"
57
44
  result.description.should == "Ruby is… A dynamic, open source programming language with a focus on simplicity and productivity. It has an elegant syntax that is ..."
58
45
  result.url.should == "http://www.ruby-lang.org/en/"
59
46
  end
60
-
61
- context "total pages" do
62
-
63
- it "should return of maximum amount of pages that does not exceed the the Bing limit" do
64
- bing_limit = 1000
65
- @response.should_receive(:total).and_return(bing_limit + 1)
66
- @search.total_pages.should == 50
67
- end
68
-
69
- it "should calculate the total amount of pages if the Bing results are less than the maximum limit" do
70
- @response.should_receive(:total).and_return(500)
71
- @search.total_pages.should == 25
72
- end
73
-
74
- end
75
47
 
76
48
  end
77
49
 
@@ -0,0 +1,9 @@
1
+ HTTP/1.1 200 OK
2
+ Cache-Control: private
3
+ Content-Length: 10377
4
+ Content-Type: application/json; charset=utf-8
5
+ P3P: CP="NON UNI COM NAV STA LOC CURa DEVa PSAa PSDa OUR IND", policyref="http://privacy.msn.com/w3c/p3p.xml"
6
+ Date: Fri, 12 Mar 2010 19:07:51 GMT
7
+ Connection: keep-alive
8
+
9
+ {"SearchResponse":{"Version":"2.2","Query":{"SearchTerms":"ruby"},"Image":{"Total":9480000,"Offset":0,"Results":[{"Title":"ruby is said to give name ... ","MediaUrl":"http:\/\/www.shopping.astrolozy.com\/images\/gems\/ruby.jpg","Url":"http:\/\/www.shopping.astrolozy.com\/gems.asp","DisplayUrl":"http:\/\/www.shopping.astrolozy.com\/gems.asp","Width":506,"Height":500,"FileSize":23354,"ContentType":"image\/jpeg","Thumbnail":{"Url":"http:\/\/ts2.mm.bing.net\/images\/thumbnail.aspx?q=1382518625955&id=1a3a6af9c5c3f8d8e963c444c3005c8e","ContentType":"image\/jpeg","Width":160,"Height":158,"FileSize":1960}},{"Title":"Ruby is Cool","MediaUrl":"http:\/\/shakti.trincoll.edu\/~dmerrick\/images\/ruby.png","Url":"http:\/\/shakti.trincoll.edu\/~dmerrick\/dominos.html","DisplayUrl":"http:\/\/shakti.trincoll.edu\/~dmerrick\/dominos.html","Width":995,"Height":996,"FileSize":196597,"ContentType":"image\/png","Thumbnail":{"Url":"http:\/\/ts2.mm.bing.net\/images\/thumbnail.aspx?q=1436277871037&id=8ed5fbafc93ee35072ce6b879c342923","ContentType":"image\/jpeg","Width":159,"Height":160,"FileSize":3765}},{"Title":" ... Magazine :: Ruby Programming","MediaUrl":"http:\/\/www.bitwisemag.com\/images\/illustrations\/cover\/11\/ruby_landscape.jpg","Url":"http:\/\/www.bitwisemag.com\/copy\/features\/opinion\/ruby\/ruby_debate.html","DisplayUrl":"http:\/\/www.bitwisemag.com\/copy\/features\/opinion\/ruby\/ruby_debate.html","Width":500,"Height":300,"FileSize":41283,"ContentType":"image\/jpeg","Thumbnail":{"Url":"http:\/\/ts1.mm.bing.net\/images\/thumbnail.aspx?q=1650430382906&id=c31d1fab3de1207c93380d08fd486553","ContentType":"image\/jpeg","Width":160,"Height":96,"FileSize":4182}},{"Title":" ... | Ruby - July Birthstone","MediaUrl":"http:\/\/www.kingsjewelry.com\/images\/content\/gemstones\/jul_ruby.jpg","Url":"http:\/\/www.kingsjewelry.com\/learning_gemstones_jul.shtml","DisplayUrl":"http:\/\/www.kingsjewelry.com\/learning_gemstones_jul.shtml","Width":200,"Height":217,"FileSize":12503,"ContentType":"image\/jpeg","Thumbnail":{"Url":"http:\/\/ts2.mm.bing.net\/images\/thumbnail.aspx?q=1637993415897&id=9fdd97f930f99384bf7a22c00b13dd5e","ContentType":"image\/jpeg","Width":147,"Height":160,"FileSize":3760}},{"Title":" ... Ruby y Java, bastante ameno","MediaUrl":"http:\/\/img.genbeta.com\/ruby.jpg","Url":"http:\/\/www.genbeta.com\/2005\/11\/29-prueba-ruby","DisplayUrl":"http:\/\/www.genbeta.com\/2005\/11\/29-prueba-ruby","Width":220,"Height":212,"FileSize":9967,"ContentType":"image\/jpeg","Thumbnail":{"Url":"http:\/\/ts1.mm.bing.net\/images\/thumbnail.aspx?q=1483533585596&id=72256534559fa421c55c98945442224d","ContentType":"image\/jpeg","Width":160,"Height":154,"FileSize":4040}},{"Title":"Ruby for Perl programmers ... ","MediaUrl":"http:\/\/migo.sixbit.org\/papers\/Introduction_to_Ruby\/ruby-diamond-ring-8.gif","Url":"http:\/\/migo.sixbit.org\/papers\/Introduction_to_Ruby\/slide-62.html","DisplayUrl":"http:\/\/migo.sixbit.org\/papers\/Introduction_to_Ruby\/slide-62.html","Width":428,"Height":375,"FileSize":76565,"ContentType":"image\/gif","Thumbnail":{"Url":"http:\/\/ts2.mm.bing.net\/images\/thumbnail.aspx?q=1637935745043&id=5d4c94a836c9b67c883e9fb5a7d62b29","ContentType":"image\/jpeg","Width":160,"Height":140,"FileSize":4244}},{"Title":"RUBY - THE BIRTH STONE FOR ... ","MediaUrl":"http:\/\/www.jewelinfo4u.com\/images\/Gallery\/ruby.jpg","Url":"http:\/\/www.jewelinfo4u.com\/ruby_buying_guide.aspx","DisplayUrl":"http:\/\/www.jewelinfo4u.com\/ruby_buying_guide.aspx","Width":392,"Height":306,"FileSize":105140,"ContentType":"image\/jpeg","Thumbnail":{"Url":"http:\/\/ts1.mm.bing.net\/images\/thumbnail.aspx?q=1515275224324&id=f1362f29e41233bff0b243c5bc9d7f46","ContentType":"image\/jpeg","Width":160,"Height":124,"FileSize":2588}},{"Title":"Rubies | Ruby Jewelry ... ","MediaUrl":"http:\/\/www.khulsey.com\/jewelry\/7ruby.jpeg","Url":"http:\/\/www.khulsey.com\/jewelry\/gemstones_ruby.html","DisplayUrl":"http:\/\/www.khulsey.com\/jewelry\/gemstones_ruby.html","Width":300,"Height":131,"FileSize":40248,"ContentType":"image\/jpeg","Thumbnail":{"Url":"http:\/\/ts1.mm.bing.net\/images\/thumbnail.aspx?q=1524785550028&id=69fd0a143053517033e2401530890e7f","ContentType":"image\/jpeg","Width":160,"Height":69,"FileSize":2991}},{"Title":" ... : The Carmen Lúcia Ruby","MediaUrl":"http:\/\/www.mnh.si.edu\/exhibits\/images\/ruby\/carmen_lucia_ruby_front.jpg","Url":"http:\/\/www.mnh.si.edu\/exhibits\/ruby\/index.htm","DisplayUrl":"http:\/\/www.mnh.si.edu\/exhibits\/ruby\/index.htm","Width":1782,"Height":2500,"FileSize":206422,"ContentType":"image\/jpeg","Thumbnail":{"Url":"http:\/\/ts2.mm.bing.net\/images\/thumbnail.aspx?q=1419056847657&id=55a276ec38f10250d9b6c17a9f128f60","ContentType":"image\/jpeg","Width":114,"Height":160,"FileSize":3590}},{"Title":" Ruby Beads ] - [Buy Ruby ... ","MediaUrl":"http:\/\/www.gemsbiz.com\/docs\/Images\/Ruby_hs.jpg","Url":"http:\/\/www.gemsbiz.com\/docs\/ruby.asp","DisplayUrl":"http:\/\/www.gemsbiz.com\/docs\/ruby.asp","Width":200,"Height":200,"FileSize":10162,"ContentType":"image\/jpeg","Thumbnail":{"Url":"http:\/\/ts2.mm.bing.net\/images\/thumbnail.aspx?q=1420070030955&id=3339fb85e638cd4ff6c72829497bf467","ContentType":"image\/jpeg","Width":160,"Height":160,"FileSize":4143}},{"Title":"Al Jabali exige que Ruby ... ","MediaUrl":"http:\/\/www.babnet.net\/images\/ruby.jpg","Url":"http:\/\/www.babnet.net\/cadredetail-1124.asp","DisplayUrl":"http:\/\/www.babnet.net\/cadredetail-1124.asp","Width":225,"Height":202,"FileSize":5295,"ContentType":"image\/jpeg","Thumbnail":{"Url":"http:\/\/ts1.mm.bing.net\/images\/thumbnail.aspx?q=1594012730466&id=67c90b560456d0a8300a29565a660348","ContentType":"image\/jpeg","Width":160,"Height":143,"FileSize":3613}},{"Title":"Ruby est en retraite en ... ","MediaUrl":"http:\/\/www.grand-molosse.com\/images\/amstaff\/ruby1.jpg","Url":"http:\/\/www.grand-molosse.com\/new.php?photo=1&id=1&chien=ruby","DisplayUrl":"http:\/\/www.grand-molosse.com\/new.php?photo=1&id=1&chien=ruby","Width":350,"Height":323,"FileSize":42291,"ContentType":"image\/jpeg","Thumbnail":{"Url":"http:\/\/ts1.mm.bing.net\/images\/thumbnail.aspx?q=1461553210312&id=c7c2db42bb8113eb22b81f3210981eec","ContentType":"image\/jpeg","Width":160,"Height":147,"FileSize":5856}},{"Title":"Ruby","MediaUrl":"http:\/\/www.diamondconnectionusa.com\/files\/1028\/Ruby.jpg","Url":"http:\/\/www.diamondconnectionusa.com\/default.asp?page=12444","DisplayUrl":"http:\/\/www.diamondconnectionusa.com\/default.asp?page=12444","Width":449,"Height":300,"FileSize":36460,"ContentType":"image\/jpeg","Thumbnail":{"Url":"http:\/\/ts1.mm.bing.net\/images\/thumbnail.aspx?q=1502017425554&id=b6f02c4f6c14d696810a93f04f926560","ContentType":"image\/jpeg","Width":160,"Height":106,"FileSize":3482}},{"Title":"Ruby Célébrités arabes ... ","MediaUrl":"http:\/\/www.casafree.com\/modules\/xcgal\/albums\/userpics\/21032\/620%5B1%5D.jpg","Url":"http:\/\/www.casafree.com\/modules\/xcgal\/displayimage.php?pid=10754","DisplayUrl":"http:\/\/www.casafree.com\/modules\/xcgal\/displayimage.php?pid=10754","Width":350,"Height":350,"FileSize":19053,"ContentType":"image\/jpeg","Thumbnail":{"Url":"http:\/\/ts1.mm.bing.net\/images\/thumbnail.aspx?q=1604364272148&id=0cb0eb5dab45a3f244daff63be315ca9","ContentType":"image\/jpeg","Width":160,"Height":160,"FileSize":4232}},{"Title":"Italian Ruby book and cool ... ","MediaUrl":"http:\/\/antoniocangiano.com\/files\/libro_ruby.jpg","Url":"http:\/\/antoniocangiano.com\/2006\/09\/08\/italian-ruby-book-and-book-suggestions\/","DisplayUrl":"http:\/\/antoniocangiano.com\/2006\/09\/08\/italian-ruby-book-and-book-suggestions\/","Width":709,"Height":977,"FileSize":130197,"ContentType":"image\/jpeg","Thumbnail":{"Url":"http:\/\/ts2.mm.bing.net\/images\/thumbnail.aspx?q=1436879817675&id=7d3dee2226c8da86fe0881460f7339c2","ContentType":"image\/jpeg","Width":116,"Height":160,"FileSize":3763}},{"Title":"Ruby","MediaUrl":"http:\/\/www.herbal-treatments.com.au\/images\/ruby.jpg","Url":"http:\/\/www.herbal-treatments.com.au\/","DisplayUrl":"http:\/\/www.herbal-treatments.com.au\/","Width":400,"Height":322,"FileSize":25917,"ContentType":"image\/jpeg","Thumbnail":{"Url":"http:\/\/ts1.mm.bing.net\/images\/thumbnail.aspx?q=1425780180958&id=9d9bb861757316c611c4762cc7edc867","ContentType":"image\/jpeg","Width":160,"Height":128,"FileSize":4526}},{"Title":"Ruby (video game thing ... ","MediaUrl":"http:\/\/media.giantbomb.com\/uploads\/1\/17166\/1032329-ruby_large.jpg","Url":"http:\/\/www.giantbomb.com\/ruby\/93-2051\/","DisplayUrl":"http:\/\/www.giantbomb.com\/ruby\/93-2051\/","Width":300,"Height":300,"FileSize":7035,"ContentType":"image\/jpeg","Thumbnail":{"Url":"http:\/\/ts1.mm.bing.net\/images\/thumbnail.aspx?q=1695630885288&id=3992a257a3f22bf4c7fe83faa9c77fd7","ContentType":"image\/jpeg","Width":160,"Height":160,"FileSize":2378}},{"Title":"Natural Ruby Crystal from ... ","MediaUrl":"http:\/\/crystal-cure.com\/pics\/ruby-rough.jpg","Url":"http:\/\/crystal-cure.com\/ruby-gem.html","DisplayUrl":"http:\/\/crystal-cure.com\/ruby-gem.html","Width":300,"Height":300,"FileSize":33571,"ContentType":"image\/jpeg","Thumbnail":{"Url":"http:\/\/ts1.mm.bing.net\/images\/thumbnail.aspx?q=1419383019056&id=f53cf56946aeee00da72d2c5879fb80f","ContentType":"image\/jpeg","Width":160,"Height":160,"FileSize":4215}},{"Title":"RUBY , the red variety of ... ","MediaUrl":"http:\/\/www.galleries.com\/minerals\/gemstone\/ruby\/ruby.jpg","Url":"http:\/\/www.galleries.com\/minerals\/gemstone\/ruby\/ruby.htm","DisplayUrl":"http:\/\/www.galleries.com\/minerals\/gemstone\/ruby\/ruby.htm","Width":320,"Height":240,"FileSize":11726,"ContentType":"image\/jpeg","Thumbnail":{"Url":"http:\/\/ts2.mm.bing.net\/images\/thumbnail.aspx?q=1431786629297&id=16036666f3eac28fc047fc5ce5a2c91a","ContentType":"image\/jpeg","Width":160,"Height":120,"FileSize":3581}},{"Title":" affriolante, le jolie Ruby ... ","MediaUrl":"http:\/\/catherineweibel.blog.lemonde.fr\/files\/2007\/03\/ruby.1173363147.jpg","Url":"http:\/\/catherineweibel.blog.lemonde.fr\/2006\/11\/22\/pharaonne\/","DisplayUrl":"http:\/\/catherineweibel.blog.lemonde.fr\/2006\/11\/22\/pharaonne\/","Width":275,"Height":404,"FileSize":24855,"ContentType":"image\/jpeg","Thumbnail":{"Url":"http:\/\/ts2.mm.bing.net\/images\/thumbnail.aspx?q=1389335544805&id=4ebd50849989e828d690d6f84f17bcc9","ContentType":"image\/jpeg","Width":108,"Height":160,"FileSize":3371}}]}}}
@@ -1 +1,9 @@
1
- {"SearchResponse":{"Version":"2.2","Query":{"SearchTerms":"ruby"},"Web":{"Total":29600000,"Offset":0,"Results":[{"Title":"Ruby Programming Language","Description":"Ruby is… A dynamic, open source programming language with a focus on simplicity and productivity. It has an elegant syntax that is ...","Url":"http:\/\/www.ruby-lang.org\/en\/","CacheUrl":"http:\/\/cc.bingj.com\/cache.aspx?q=ruby&d=4627410722949096&w=54f314e7,2e58cc30","DisplayUrl":"www.ruby-lang.org\/en","DateTime":"2010-03-03T17:14:36Z","DeepLinks":[{"Title":"Downloads","Url":"http:\/\/www.ruby-lang.org\/en\/downloads\/"},{"Title":"Documentation","Url":"http:\/\/www.ruby-lang.org\/en\/documentation\/"},{"Title":"About Ruby","Url":"http:\/\/www.ruby-lang.org\/en\/about\/"},{"Title":"Ruby in Twenty Minutes","Url":"http:\/\/www.ruby-lang.org\/en\/documentation\/quickstart\/"},{"Title":"Libraries","Url":"http:\/\/www.ruby-lang.org\/en\/libraries\/"},{"Title":"Ruby from Other Languages","Url":"http:\/\/www.ruby-lang.org\/en\/documentation\/ruby-from-other-languages\/"},{"Title":"Community","Url":"http:\/\/www.ruby-lang.org\/en\/community\/"},{"Title":"Ruby Core","Url":"http:\/\/www.ruby-lang.org\/en\/community\/ruby-core\/"},{"Title":"News","Url":"http:\/\/www.ruby-lang.org\/en\/news\/"},{"Title":"Issue Tracking","Url":"http:\/\/redmine.ruby-lang.org\/"},{"Title":"Weblogs","Url":"http:\/\/www.ruby-lang.org\/en\/community\/weblogs\/"},{"Title":"Mailing Lists","Url":"http:\/\/www.ruby-lang.org\/en\/community\/mailing-lists"},{"Title":"Security","Url":"http:\/\/www.ruby-lang.org\/en\/security\/"}]},{"Title":"Ruby - Wikipedia, the free encyclopedia","Description":"A ruby is a pink to blood-red gemstone, a variety of the mineral corundum (aluminium oxide). The red color is caused mainly by the presence of the element chromium.","Url":"http:\/\/en.wikipedia.org\/wiki\/Ruby","CacheUrl":"http:\/\/cc.bingj.com\/cache.aspx?q=ruby&d=661775063422&w=78e1f24a,3a2d897e","DisplayUrl":"en.wikipedia.org\/wiki\/Ruby","DateTime":"2010-02-27T07:18:03Z","DeepLinks":[{"Title":"Main page","Url":"http:\/\/en.wikipedia.org\/wiki\/Main_Page"},{"Title":"Random article","Url":"http:\/\/en.wikipedia.org\/wiki\/Special:Random"},{"Title":"Contents","Url":"http:\/\/en.wikipedia.org\/wiki\/Portal:Contents"},{"Title":"Current events","Url":"http:\/\/en.wikipedia.org\/wiki\/Portal:Current_events"},{"Title":"Featured content","Url":"http:\/\/en.wikipedia.org\/wiki\/Portal:Featured_content"},{"Title":"Wikipedia:About","Url":"http:\/\/en.wikipedia.org\/wiki\/Wikipedia:About"},{"Title":"Citation Needed","Url":"http:\/\/en.wikipedia.org\/wiki\/Wikipedia:Citation_needed"},{"Title":"Sapphire","Url":"http:\/\/en.wikipedia.org\/wiki\/Sapphire"},{"Title":"Diamond","Url":"http:\/\/en.wikipedia.org\/wiki\/Diamond"},{"Title":"Ruby disambiguation","Url":"http:\/\/en.wikipedia.org\/wiki\/ruby_(disambiguation)"},{"Title":"Pakistan","Url":"http:\/\/en.wikipedia.org\/wiki\/Pakistan"},{"Title":"Birthstone","Url":"http:\/\/en.wikipedia.org\/wiki\/Birthstone"},{"Title":"Community portal","Url":"http:\/\/en.wikipedia.org\/wiki\/Wikipedia:Community_portal"}]},{"Title":"Ruby - The Inspirational Weight Loss Journey on the Style Network ...","Description":"Inspirational weight loss and weight loss exercises from the show Ruby on the Style Network","Url":"http:\/\/www.mystyle.com\/mystyle\/shows\/ruby\/index.jsp","CacheUrl":"http:\/\/cc.bingj.com\/cache.aspx?q=ruby&d=5041767689816463&w=bbeb6738,92443868","DisplayUrl":"www.mystyle.com\/mystyle\/shows\/ruby\/index.jsp","DateTime":"2010-03-03T17:50:23Z","DeepLinks":[{"Title":"Fashion DUI","Url":"http:\/\/www.mystyle.com\/mystyle\/photos\/gallery.jsp?galleryUUID=bae9c59a-3236-426d-8eb6-33db1a459c31"},{"Title":"Top Steals of the Week","Url":"http:\/\/www.mystyle.com\/mystyle\/photos\/gallery.jsp?galleryUUID=a02cc651-c811-4148-900a-fff42c858eb5"},{"Title":"Weight Loss Message Boards","Url":"http:\/\/www.mystyle.com\/mystyle\/community\/forums\/index.jsp"},{"Title":"Clean House Before & After","Url":"http:\/\/www.mystyle.com\/mystyle\/photos\/gallery.jsp?galleryUUID=49b46faf-a336-4645-8d2b-e325a6d5e3a2"},{"Title":"Clean House","Url":"http:\/\/www.mystyle.com\/mystyle\/shows\/cleanhouse\/index.jsp"},{"Title":"Dress My Nest Before & After","Url":"http:\/\/www.mystyle.com\/mystyle\/photos\/gallery.jsp?galleryUUID=9a4f89fc-e947-401b-ab9f-62f918b341a3"},{"Title":"Style Shout-Out","Url":"http:\/\/www.mystyle.com\/mystyle\/photos\/gallery.jsp?galleryUUID=cee27be1-f8f4-44e8-a3b5-87da66c1412d"},{"Title":"Healthy Weight Loss","Url":"http:\/\/www.mystyle.com\/mystyle\/shows\/ruby\/gettinghealthy\/index.jsp"},{"Title":"Giuliana & Bill","Url":"http:\/\/www.mystyle.com\/mystyle\/shows\/giulianaandbill\/index.jsp"},{"Title":"Whose Wedding Is It Anyway?","Url":"http:\/\/www.mystyle.com\/mystyle\/shows\/whosewedding\/index.jsp"},{"Title":"How Do I Look?","Url":"http:\/\/www.mystyle.com\/mystyle\/shows\/howdoilook\/index.jsp"},{"Title":"Photo Galleries","Url":"http:\/\/www.mystyle.com\/mystyle\/photos\/index.jsp"},{"Title":"mystyle Quiz","Url":"http:\/\/www.mystyle.com\/mystyle\/games\/index.jsp?game=mystylequiz&navSection=fashion,beauty"}]},{"Title":"Ruby (programming language) - Wikipedia, the free encyclopedia","Description":"Ruby is a dynamic, reflective, general purpose object-oriented programming language that combines syntax inspired by Perl with Smalltalk-like features.","Url":"http:\/\/en.wikipedia.org\/wiki\/Ruby_(programming_language)","CacheUrl":"http:\/\/cc.bingj.com\/cache.aspx?q=ruby&d=5003684216244711&w=b7f38fb8,ccc1c0aa","DisplayUrl":"en.wikipedia.org\/wiki\/Ruby_(programming_language)","DateTime":"2010-03-04T11:36:58Z","DeepLinks":[{"Title":"Main page","Url":"http:\/\/en.wikipedia.org\/wiki\/Main_Page"},{"Title":"Random article","Url":"http:\/\/en.wikipedia.org\/wiki\/Special:Random"},{"Title":"Current events","Url":"http:\/\/en.wikipedia.org\/wiki\/Portal:Current_events"},{"Title":"Contents","Url":"http:\/\/en.wikipedia.org\/wiki\/Portal:Contents"},{"Title":"Featured content","Url":"http:\/\/en.wikipedia.org\/wiki\/Portal:Featured_content"},{"Title":"About Wikipedia","Url":"http:\/\/en.wikipedia.org\/wiki\/Wikipedia:About"},{"Title":"Japan","Url":"http:\/\/en.wikipedia.org\/wiki\/Japan"},{"Title":"Recent changes","Url":"http:\/\/en.wikipedia.org\/wiki\/Special:RecentChanges"},{"Title":"Community portal","Url":"http:\/\/en.wikipedia.org\/wiki\/Wikipedia:Community_portal"},{"Title":"Contact Wikipedia","Url":"http:\/\/en.wikipedia.org\/wiki\/Wikipedia:Contact_us"},{"Title":"Upload file","Url":"http:\/\/en.wikipedia.org\/wiki\/Wikipedia:Upload"},{"Title":"Special pages","Url":"http:\/\/en.wikipedia.org\/wiki\/Special:SpecialPages"},{"Title":"Microsoft Windows","Url":"http:\/\/en.wikipedia.org\/wiki\/Microsoft_Windows"}]},{"Title":"Ruby - english","Description":"Ruby Which colour would you spontaneously associate with love and vivacity, passion and power? It's obvious, isn't it? Red. Red is the colour of love.","Url":"http:\/\/www.gemstone.org\/gem-by-gem\/english\/ruby.html","CacheUrl":"http:\/\/cc.bingj.com\/cache.aspx?q=ruby&d=4700979218418228&w=71813540,94f5edb5","DisplayUrl":"www.gemstone.org\/gem-by-gem\/english\/ruby.html","DateTime":"2010-03-03T16:31:39Z"},{"Title":"Ruby Meetup Groups - Ruby Meetups","Description":"Helps groups of people with shared interests plan meetings and form offline clubs in local communities around the world about Ruby","Url":"http:\/\/ruby.meetup.com\/","CacheUrl":"http:\/\/cc.bingj.com\/cache.aspx?q=ruby&d=695343056075&w=73bd8912,24d17d8f","DisplayUrl":"ruby.meetup.com","DateTime":"2010-03-03T21:25:08Z"},{"Title":"Ruby (1992)","Description":"Directed by John Mackenzie. With Danny Aiello, Sherilyn Fenn, Arliss Howard. Visit IMDb for Photos, Showtimes, Cast, Crew, Reviews, Plot Summary, Comments, Discussions, Taglines ...","Url":"http:\/\/www.imdb.com\/title\/tt0105291\/","CacheUrl":"http:\/\/cc.bingj.com\/cache.aspx?q=ruby&d=4821474522039504&w=5143f877,76ab7637","DisplayUrl":"www.imdb.com\/title\/tt0105291","DateTime":"2010-02-04T07:59:38Z"},{"Title":"[Ruby-Doc.org: Documenting the Ruby Language]","Description":"Ruby documentation project: links and downloads of programming information, on many aspects of Ruby.","Url":"http:\/\/www.ruby-doc.org\/","CacheUrl":"http:\/\/cc.bingj.com\/cache.aspx?q=ruby&d=4998165183923249&w=ea8f6d25,95b1875e","DisplayUrl":"www.ruby-doc.org","DateTime":"2010-03-04T16:59:06Z","DeepLinks":[{"Title":"Standard API","Url":"http:\/\/www.ruby-doc.org\/stdlib\/"},{"Title":"Programming Ruby","Url":"http:\/\/www.ruby-doc.org\/docs\/ProgrammingRuby\/"},{"Title":"Files","Url":"http:\/\/www.ruby-doc.org\/core"},{"Title":"Getting Started","Url":"http:\/\/www.ruby-doc.org\/gettingstarted\/index.html"},{"Title":"Additional Documents","Url":"http:\/\/www.ruby-doc.org\/docs"},{"Title":"This","Url":"http:\/\/www.ruby-doc.org\/documentation-guidelines.html"},{"Title":"Standard Library","Url":"http:\/\/spec.ruby-doc.org\/wiki\/Ruby_Standard_Library"},{"Title":"Methods","Url":"http:\/\/www.ruby-doc.org\/core-1.8.7\/index.html"},{"Title":"Downloads","Url":"http:\/\/www.ruby-doc.org\/downloads\/"},{"Title":"Why Ruby","Url":"http:\/\/www.ruby-doc.org\/whyruby"},{"Title":"Ruby Spec: Core","Url":"http:\/\/spec.ruby-doc.org\/wiki\/Ruby_Core"},{"Title":"Ruby-Doc Docbar","Url":"http:\/\/www.ruby-doc.org\/docbar\/"},{"Title":"Status Report","Url":"http:\/\/www.ruby-doc.org\/stdlib\/status.html"}]},{"Title":"Ruby: Ruby mineral information and data.","Description":"A red, gem variety of Corundum. The red colour is caused by minor amounts of trivalent Cr replacing Al in the crystal structure. Pure Cr2O3 occurs in nature as the mineral <M ...","Url":"http:\/\/www.mindat.org\/min-3473.html","CacheUrl":"http:\/\/cc.bingj.com\/cache.aspx?q=ruby&d=4952668595489458&w=b55008d0,e8c4ddb4","DisplayUrl":"www.mindat.org\/min-3473.html","DateTime":"2010-02-28T21:43:01Z"},{"Title":"Ruby\/Ruby on Rails programming tutorials2 - Meshplex","Description":"Ruby for complete beginners: Ruby Introduction: What can I use RoR for? Reasons for choosing RoR over other popular programming languages such as php or asp.net .What makes Ruby so ...","Url":"http:\/\/www.meshplex.org\/wiki\/Ruby\/Ruby_on_Rails_programming_tutorials","CacheUrl":"http:\/\/cc.bingj.com\/cache.aspx?q=ruby&d=4741832947336861&w=2d9d5b96,9eaf0e4c","DisplayUrl":"www.meshplex.org\/wiki\/Ruby\/Ruby_on_Rails_programming_tutorials","DateTime":"2010-03-04T05:10:25Z"},{"Title":"Jack Ruby","Description":"Was Jack Ruby a mobster, a spook, or merely an emotional wannabe who expected public acclaim for killing Oswald?","Url":"http:\/\/mcadams.posc.mu.edu\/ruby.htm","CacheUrl":"http:\/\/cc.bingj.com\/cache.aspx?q=ruby&d=4935828028785085&w=a5cf0783,391d1a03","DisplayUrl":"mcadams.posc.mu.edu\/ruby.htm","DateTime":"2010-03-04T14:50:15Z"},{"Title":"Ruby-On-Rails","Description":"Ruby-On-Rails Developer's Journal ... Maximizing the Business Value of Virtualization in Enterprise and Cloud Computing Environments","Url":"http:\/\/ruby.sys-con.com\/","CacheUrl":"http:\/\/cc.bingj.com\/cache.aspx?q=ruby&d=4881479511180793&w=f0c3ddf5,73535976","DisplayUrl":"ruby.sys-con.com","DateTime":"2010-03-05T02:38:55Z"},{"Title":"The gemstone ruby","Description":"Ruby is distinguished and known by all for its fiery red color. Beside for its color, it is a most desirable gem due to its hardness, durability, luster, and rarity.","Url":"http:\/\/www.minerals.net\/gemstone\/gemstone\/ruby\/ruby.htm","CacheUrl":"http:\/\/cc.bingj.com\/cache.aspx?q=ruby&d=4621165840434460&w=ae21eda2,87c0c587","DisplayUrl":"www.minerals.net\/gemstone\/gemstone\/ruby\/ruby.htm","DateTime":"2010-03-05T02:53:14Z"},{"Title":"NetBeans IDE - Ruby and Ruby on Rails Development","Description":"NetBeans IDE - Integrated tools for Ruby and Ruby on Rails developers","Url":"http:\/\/netbeans.org\/features\/ruby\/index.html","CacheUrl":"http:\/\/cc.bingj.com\/cache.aspx?q=ruby&d=5027053135464027&w=d7848996,8be8650","DisplayUrl":"netbeans.org\/features\/ruby\/index.html","DateTime":"2010-03-04T03:37:22Z"},{"Title":"RubyForge: Ruby: Project Info","Description":"Tracker - Bugs ( 338 open \/ 809 total ) Bug Tracking System - Patches ( 69 open \/ 116 total ) Patch Tracking System - 1.9.1 showstoppers ( 0 open \/ 12 total )","Url":"http:\/\/rubyforge.org\/projects\/ruby\/","CacheUrl":"http:\/\/cc.bingj.com\/cache.aspx?q=ruby&d=4713537701086745&w=53c417ed,1ba0970c","DisplayUrl":"rubyforge.org\/projects\/ruby","DateTime":"2010-03-04T04:13:10Z"},{"Title":"Ruby - The Official Website | Coming Soon!","Description":"Ruby's Official Website ... Hey all, welcome to my official website. Here you find all my news, images, video clips & up-to-date information, the website is under construction so ...","Url":"http:\/\/rubymania.com\/","CacheUrl":"http:\/\/cc.bingj.com\/cache.aspx?q=ruby&d=5043382597191621&w=72b61cb5,7046900c","DisplayUrl":"rubymania.com","DateTime":"2010-03-04T17:42:03Z"},{"Title":"CSS3 Ruby Module","Description":"Abstract \"Ruby\" are short runs of text alongside the base text, typically used in East Asian documents to indicate pronunciation or to provide a short annotation.","Url":"http:\/\/www.w3.org\/TR\/css3-ruby\/","CacheUrl":"http:\/\/cc.bingj.com\/cache.aspx?q=ruby&d=4740681895184188&w=de16472f,c7ece477","DisplayUrl":"www.w3.org\/TR\/css3-ruby","DateTime":"2010-03-04T03:08:44Z"},{"Title":"Ruby Andrascik's Manotick Lifestyles","Description":"Sales representative in Manotick area. Recent sales, current listings, area information.","Url":"http:\/\/manoticklifestyles.com\/","CacheUrl":"http:\/\/cc.bingj.com\/cache.aspx?q=ruby&d=4985666828699639&w=6efb6d3f,50da2b69","DisplayUrl":"manoticklifestyles.com","DateTime":"2010-03-03T20:35:02Z"},{"Title":"Ruby","Description":"Abstract. The HyperText Markup Language (HTML) is a simple markup language used to create hypertext documents that are portable from one platform to another.","Url":"http:\/\/www.w3.org\/TR\/1999\/WD-ruby-19990924\/","CacheUrl":"http:\/\/cc.bingj.com\/cache.aspx?q=ruby&d=4820207509702663&w=8102eac9,23f9553","DisplayUrl":"www.w3.org\/TR\/1999\/WD-ruby-19990924","DateTime":"2010-03-05T07:32:24Z"},{"Title":"ruby - Wiktionary","Description":"This page was last modified on 10 February 2010, at 16:50. Text is available under the Creative Commons Attribution\/Share-Alike License; additional terms may apply.","Url":"http:\/\/en.wiktionary.org\/wiki\/ruby","CacheUrl":"http:\/\/cc.bingj.com\/cache.aspx?q=ruby&d=4826869002143668&w=81c2b50f,9ecab98e","DisplayUrl":"en.wiktionary.org\/wiki\/ruby","DateTime":"2010-03-04T22:57:01Z"}]}}}
1
+ HTTP/1.1 200 OK
2
+ Cache-Control: private
3
+ Content-Length: 14611
4
+ Content-Type: application/json; charset=utf-8
5
+ P3P: CP="NON UNI COM NAV STA LOC CURa DEVa PSAa PSDa OUR IND", policyref="http://privacy.msn.com/w3c/p3p.xml"
6
+ Date: Fri, 12 Mar 2010 19:09:43 GMT
7
+ Connection: keep-alive
8
+
9
+ {"SearchResponse":{"Version":"2.2","Query":{"SearchTerms":"ruby"},"Web":{"Total":30100000,"Offset":0,"Results":[{"Title":"Ruby Programming Language","Description":"Ruby is… A dynamic, open source programming language with a focus on simplicity and productivity. It has an elegant syntax that is ...","Url":"http:\/\/www.ruby-lang.org\/en\/","CacheUrl":"http:\/\/cc.bingj.com\/cache.aspx?q=ruby&d=4627410724784104&w=22e021a8,16ea274d","DisplayUrl":"www.ruby-lang.org\/en","DateTime":"2010-03-09T19:16:20Z","DeepLinks":[{"Title":"Downloads","Url":"http:\/\/www.ruby-lang.org\/en\/downloads\/"},{"Title":"Documentation","Url":"http:\/\/www.ruby-lang.org\/en\/documentation\/"},{"Title":"About Ruby","Url":"http:\/\/www.ruby-lang.org\/en\/about\/"},{"Title":"Ruby in Twenty Minutes","Url":"http:\/\/www.ruby-lang.org\/en\/documentation\/quickstart\/"},{"Title":"Libraries","Url":"http:\/\/www.ruby-lang.org\/en\/libraries\/"},{"Title":"Ruby from Other Languages","Url":"http:\/\/www.ruby-lang.org\/en\/documentation\/ruby-from-other-languages\/"},{"Title":"Community","Url":"http:\/\/www.ruby-lang.org\/en\/community\/"},{"Title":"Ruby Core","Url":"http:\/\/www.ruby-lang.org\/en\/community\/ruby-core\/"},{"Title":"News","Url":"http:\/\/www.ruby-lang.org\/en\/news\/"},{"Title":"Issue Tracking","Url":"http:\/\/redmine.ruby-lang.org\/"},{"Title":"Weblogs","Url":"http:\/\/www.ruby-lang.org\/en\/community\/weblogs\/"},{"Title":"Mailing Lists","Url":"http:\/\/www.ruby-lang.org\/en\/community\/mailing-lists"},{"Title":"Security","Url":"http:\/\/www.ruby-lang.org\/en\/security\/"}]},{"Title":"Ruby - Wikipedia, the free encyclopedia","Description":"A ruby is a pink to blood-red gemstone, a variety of the mineral corundum (aluminium oxide). The red color is caused mainly by the presence of the element chromium.","Url":"http:\/\/en.wikipedia.org\/wiki\/Ruby","CacheUrl":"http:\/\/cc.bingj.com\/cache.aspx?q=ruby&d=5011840361236004&w=d83e0d4d,525d4fc8","DisplayUrl":"en.wikipedia.org\/wiki\/Ruby","DateTime":"2010-03-10T22:06:57Z","DeepLinks":[{"Title":"Main page","Url":"http:\/\/en.wikipedia.org\/wiki\/Main_Page"},{"Title":"Random article","Url":"http:\/\/en.wikipedia.org\/wiki\/Special:Random"},{"Title":"Contents","Url":"http:\/\/en.wikipedia.org\/wiki\/Portal:Contents"},{"Title":"Current events","Url":"http:\/\/en.wikipedia.org\/wiki\/Portal:Current_events"},{"Title":"Featured content","Url":"http:\/\/en.wikipedia.org\/wiki\/Portal:Featured_content"},{"Title":"Wikipedia:About","Url":"http:\/\/en.wikipedia.org\/wiki\/Wikipedia:About"},{"Title":"Citation Needed","Url":"http:\/\/en.wikipedia.org\/wiki\/Wikipedia:Citation_needed"},{"Title":"Sapphire","Url":"http:\/\/en.wikipedia.org\/wiki\/Sapphire"},{"Title":"Diamond","Url":"http:\/\/en.wikipedia.org\/wiki\/Diamond"},{"Title":"Ruby disambiguation","Url":"http:\/\/en.wikipedia.org\/wiki\/ruby_(disambiguation)"},{"Title":"Pakistan","Url":"http:\/\/en.wikipedia.org\/wiki\/Pakistan"},{"Title":"Birthstone","Url":"http:\/\/en.wikipedia.org\/wiki\/Birthstone"},{"Title":"Community portal","Url":"http:\/\/en.wikipedia.org\/wiki\/Wikipedia:Community_portal"}]},{"Title":"Ruby - The Inspirational Weight Loss Journey on the Style Network ...","Description":"Inspirational weight loss and weight loss exercises from the show Ruby on the Style Network","Url":"http:\/\/www.mystyle.com\/mystyle\/shows\/ruby\/index.jsp","CacheUrl":"http:\/\/cc.bingj.com\/cache.aspx?q=ruby&d=5041767691585919&w=b4c43136,a50b93df","DisplayUrl":"www.mystyle.com\/mystyle\/shows\/ruby\/index.jsp","DateTime":"2010-03-09T20:20:45Z","DeepLinks":[{"Title":"Fashion DUI","Url":"http:\/\/www.mystyle.com\/mystyle\/photos\/gallery.jsp?galleryUUID=bae9c59a-3236-426d-8eb6-33db1a459c31"},{"Title":"Top Steals of the Week","Url":"http:\/\/www.mystyle.com\/mystyle\/photos\/gallery.jsp?galleryUUID=a02cc651-c811-4148-900a-fff42c858eb5"},{"Title":"Weight Loss Message Boards","Url":"http:\/\/www.mystyle.com\/mystyle\/community\/forums\/index.jsp"},{"Title":"Clean House Before & After","Url":"http:\/\/www.mystyle.com\/mystyle\/photos\/gallery.jsp?galleryUUID=49b46faf-a336-4645-8d2b-e325a6d5e3a2"},{"Title":"Clean House","Url":"http:\/\/www.mystyle.com\/mystyle\/shows\/cleanhouse\/index.jsp"},{"Title":"Dress My Nest Before & After","Url":"http:\/\/www.mystyle.com\/mystyle\/photos\/gallery.jsp?galleryUUID=9a4f89fc-e947-401b-ab9f-62f918b341a3"},{"Title":"Style Shout-Out","Url":"http:\/\/www.mystyle.com\/mystyle\/photos\/gallery.jsp?galleryUUID=cee27be1-f8f4-44e8-a3b5-87da66c1412d"},{"Title":"Healthy Weight Loss","Url":"http:\/\/www.mystyle.com\/mystyle\/shows\/ruby\/gettinghealthy\/index.jsp"},{"Title":"Giuliana & Bill","Url":"http:\/\/www.mystyle.com\/mystyle\/shows\/giulianaandbill\/index.jsp"},{"Title":"Whose Wedding Is It Anyway?","Url":"http:\/\/www.mystyle.com\/mystyle\/shows\/whosewedding\/index.jsp"},{"Title":"How Do I Look?","Url":"http:\/\/www.mystyle.com\/mystyle\/shows\/howdoilook\/index.jsp"},{"Title":"Photo Galleries","Url":"http:\/\/www.mystyle.com\/mystyle\/photos\/index.jsp"},{"Title":"mystyle Quiz","Url":"http:\/\/www.mystyle.com\/mystyle\/games\/index.jsp?game=mystylequiz&navSection=fashion,beauty"}]},{"Title":"Ruby (programming language) - Wikipedia, the free encyclopedia","Description":"Ruby is a dynamic, reflective, general purpose object-oriented programming language that combines syntax inspired by Perl with Smalltalk-like features.","Url":"http:\/\/en.wikipedia.org\/wiki\/Ruby_(programming_language)","CacheUrl":"http:\/\/cc.bingj.com\/cache.aspx?q=ruby&d=5003684217948675&w=292b7212,ea3818f","DisplayUrl":"en.wikipedia.org\/wiki\/Ruby_(programming_language)","DateTime":"2010-03-10T13:31:33Z","DeepLinks":[{"Title":"Main page","Url":"http:\/\/en.wikipedia.org\/wiki\/Main_Page"},{"Title":"Random article","Url":"http:\/\/en.wikipedia.org\/wiki\/Special:Random"},{"Title":"Current events","Url":"http:\/\/en.wikipedia.org\/wiki\/Portal:Current_events"},{"Title":"Contents","Url":"http:\/\/en.wikipedia.org\/wiki\/Portal:Contents"},{"Title":"Featured content","Url":"http:\/\/en.wikipedia.org\/wiki\/Portal:Featured_content"},{"Title":"About Wikipedia","Url":"http:\/\/en.wikipedia.org\/wiki\/Wikipedia:About"},{"Title":"Japan","Url":"http:\/\/en.wikipedia.org\/wiki\/Japan"},{"Title":"Recent changes","Url":"http:\/\/en.wikipedia.org\/wiki\/Special:RecentChanges"},{"Title":"Community portal","Url":"http:\/\/en.wikipedia.org\/wiki\/Wikipedia:Community_portal"},{"Title":"Contact Wikipedia","Url":"http:\/\/en.wikipedia.org\/wiki\/Wikipedia:Contact_us"},{"Title":"Upload file","Url":"http:\/\/en.wikipedia.org\/wiki\/Wikipedia:Upload"},{"Title":"Special pages","Url":"http:\/\/en.wikipedia.org\/wiki\/Special:SpecialPages"},{"Title":"Microsoft Windows","Url":"http:\/\/en.wikipedia.org\/wiki\/Microsoft_Windows"}]},{"Title":"Ruby - english","Description":"Ruby Which colour would you spontaneously associate with love and vivacity, passion and power? It's obvious, isn't it? Red. Red is the colour of love.","Url":"http:\/\/www.gemstone.org\/gem-by-gem\/english\/ruby.html","CacheUrl":"http:\/\/cc.bingj.com\/cache.aspx?q=ruby&d=4700979220253208&w=42f4604f,9d2be2bd","DisplayUrl":"www.gemstone.org\/gem-by-gem\/english\/ruby.html","DateTime":"2010-03-09T18:26:13Z"},{"Title":"Ruby Meetup Groups - Ruby Meetups","Description":"Helps groups of people with shared interests plan meetings and form offline clubs in local communities around the world about Ruby","Url":"http:\/\/ruby.meetup.com\/","CacheUrl":"http:\/\/cc.bingj.com\/cache.aspx?q=ruby&d=795317372013&w=be93e7f7,a3625f80","DisplayUrl":"ruby.meetup.com","DateTime":"2010-03-10T22:14:06Z"},{"Title":"Ruby (1992)","Description":"Directed by John Mackenzie. With Danny Aiello, Sherilyn Fenn, Tobin Bell. Visit IMDb for Photos, Showtimes, Cast, Crew, Reviews, Plot Summary, Comments, Discussions, Taglines ...","Url":"http:\/\/www.imdb.com\/title\/tt0105291\/","CacheUrl":"http:\/\/cc.bingj.com\/cache.aspx?q=ruby&d=4821474523415776&w=f5de2d85,acb8c620","DisplayUrl":"www.imdb.com\/title\/tt0105291","DateTime":"2010-03-06T18:22:37Z"},{"Title":"[Ruby-Doc.org: Documenting the Ruby Language]","Description":"Ruby documentation project: links and downloads of programming information, on many aspects of Ruby.","Url":"http:\/\/www.ruby-doc.org\/","CacheUrl":"http:\/\/cc.bingj.com\/cache.aspx?q=ruby&d=4998165185627177&w=ae362e11,4f5709ff","DisplayUrl":"www.ruby-doc.org","DateTime":"2010-03-10T18:53:40Z","DeepLinks":[{"Title":"Standard API","Url":"http:\/\/www.ruby-doc.org\/stdlib\/"},{"Title":"Programming Ruby","Url":"http:\/\/www.ruby-doc.org\/docs\/ProgrammingRuby\/"},{"Title":"Files","Url":"http:\/\/www.ruby-doc.org\/core"},{"Title":"Getting Started","Url":"http:\/\/www.ruby-doc.org\/gettingstarted\/index.html"},{"Title":"Additional Documents","Url":"http:\/\/www.ruby-doc.org\/docs"},{"Title":"This","Url":"http:\/\/www.ruby-doc.org\/documentation-guidelines.html"},{"Title":"Standard Library","Url":"http:\/\/spec.ruby-doc.org\/wiki\/Ruby_Standard_Library"},{"Title":"Methods","Url":"http:\/\/www.ruby-doc.org\/core-1.8.7\/index.html"},{"Title":"Downloads","Url":"http:\/\/www.ruby-doc.org\/downloads\/"},{"Title":"Why Ruby","Url":"http:\/\/www.ruby-doc.org\/whyruby"},{"Title":"Ruby Spec: Core","Url":"http:\/\/spec.ruby-doc.org\/wiki\/Ruby_Core"},{"Title":"Ruby-Doc Docbar","Url":"http:\/\/www.ruby-doc.org\/docbar\/"},{"Title":"Status Report","Url":"http:\/\/www.ruby-doc.org\/stdlib\/status.html"}]},{"Title":"Ruby: Ruby mineral information and data.","Description":"A red, gem variety of corundum. The red colour is caused by minor amounts of trivalent Cr replacing Al in the crystal structure. In traditional gemmological terms, ruby has to ...","Url":"http:\/\/www.mindat.org\/min-3473.html","CacheUrl":"http:\/\/cc.bingj.com\/cache.aspx?q=ruby&d=4952668598504110&w=7eb11392,3bc454a2","DisplayUrl":"www.mindat.org\/min-3473.html","DateTime":"2010-03-11T00:58:45Z"},{"Title":"Ruby\/Ruby on Rails programming tutorials2 - Meshplex","Description":"Ruby for complete beginners: Ruby Introduction: What can I use RoR for? Reasons for choosing RoR over other popular programming languages such as php or asp.net .What makes Ruby so ...","Url":"http:\/\/www.meshplex.org\/wiki\/Ruby\/Ruby_on_Rails_programming_tutorials","CacheUrl":"http:\/\/cc.bingj.com\/cache.aspx?q=ruby&d=4741832949237409&w=a5ed9122,f1e25a41","DisplayUrl":"www.meshplex.org\/wiki\/Ruby\/Ruby_on_Rails_programming_tutorials","DateTime":"2010-03-10T06:57:50Z"},{"Title":"Jack Ruby","Description":"Was Jack Ruby a mobster, a spook, or merely an emotional wannabe who expected public acclaim for killing Oswald?","Url":"http:\/\/mcadams.posc.mu.edu\/ruby.htm","CacheUrl":"http:\/\/cc.bingj.com\/cache.aspx?q=ruby&d=4935828030292414&w=ff2150fb,c0c5d1af","DisplayUrl":"mcadams.posc.mu.edu\/ruby.htm","DateTime":"2010-03-10T16:37:40Z"},{"Title":"The gemstone ruby","Description":"Ruby is distinguished and known by all for its fiery red color. Beside for its color, it is a most desirable gem due to its hardness, durability, luster, and rarity.","Url":"http:\/\/www.minerals.net\/gemstone\/gemstone\/ruby\/ruby.htm","CacheUrl":"http:\/\/cc.bingj.com\/cache.aspx?q=ruby&d=4621165842138411&w=c02d2fc0,aea0c6c4","DisplayUrl":"www.minerals.net\/gemstone\/gemstone\/ruby\/ruby.htm","DateTime":"2010-03-11T04:33:29Z"},{"Title":"Ruby-On-Rails","Description":"Ruby-On-Rails Developer's Journal ... Maximizing the Business Value of Virtualization in Enterprise and Cloud Computing Environments","Url":"http:\/\/ruby.sys-con.com\/","CacheUrl":"http:\/\/cc.bingj.com\/cache.aspx?q=ruby&d=4881479512884746&w=384ff0b1,90c41b9a","DisplayUrl":"ruby.sys-con.com","DateTime":"2010-03-11T04:33:29Z"},{"Title":"NetBeans IDE - Ruby and Ruby on Rails Development","Description":"NetBeans IDE - Integrated tools for Ruby and Ruby on Rails developers","Url":"http:\/\/netbeans.org\/features\/ruby\/index.html","CacheUrl":"http:\/\/cc.bingj.com\/cache.aspx?q=ruby&d=5027053137167976&w=94d0be29,34722a74","DisplayUrl":"netbeans.org\/features\/ruby\/index.html","DateTime":"2010-03-10T05:39:06Z"},{"Title":"RubyForge: Ruby: Project Info","Description":"Tracker - Bugs ( 338 open \/ 809 total ) Bug Tracking System - Patches ( 69 open \/ 116 total ) Patch Tracking System - 1.9.1 showstoppers ( 0 open \/ 12 total )","Url":"http:\/\/rubyforge.org\/projects\/ruby\/","CacheUrl":"http:\/\/cc.bingj.com\/cache.aspx?q=ruby&d=4713537702790687&w=9c421a7a,14609206","DisplayUrl":"rubyforge.org\/projects\/ruby","DateTime":"2010-03-10T06:22:03Z"},{"Title":"Ruby - The Official Website | Coming Soon!","Description":"Ruby's Official Website ... Hey all, welcome to my official website. Here you find all my news, images, video clips & up-to-date information, the website is under construction so ...","Url":"http:\/\/rubymania.com\/","CacheUrl":"http:\/\/cc.bingj.com\/cache.aspx?q=ruby&d=5043382599026615&w=aae98c0d,7b09c193","DisplayUrl":"rubymania.com","DateTime":"2010-03-10T19:50:56Z"},{"Title":"CSS3 Ruby Module","Description":"Abstract \"Ruby\" are short runs of text alongside the base text, typically used in East Asian documents to indicate pronunciation or to provide a short annotation.","Url":"http:\/\/www.w3.org\/TR\/css3-ruby\/","CacheUrl":"http:\/\/cc.bingj.com\/cache.aspx?q=ruby&d=4740681896888148&w=ef0223a0,4db7bc7f","DisplayUrl":"www.w3.org\/TR\/css3-ruby","DateTime":"2010-03-10T05:10:28Z"},{"Title":"Ruby Andrascik's Manotick Lifestyles","Description":"Sales representative in Manotick area. Recent sales, current listings, area information.","Url":"http:\/\/manoticklifestyles.com\/","CacheUrl":"http:\/\/cc.bingj.com\/cache.aspx?q=ruby&d=4985666830403560&w=bcb823d9,31408de6","DisplayUrl":"manoticklifestyles.com","DateTime":"2010-03-09T22:36:46Z"},{"Title":"Ruby","Description":"Abstract. The HyperText Markup Language (HTML) is a simple markup language used to create hypertext documents that are portable from one platform to another.","Url":"http:\/\/www.w3.org\/TR\/1999\/WD-ruby-19990924\/","CacheUrl":"http:\/\/cc.bingj.com\/cache.aspx?q=ruby&d=4820207511406597&w=8ab21896,f1b29660","DisplayUrl":"www.w3.org\/TR\/1999\/WD-ruby-19990924","DateTime":"2010-03-11T09:19:49Z"},{"Title":"ruby - Wiktionary","Description":"This page was last modified on 10 February 2010, at 16:50. Text is available under the Creative Commons Attribution\/Share-Alike License; additional terms may apply.","Url":"http:\/\/en.wiktionary.org\/wiki\/ruby","CacheUrl":"http:\/\/cc.bingj.com\/cache.aspx?q=ruby&d=4826869003847603&w=f59c5f68,3484f0aa","DisplayUrl":"en.wiktionary.org\/wiki\/ruby","DateTime":"2010-03-11T00:44:26Z"}]}}}
data/spec/spec_helper.rb CHANGED
@@ -7,6 +7,7 @@ require 'fakeweb'
7
7
  require 'binged'
8
8
 
9
9
  FakeWeb.allow_net_connect = false
10
+ Dir[File.expand_path(File.join(File.dirname(__FILE__),'support','**','*.rb'))].each {|f| require f}
10
11
 
11
12
  Spec::Runner.configure do |config|
12
13
 
@@ -23,7 +24,7 @@ def fixture_file(filename)
23
24
  end
24
25
 
25
26
  def stub_get(url, filename, options={})
26
- fakeweb_options = {:body => fixture_file(filename)}.merge(options)
27
+ fakeweb_options = {:response => fixture_file(filename)}.merge(options)
27
28
  FakeWeb.register_uri(:get, url, fakeweb_options)
28
29
  end
29
30
 
@@ -0,0 +1,8 @@
1
+ share_as :AnyFilter do
2
+
3
+ it "should be able to specify a site to limit searches to" do
4
+ @search.from_site('adventuresincoding.com')
5
+ @search.query[:Query].should include('site:adventuresincoding.com')
6
+ end
7
+
8
+ end
@@ -0,0 +1,13 @@
1
+ share_as :AnyPageable do
2
+
3
+ it "should be able to specify the number of results per page" do
4
+ @search.per_page(10)
5
+ @search.query["#{@search.source.to_s.capitalize}.Count"].should == 10
6
+ end
7
+
8
+ it "should be able to specify the page number" do
9
+ @search.page(3)
10
+ @search.query["#{@search.source.to_s.capitalize}.Offset"].should == 20 * 2
11
+ end
12
+
13
+ end
metadata CHANGED
@@ -4,9 +4,9 @@ version: !ruby/object:Gem::Version
4
4
  prerelease: false
5
5
  segments:
6
6
  - 0
7
- - 1
8
- - 1
9
- version: 0.1.1
7
+ - 2
8
+ - 0
9
+ version: 0.2.0
10
10
  platform: ruby
11
11
  authors:
12
12
  - Kevin Faustino
@@ -14,7 +14,7 @@ autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
16
 
17
- date: 2010-03-08 00:00:00 -05:00
17
+ date: 2010-03-12 00:00:00 -05:00
18
18
  default_executable:
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
@@ -108,12 +108,17 @@ files:
108
108
  - lib/binged/hashie_extensions.rb
109
109
  - lib/binged/search.rb
110
110
  - lib/binged/search/base.rb
111
+ - lib/binged/search/image.rb
111
112
  - lib/binged/search/web.rb
113
+ - spec/binged/search/image_spec.rb
112
114
  - spec/binged/search/web_spec.rb
113
115
  - spec/binged_spec.rb
116
+ - spec/fixtures/images.json
114
117
  - spec/fixtures/web.json
115
118
  - spec/spec.opts
116
119
  - spec/spec_helper.rb
120
+ - spec/support/shared_examples/filter.rb
121
+ - spec/support/shared_examples/pageable.rb
117
122
  has_rdoc: true
118
123
  homepage: http://github.com/kfaustino/binged
119
124
  licenses: []
@@ -145,6 +150,9 @@ signing_key:
145
150
  specification_version: 3
146
151
  summary: A wrapper for the bing api
147
152
  test_files:
153
+ - spec/binged/search/image_spec.rb
148
154
  - spec/binged/search/web_spec.rb
149
155
  - spec/binged_spec.rb
150
156
  - spec/spec_helper.rb
157
+ - spec/support/shared_examples/filter.rb
158
+ - spec/support/shared_examples/pageable.rb