yboss 0.2.0 → 0.2.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,10 @@
1
+ language: ruby
2
+ rvm:
3
+ - 2.0.0
4
+ - 1.9.3
5
+ before_script:
6
+ env:
7
+ global:
8
+ - secure: bWVJ4p39I5tDAWodbhdfOJpoWcc99yKLNES1cjFKAytlWrOXDXe6RQfL8KgNnXYfDCcgeQkUCRZ66iR94/YOJPlXyhllViIg5vxhfmWp6+CyjohgBx1XJK3TenXTVtjm7/xItnGylsLx/f8MVsUfYh7SO3l7meUk4+Gtird1qLw=
9
+ - secure: fymHE1nTyzFEVdt39CA85fInLpcs0b9yjB+kdvBitVPf+gghX6uihzLpxPgIlgoER1MQDPr0X4jjc8WCbage1Af9ouiYE7lquJs1HaSh7mPP3uS8qYQJ0YFmzmzXlRQdq2JvMnN9RI0AjGg5ua7XLLYBA7whXm2iUzXBHKeYcbM=
10
+ - secure: lRVODkMHmLr3ySixwA5o8luqvfZM0Lq/Q0nIDWEGw2iheL4YUJtRkvVLV73iP/DWjL5+atFQN3TTowweuc3f8Ec+fdETA0wAR1rRwnIKK7Sm4iOG/eskMEW33tpliYUQv6lkbDeIHNYtolASG1AcXHskzSvDCQQuf+UuUHUSGpM=
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.2.0
1
+ 0.2.1
@@ -34,7 +34,9 @@ module YBoss
34
34
  def percent_encode( string )
35
35
 
36
36
  # ref http://snippets.dzone.com/posts/show/1260
37
- return URI.escape( string, Regexp.new("[^#{URI::PATTERN::UNRESERVED}]") ).gsub('*', '%2A')
37
+ return URI.escape(string,
38
+ Regexp.new("[^#{URI::PATTERN::UNRESERVED}]")
39
+ ).gsub('*', '%2A').gsub('\'','%27').gsub('(','%28').gsub(')','%29').gsub('!','%21')
38
40
  end
39
41
 
40
42
  # @ref http://oauth.net/core/1.0/#rfc.section.9.2
@@ -1,7 +1,85 @@
1
+ # encoding: UTF-8
2
+
1
3
  require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
2
4
 
3
- describe "Yboss" do
4
- it "fails" do
5
- fail "hey buddy, you should probably rename this file and start specing for real"
5
+ if ENV['YAHOO_BOSS_API_KEY_SUFFIX']
6
+ ENV['YAHOO_BOSS_API_KEY'] += ENV['YAHOO_BOSS_API_KEY_SUFFIX']
7
+ end
8
+
9
+ YBoss::Config.instance.oauth_key = ENV['YAHOO_BOSS_API_KEY']
10
+ YBoss::Config.instance.oauth_secret = ENV['YAHOO_BOSS_API_SECRET']
11
+
12
+ puts YBoss::Config.instance.oauth_key
13
+
14
+ def trySearch(search_type, query_string)
15
+ res = YBoss.send search_type, {:q => query_string}
16
+ res.responsecode.to_i.should == 200
17
+ res.count.to_i.should > 0
18
+ end
19
+
20
+ describe "Yboss Test API Credentials" do
21
+ it "should have a consumer key" do
22
+ YBoss::Config.instance.oauth_key.should_not == nil
23
+ end
24
+ it "should have a consumer secret" do
25
+ YBoss::Config.instance.oauth_secret.should_not == nil
26
+ end
27
+ end
28
+
29
+ describe "Yboss Basic Queries" do
30
+ it "should return some results for a purely alpha-numeric query" do
31
+ trySearch(:web, 'yahoo')
32
+ end
33
+
34
+ it "should return some results for a query string with a space" do
35
+ trySearch(:web, 'yahoo sports')
36
+ end
37
+
38
+ it "should return some results for a query string with parentheses" do
39
+ trySearch(:web, 'yahoo (sports)')
40
+ end
41
+
42
+ it "should return some results for a query string with punctuation" do
43
+ trySearch(:web, "yahoo's stock price")
44
+ end
45
+
46
+ it "should return some results for a query string with non-english characters" do
47
+ trySearch(:web, "café au lait")
48
+ end
49
+
50
+ it "should return some results for a query string with numbers and a percent sign" do
51
+ trySearch(:web, "who are the 99%?")
52
+ end
53
+
54
+ it "should return some results for a query string with brackets" do
55
+ trySearch(:web, "andrew [carnegie]")
56
+ end
57
+
58
+ it "should return some results for a query string with a colon" do
59
+ trySearch(:web, "mission: impossible")
60
+ end
61
+
62
+ it "should return some results for a query string with an at sign" do
63
+ trySearch(:web, "@Twitter")
64
+ end
65
+
66
+ it "should return some results for a query string with a comma-delimited list" do
67
+ trySearch(:web, "Tyson, Neil deGrasse")
68
+ end
69
+
70
+ it "should return some results for a query string with an exclamation point" do
71
+ trySearch(:web, "yahoo ruby gems!")
72
+ end
73
+
74
+ it "should return some results for a query string with an hash sign" do
75
+ trySearch(:web, "#colbert_bump")
76
+ end
77
+
78
+ it "should return some results for a query string with a dollar sign" do
79
+ trySearch(:web, "Ke$ha")
80
+ end
81
+
82
+ it "should return some results for a query string with an equals sign" do
83
+ trySearch(:web, "1 + 1 = 3")
6
84
  end
