yelpme 0.0.2 → 0.0.4

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.
data/README.md CHANGED
@@ -12,6 +12,19 @@ Yes, I know I know.. I could go to Yelp's site and type this in, but
12
12
  fuck that. As I said I'm lazy.
13
13
 
14
14
  ##How
15
+ __IMPORTANT__ You should probably sign in/up for yelp.com and go to [the api](http://www.yelp.com/developers/getting_started/api_access)
16
+ and request some api-hotness. After doing so, mosey your way over to your .bash_profile/rc/whichever and enter the
17
+ following:
18
+
19
+ export YELP_CONSUMER_KEY='xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
20
+ export YELP_CONSUMER_SECRET='xxxxxxxxxxxxxxxxxxxxxxxxxx'
21
+ export YELP_TOKEN='xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
22
+ export YELP_TOKEN_SECRET='xxxxxxxxxxxxxxxxxxxxxxxxx'
23
+
24
+ Obviously put in your read consumer key, consumer secret, token, and token secret in place of those Xs.
25
+
26
+ Cool. Good job, I'm proud of you for doing that. Now we can run:
27
+
15
28
  $ yelpme breakfast "san francisco"
16
29
  #=> etc etc
17
30
  $ yelpme plow "potrero hill"
@@ -1,3 +1,3 @@
1
1
  module Yelpme
2
- VERSION = "0.0.2"
2
+ VERSION = "0.0.4"
3
3
  end
data/lib/yelpme.rb CHANGED
@@ -1,15 +1,17 @@
1
1
  require "yelpme/version"
2
2
 
3
+
3
4
  begin
4
5
  require 'rubygems'
5
6
  rescue LoadError
6
7
  end
7
- require "yelp2"
8
-
9
-
8
+ require 'yelp2'
9
+ require 'pp'
10
+ require 'optparse'
10
11
  module Yelpme
11
12
 
12
- # A quick search to get the first result
13
+ # A quick search to get the first result. Additional arguments
14
+ # used with flags are picked up by Slop...Which sounds dirty.
13
15
  #
14
16
  # args - the list of arguments you may pass in to search on yelp
15
17
  #
@@ -23,7 +25,35 @@ module Yelpme
23
25
  term = args.shift
24
26
  location = {}
25
27
  location[:location] = args.shift
26
- query = Yelp::Base.new(ENV["YELP_CONSUMER_KEY"],ENV["YELP_CONSUMER_SECRET"],ENV["YELP_TOKEN"], ENV["YELP_TOKEN_SECRET"])
27
- puts query.search(term, location)[0].inspect
28
+ options = {}
29
+ OptionParser.new do |opts|
30
+ opts.on("-r", "--random", "Random result") do |r|
31
+ options[:random] = r
32
+ end
33
+ opts.on("-V", "--version", "Print the version") do |v|
34
+ options[:version] = v
35
+ end
36
+ end.parse!
37
+
38
+ raise ArgumentError, "Location needs a value" if location[:location].nil?
39
+ if %w{YELP_CONSUMER_KEY YELP_CONSUMER_SECRET YELP_TOKEN YELP_TOKEN_SECRET}.all?{|word| ENV.include?(word)}
40
+ query = Yelp::Base.new(ENV["YELP_CONSUMER_KEY"],ENV["YELP_CONSUMER_SECRET"],ENV["YELP_TOKEN"], ENV["YELP_TOKEN_SECRET"])
41
+ businesses = query.search(term, location)
42
+ business = parse_businesses(businesses, options)
43
+ pp business
44
+ else
45
+ raise LoadError, "Verify that your ENV variables for authentication to Yelp are set. View the README for more information."
46
+ end
47
+ end
48
+
49
+ # Parse how the business should be parsed based upon the options
50
+ # are passed in.
51
+ #
52
+ # businesses - Array of businesses returned from the Yelp search.
53
+ # options - Options passed in from OptionParser.
54
+ #
55
+ # Returns one or many businesses.
56
+ def self.parse_businesses(businesses, options)
57
+ options[:random].nil? ? businesses.first : businesses[rand(businesses.size)]
28
58
  end
29
59
  end
data/yelpme.gemspec CHANGED
@@ -19,5 +19,6 @@ Gem::Specification.new do |s|
19
19
  s.require_paths = ["lib"]
20
20
 
21
21
  s.add_dependency('yelp2', '>= 0.0.3')
22
+ s.add_dependency("slop")
22
23
 
23
24
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: yelpme
3
3
  version: !ruby/object:Gem::Version
4
- hash: 27
4
+ hash: 23
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 0
9
- - 2
10
- version: 0.0.2
9
+ - 4
10
+ version: 0.0.4
11
11
  platform: ruby
12
12
  authors:
13
13
  - brntbeer
@@ -15,8 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2011-09-13 00:00:00 -07:00
19
- default_executable:
18
+ date: 2011-09-17 00:00:00 Z
20
19
  dependencies:
21
20
  - !ruby/object:Gem::Dependency
22
21
  name: yelp2
@@ -34,6 +33,20 @@ dependencies:
34
33
  version: 0.0.3
35
34
  type: :runtime
36
35
  version_requirements: *id001
36
+ - !ruby/object:Gem::Dependency
37
+ name: slop
38
+ prerelease: false
39
+ requirement: &id002 !ruby/object:Gem::Requirement
40
+ none: false
41
+ requirements:
42
+ - - ">="
43
+ - !ruby/object:Gem::Version
44
+ hash: 3
45
+ segments:
46
+ - 0
47
+ version: "0"
48
+ type: :runtime
49
+ version_requirements: *id002
37
50
  description: Yelpme is used to utilize Yelp's API from the command line using the already existing yelp2 gem.
38
51
  email:
39
52
  - brent.beer@gmail.com
@@ -52,7 +65,6 @@ files:
52
65
  - lib/yelpme.rb
53
66
  - lib/yelpme/version.rb
54
67
  - yelpme.gemspec
55
- has_rdoc: true
56
68
  homepage: http://rubygems.org/gems/yelpme
57
69
  licenses: []
58
70
 
@@ -82,7 +94,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
82
94
  requirements: []
83
95
 
84
96
  rubyforge_project: yelpme
85
- rubygems_version: 1.6.2
97
+ rubygems_version: 1.8.10
86
98
  signing_key:
87
99
  specification_version: 3
88
100
  summary: Yelpme is an interface to using Yelp's API.