7
85
  end
@@ -0,0 +1,75 @@
1
+ # Generated by jeweler
2
+ # DO NOT EDIT THIS FILE DIRECTLY
3
+ # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
+ # -*- encoding: utf-8 -*-
5
+
6
+ Gem::Specification.new do |s|
7
+ s.name = "yboss"
8
+ s.version = "0.2.1"
9
+
10
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
+ s.authors = ["Tobias Begalke"]
12
+ s.date = "2013-12-03"
13
+ s.description = "yboss is a ruby library for the Yahoo BOSS API"
14
+ s.email = "tob@spyz.org"
15
+ s.extra_rdoc_files = [
16
+ "LICENSE.txt",
17
+ "README.rdoc"
18
+ ]
19
+ s.files = [
20
+ ".document",
21
+ ".rspec",
22
+ ".travis.yml",
23
+ "Gemfile",
24
+ "LICENSE.txt",
25
+ "README.rdoc",
26
+ "Rakefile",
27
+ "VERSION",
28
+ "lib/yboss.rb",
29
+ "lib/yboss/base.rb",
30
+ "lib/yboss/blogs.rb",
31
+ "lib/yboss/config.rb",
32
+ "lib/yboss/images.rb",
33
+ "lib/yboss/limitedweb.rb",
34
+ "lib/yboss/news.rb",
35
+ "lib/yboss/oauth.rb",
36
+ "lib/yboss/related.rb",
37
+ "lib/yboss/result/base.rb",
38
+ "lib/yboss/result/item.rb",
39
+ "lib/yboss/spelling.rb",
40
+ "lib/yboss/web.rb",
41
+ "spec/spec_helper.rb",
42
+ "spec/yboss_spec.rb",
43
+ "yboss.gemspec"
44
+ ]
45
+ s.homepage = "http://github.com/elcamino/yboss"
46
+ s.licenses = ["MIT"]
47
+ s.require_paths = ["lib"]
48
+ s.rubygems_version = "1.8.25"
49
+ s.summary = "Yahoo BOSS library"
50
+
51
+ if s.respond_to? :specification_version then
52
+ s.specification_version = 3
53
+
54
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
55
+ s.add_development_dependency(%q<rspec>, ["~> 2.8.0"])
56
+ s.add_development_dependency(%q<rdoc>, ["~> 3.12"])
57
+ s.add_development_dependency(%q<bundler>, [">= 1.0.0"])
58
+ s.add_development_dependency(%q<jeweler>, ["~> 1.8.4"])
59
+ s.add_development_dependency(%q<simplecov>, [">= 0"])
60
+ else
61
+ s.add_dependency(%q<rspec>, ["~> 2.8.0"])
62
+ s.add_dependency(%q<rdoc>, ["~> 3.12"])
63
+ s.add_dependency(%q<bundler>, [">= 1.0.0"])
64
+ s.add_dependency(%q<jeweler>, ["~> 1.8.4"])
65
+ s.add_dependency(%q<simplecov>, [">= 0"])
66
+ end
67
+ else
68
+ s.add_dependency(%q<rspec>, ["~> 2.8.0"])
69
+ s.add_dependency(%q<rdoc>, ["~> 3.12"])
70
+ s.add_dependency(%q<bundler>, [">= 1.0.0"])
71
+ s.add_dependency(%q<jeweler>, ["~> 1.8.4"])
72
+ s.add_dependency(%q<simplecov>, [">= 0"])
73
+ end
74
+ end
75
+
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: yboss
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.2.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: 2013-02-22 00:00:00.000000000 Z
12
+ date: 2013-12-03 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rspec
@@ -101,6 +101,7 @@ extra_rdoc_files:
101
101
  files:
102
102
  - .document
103
103
  - .rspec
104
+ - .travis.yml
104
105
  - Gemfile
105
106
  - LICENSE.txt
106
107
  - README.rdoc
@@ -121,6 +122,7 @@ files:
121
122
  - lib/yboss/web.rb
122
123
  - spec/spec_helper.rb
123
124
  - spec/yboss_spec.rb
125
+ - yboss.gemspec
124
126
  homepage: http://github.com/elcamino/yboss
125
127
  licenses:
126
128
  - MIT
@@ -136,7 +138,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
136
138
  version: '0'
137
139
  segments:
138
140
  - 0
139
- hash: 4540348285464655124
141
+ hash: -3283620770910580987
140
142
  required_rubygems_version: !ruby/object:Gem::Requirement
141
143
  none: false
142
144
  requirements:
@@ -145,7 +147,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
145
147
  version: '0'
146
148
  requirements: []
147
149
  rubyforge_project:
148
- rubygems_version: 1.8.24
150
+ rubygems_version: 1.8.25
149
151
  signing_key:
150
152
  specification_version: 3
151
153
  summary: Yahoo BOSS library