yipit_n4l 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
data/.gitignore ADDED
@@ -0,0 +1,9 @@
1
+ *.gem
2
+ .bundle
3
+ Gemfile.lock
4
+ pkg/*
5
+ *.swp
6
+ *.swo
7
+ coverage
8
+ doc
9
+ .yardoc
data/.rvmrc ADDED
@@ -0,0 +1 @@
1
+ rvm 1.9.3
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source "http://rubygems.org"
2
+
3
+ # Specify your gem's dependencies in yipit.gemspec
4
+ gemspec
data/README.md ADDED
@@ -0,0 +1,58 @@
1
+ # Yipit
2
+
3
+ Simple Ruby wrapper for the Yipit [API](http://yipit.com/about/api_overview/). [Yipit](http://yipit.com) features deals aggregated from a number of sources, includng Groupon, LivingSocial, Restaurants.com, and more.
4
+
5
+ ## Under development
6
+
7
+ This fork of the Yipit Gem now works, but unless you are part of the secret sauce, you have **BEEN WARNED**.
8
+
9
+ ## Installation
10
+
11
+ With `gem install`:
12
+
13
+ gem install yipit_n4l
14
+
15
+ Or with bundler:
16
+
17
+ gem yipit_n4l, require: 'yipit'
18
+
19
+ ## Usage
20
+
21
+ You'll need a Yipit [API key](http://yipit.com/account/login/?next=/about/api_key/).
22
+
23
+ ### Instantiate
24
+ require 'Yipit'
25
+ client = Yipit::Client.new(YOUR_API_KEY)
26
+
27
+ Yipit uses a [`Hashie::Mash`](https://github.com/intridea/hashie) for return values, providing a handy hash that supports dot notation:
28
+
29
+ deal.title
30
+ => "$100 Gift Certificate, Your Price $40"
31
+ deal.division.name
32
+ => "New York"
33
+
34
+ ### Issues
35
+ GitHub issue tracking sucks. Submit issues to [`Lighthouse`](https://yipit.lighthouseapp.com)
36
+
37
+ <a name="changelog"></a>
38
+ ## Changelog
39
+
40
+ ### 0.0.1 - March 14, 2011
41
+
42
+ * Initial version
43
+
44
+ ## Under the hood
45
+ * [`Faraday`](https://github.com/technoweenie/faraday) REST client
46
+ * [`Hashie::Mash`](http://github.com/intridea/hashie) Magic
47
+
48
+ ## How to contribute
49
+
50
+ * Fork the project.
51
+ * Make your feature addition or bug fix.
52
+ * Add tests for it. This is important so I don't break it in a
53
+ future version unintentionally.
54
+ * Commit, do not mess with rakefile, version, or history.
55
+ (if you want to have your own version, that is fine but bump version in a commit by itself I can ignore when I pull)
56
+ * Send me a pull request. Bonus points for topic branches.
57
+
58
+ Copyright (c) 2012 [Nest4Less, Inc.](http://nest4less.com).
data/Rakefile ADDED
@@ -0,0 +1,2 @@
1
+ require 'bundler'
2
+ Bundler::GemHelper.install_tasks
@@ -0,0 +1,5 @@
1
+ class Array
2
+ def extract_options!
3
+ last.is_a?(::Hash) ? pop : {}
4
+ end
5
+ end
data/lib/yipit.rb ADDED
@@ -0,0 +1,91 @@
1
+ require 'faraday'
2
+ require 'faraday_middleware'
3
+ require 'core_ext/array'
4
+ require 'hashie'
5
+
6
+ module Yipit
7
+ class Client
8
+ attr_reader :api_key, :conn
9
+
10
+ # Initialize the client.
11
+ # TODO: Document.
12
+ def initialize(*args)
13
+ options = args.extract_options!
14
+ @api_key = args[0]
15
+ @conn = Faraday.new(:url => "http://api.yipit.com") do |builder|
16
+ builder.adapter Faraday.default_adapter
17
+ builder.adapter :logger if options[:debug] == true
18
+ builder.use Faraday::Response::ParseJson
19
+ builder.use Faraday::Response::Mashify
20
+ end
21
+ end
22
+
23
+ # @overload deals(options={})
24
+ # Search for Deals
25
+ # @param [Hash] options A customizable set of options
26
+ # @option options [String] :lat Latitude of point to to sort deals by proximity to. Use with lon. Uses radius.
27
+ # @option options [String] :lon Longitude of point to to sort deals by proximity to. Use with lat. Uses radius.
28
+ # @option options [Fixnum] :radius Maximum distance of radius in miles to deal location from center point. Defaults to 10. Requires lat and lon
29
+ # @option options [String] :divisions One or more division slugs (comma separated). See Divisions API for more details.
30
+ # @option options [String] :source One or more source slugs (comma separated). See Sources API for more details.
31
+ # @option options [String] :phone Deals available at a business matching one of the phone numbers. See Businesses API for more details.
32
+ # @option options [String] :tag One or more tag slugs (comma separated). See Tags API for more details. Note: Specifying multiple tags returns deals matching any one of the tags, NOT all of them
33
+ # @option options [Boolean] :paid Shows deals filtered on paid status. Defaults to false. Set to true if you would like to see all deals.
34
+ # @return [Array] An array of Hashie::Mash objects representing Yipit deals
35
+ # @example Search deals by latitude and longitude
36
+ # client.deals(:lat => "-37.74", :lon => "-76.00")
37
+ # @example Search deals within a 2 miles radius of latitude and longitude
38
+ # client.deals(:lat => "-37.74", :lon => "-76.00", :radius => 2)
39
+ # @example Search deals from Groupon
40
+ # client.deals(:source => "Groupon")
41
+ # @example Search deals based on phone number
42
+ # client.deals(:phone => "7185551212")
43
+ # @example Search deals based on tags
44
+ # client.deals(:tag => "restaurants,spa")
45
+ # @example Search deals based on paid status. (Defaults to false)
46
+ # client.deals(:paid => true)
47
+ # @overload deals(deal_id)
48
+ # Get deal details
49
+ # @param [Fixnum] deal_id A Deal Id
50
+ # @return [Hashie::Mash] A Hashie::Mash object representing a Yipit deal
51
+ def deals(*args)
52
+ super
53
+ end
54
+
55
+ # @overload sources(options={})
56
+ # Search for sources
57
+ # @param [Hash] options A customizable set of options
58
+ # @option options [String] :division One or more division slugs. See Divisions API for more details. Note: Specifying multiple divisions returns sources that exist in either of the divisions, NOT all of them.
59
+ # @option options [String] :paid When paid is true, only paid sources are returned. Defaults to false.
60
+ # @overload sources(source_id)
61
+ # Get source details
62
+ # @param [String] slug A source slug
63
+ # @return [Hashie::Mash] A Hashie::Mash object representing a Yipit Deal Source
64
+ def sources(*args)
65
+ super
66
+ end
67
+
68
+ # @overload tags(options={})
69
+ # This method returns a list of all tags. There are no parameters specific to tags.
70
+ # @param [Hash] options A customizable set of options
71
+ # @return [Array] An array of Hashie::Mash objects representing Yipit tags.
72
+ def tags(*args)
73
+ super
74
+ end
75
+ def divisions(*args)
76
+ super
77
+ end
78
+ def businesses(*args)
79
+ super
80
+ end
81
+
82
+ def method_missing(sym, *args, &block)
83
+ options = args.extract_options!.merge(:key => api_key, :limit => 5000)
84
+ response = conn.get("/v1/#{sym.to_s}/#{args[0]}") { |req| req.params = options }
85
+ puts response
86
+ ret = response.body['response']["#{sym.to_s}"]
87
+ mashes = ret.map{|h| Hashie::Mash.new(h)}
88
+ args[0].nil? ? mashes : mashes.first if mashes
89
+ end
90
+ end
91
+ end
@@ -0,0 +1,3 @@
1
+ module Yipit
2
+ VERSION = "0.0.2"
3
+ end
@@ -0,0 +1,25 @@
1
+ require File.expand_path('../../spec_helper', __FILE__)
2
+ describe Yipit::Client do
3
+ context "api" do
4
+ before(:all) do
5
+ api_key="XZgnp3v2vyrBr3eR"
6
+ @client = Yipit::Client.new(api_key)
7
+ end
8
+ context "businesses" do
9
+ context "search businesses" do
10
+ # use_vcr_cassette
11
+ before(:all) do
12
+ @businesses = @client.businesses
13
+ end
14
+ specify { @businesses.size.should > 1 }
15
+ end
16
+ context "business details" do
17
+ before(:all) do
18
+ @businesses = @client.businesses("orpheum-theater")
19
+ end
20
+ specify { @business.name.should == "Orpheum Theatre" }
21
+ end
22
+ end
23
+ end
24
+ end
25
+
@@ -0,0 +1,24 @@
1
+ require File.expand_path('../../spec_helper', __FILE__)
2
+ describe Yipit::Client do
3
+ context "api" do
4
+ before(:all) do
5
+ api_key="XZgnp3v2vyrBr3eR"
6
+ @client = Yipit::Client.new(api_key)
7
+ end
8
+ context "businesses" do
9
+ context "search businesses" do
10
+ # use_vcr_cassette
11
+ before(:all) do
12
+ @businesses = @client.businesses
13
+ end
14
+ specify { @businesses.size.should > 1 }
15
+ end
16
+ context "business details" do
17
+ before(:all) do
18
+ @businesses = @client.businesses(18005)
19
+ end
20
+ specify { @business.name.should == "Orpheum Theatre" }
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,106 @@
1
+ require File.expand_path('../../spec_helper', __FILE__)
2
+
3
+ describe Yipit::Client do
4
+ context "api" do
5
+ before(:all) do
6
+ api_key="XZgnp3v2vyrBr3eR"
7
+ @client = Yipit::Client.new(api_key)
8
+ end
9
+ context "deals" do
10
+ context "search" do
11
+ context "with no args" do
12
+ use_vcr_cassette
13
+ before(:all) do
14
+ @deals = @client.deals
15
+ end
16
+ subject { @deals }
17
+ it { should_not be_nil }
18
+ it { should be_an(Array) }
19
+ it { should have(20).items }
20
+ end
21
+ context "with Brooklyn, NY lat/long" do
22
+ before(:all) do
23
+ @deals = @client.deals(:lat => "40.7325859", :lon => "-73.9568557")
24
+ end
25
+ subject { @deals }
26
+ it { should_not be_nil }
27
+ subject { @deals.first.division.name }
28
+ it { should eql "New York" }
29
+ subject { @deals.last.division.name }
30
+ it { should eql "New York" }
31
+ end
32
+ # TODO: Better test.
33
+ context "with Brooklyn, NY lat/long, scoped to a 2 mile radius" do
34
+ before(:all) do
35
+ @deals = @client.deals(:lat => "40.7325859", :lon => "-73.9568557", :radius => 2)
36
+ end
37
+ subject { @deals }
38
+ it { should_not be_nil }
39
+ subject { @deals.first.division.name }
40
+ it { should eql "New York" }
41
+ subject { @deals.last.division.name }
42
+ it { should eql "New York" }
43
+ end
44
+ context "from Groupon" do
45
+ before(:all) do
46
+ @deals = @client.deals(:source => "Groupon")
47
+ end
48
+ subject { @deals }
49
+ it { should_not be_nil }
50
+ context "source name" do
51
+ subject { @deals.first.source.name }
52
+ it { should eql "Groupon" }
53
+ subject { @deals.last.source.name }
54
+ it { should eql "Groupon" }
55
+ end
56
+ end
57
+ context "by phone number" do
58
+ before(:all) do
59
+ @deals = @client.deals(:phone => "718-599-2700")
60
+ end
61
+ subject { @deals }
62
+ it { should_not be_nil }
63
+ subject { @deals.first.business.name.strip }
64
+ it { should eql "Kenny's Trattoria" }
65
+ end
66
+ context "tagged with 'restaurants'" do
67
+ before(:all) do
68
+ @deals = @client.deals(:tag => "restaurants")
69
+ end
70
+ subject { @deals }
71
+ it { should_not be_nil }
72
+ subject { @deals.first.tags.first.name }
73
+ it { should eql "Restaurants" }
74
+ subject { @deals.last.tags.first.name }
75
+ it { should eql "Restaurants" }
76
+ end
77
+ context "paid deals'" do
78
+ before(:all) do
79
+ @deals = @client.deals(:paid => "true")
80
+ require 'pp'
81
+ puts @deals.inspect
82
+ end
83
+ subject { @deals }
84
+ it { should_not be_nil }
85
+ end
86
+ end
87
+ context "details" do
88
+ before(:all) do
89
+ @deal = @client.deals(7238)
90
+ end
91
+ subject { @deal }
92
+ it { should_not be_nil }
93
+ it { should be_a(Hashie::Mash) }
94
+ it { should respond_to(:id) }
95
+ it { should respond_to(:title) }
96
+ it { should respond_to(:business) }
97
+ it { should respond_to(:images) }
98
+ it { should respond_to(:business) }
99
+ it { should respond_to(:division) }
100
+ it { should respond_to(:source) }
101
+ it { should respond_to(:tags) }
102
+ # etc...
103
+ end
104
+ end
105
+ end
106
+ end
@@ -0,0 +1,44 @@
1
+ require File.expand_path('../../spec_helper', __FILE__)
2
+
3
+ describe Yipit::Client do
4
+ context "api" do
5
+ before(:all) do
6
+ api_key="XZgnp3v2vyrBr3eR"
7
+ @client = Yipit::Client.new(api_key)
8
+ end
9
+ context "divisions" do
10
+ context "search divisions" do
11
+ # use_vcr_cassette
12
+ context "all" do
13
+ before(:all) do
14
+ @divisions = @client.divisions
15
+ end
16
+ context "the results" do
17
+ subject { @divisions }
18
+ specify { should_not be_nil }
19
+ specify { should have_at_least(1).items }
20
+ end
21
+ end
22
+ context "by source" do
23
+ before(:all) do
24
+ @divisions = @client.divisions(:source => "groupon")
25
+ puts @divisions.size
26
+ end
27
+ subject { @divisions }
28
+ context "the results" do
29
+ specify { should_not be_nil }
30
+ specify { should have_at_least(20).items }
31
+ end
32
+ end
33
+ end
34
+ context "division details" do
35
+ before(:all) do
36
+ @division = @client.divisions("new-york")
37
+ end
38
+ context "name" do
39
+ specify { @division.name.should == "New York" }
40
+ end
41
+ end
42
+ end
43
+ end
44
+ end
@@ -0,0 +1,44 @@
1
+ require File.expand_path('../../spec_helper', __FILE__)
2
+
3
+ describe Yipit::Client do
4
+ context "api" do
5
+ before(:all) do
6
+ api_key="XZgnp3v2vyrBr3eR"
7
+ @client = Yipit::Client.new(api_key)
8
+ end
9
+ context "sources" do
10
+ context "search sources" do
11
+ # use_vcr_cassette
12
+ context "all" do
13
+ before(:all) do
14
+ @sources = @client.sources
15
+ end
16
+ context "the results" do
17
+ subject { @sources }
18
+ specify { should_not be_nil }
19
+ specify { should have_at_least(1).items }
20
+ end
21
+ end
22
+ context "by division" do
23
+ before(:all) do
24
+ @sources = @client.sources(:divisions => "new-york")
25
+ end
26
+ subject { @sources }
27
+ context "the results" do
28
+ specify { should_not be_nil }
29
+ specify { should have_at_least(1).items }
30
+ end
31
+ end
32
+ end
33
+ context "source details" do
34
+ before(:all) do
35
+ @source = @client.sources("groupon")
36
+ end
37
+ context "name" do
38
+ specify { @source.name.should == "Groupon" }
39
+ end
40
+ end
41
+ end
42
+ end
43
+ end
44
+
@@ -0,0 +1,21 @@
1
+ require 'simplecov'
2
+
3
+ SimpleCov.start do
4
+ add_group 'Yipit', 'lib/yipit'
5
+ add_group 'Specs', 'spec'
6
+ end
7
+
8
+ require File.expand_path('../../lib/yipit', __FILE__)
9
+ require 'rubygems'
10
+ require 'rspec'
11
+ require 'vcr'
12
+
13
+ VCR.config do |c|
14
+ c.cassette_library_dir = 'spec/cassettes'
15
+ c.stub_with :typhoeus
16
+ c.default_cassette_options = { :record => :new_episodes }
17
+ end
18
+
19
+ RSpec.configure do |c|
20
+ c.extend VCR::RSpec::Macros
21
+ end
@@ -0,0 +1,36 @@
1
+ require File.expand_path('../../spec_helper', __FILE__)
2
+
3
+ describe Yipit::Client do
4
+ context "api" do
5
+ before(:all) do
6
+ api_key=""
7
+ @client = Yipit::Client.new(api_key)
8
+ end
9
+ context "tags" do
10
+ context "search tags" do
11
+ # use_vcr_cassette
12
+ context "all" do
13
+ before(:all) do
14
+ @tags = @client.tags
15
+ end
16
+ context "the results" do
17
+ subject { @tags }
18
+ specify { should_not be_nil }
19
+ specify { should have_at_least(1).items }
20
+ end
21
+ end
22
+ end
23
+ context "when passing params to tags" do
24
+ before(:all) do
25
+ @tag = @client.tags("restaurants")
26
+ end
27
+ context "the tag" do
28
+ subject { @tag }
29
+ specify { should be_nil }
30
+ end
31
+ end
32
+ end
33
+ end
34
+ end
35
+
36
+
data/yipit.gemspec ADDED
@@ -0,0 +1,33 @@
1
+ # -*- encoding: utf-8 -*-
2
+ $:.push File.expand_path("../lib", __FILE__)
3
+ require "yipit/version"
4
+
5
+ Gem::Specification.new do |s|
6
+ s.name = "yipit_n4l"
7
+ s.version = Yipit::VERSION
8
+ s.platform = Gem::Platform::RUBY
9
+ s.authors = ["Josh Deeden", "Mark Coates"]
10
+ s.email = ["mark@nest4less.com"]
11
+ s.homepage = "http://github.com/Nest4LessDev/yipit"
12
+ s.summary = %q{A simple wrapper for the Yipit API}
13
+ s.description = %q{A simple wrapper for the Yipit API}
14
+
15
+ s.rubyforge_project = "yipit_n4l"
16
+ s.add_development_dependency('rake')
17
+ s.add_development_dependency('rspec')
18
+ s.add_development_dependency('simplecov')
19
+ s.add_development_dependency('vcr')
20
+ s.add_development_dependency('fakeweb')
21
+ s.add_development_dependency('yard')
22
+ s.add_development_dependency('maruku')
23
+ s.add_runtime_dependency("faraday")
24
+ s.add_runtime_dependency("faraday_middleware")
25
+ s.add_runtime_dependency("typhoeus")
26
+ s.add_runtime_dependency('hashie')
27
+ s.add_runtime_dependency('multi_json')
28
+
29
+ s.files = `git ls-files`.split("\n")
30
+ s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
31
+ s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
32
+ s.require_paths = ["lib"]
33
+ end
metadata ADDED
@@ -0,0 +1,268 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: yipit_n4l
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.2
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Josh Deeden
9
+ - Mark Coates
10
+ autorequire:
11
+ bindir: bin
12
+ cert_chain: []
13
+ date: 2012-09-24 00:00:00.000000000 Z
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: rake
17
+ requirement: !ruby/object:Gem::Requirement
18
+ none: false
19
+ requirements:
20
+ - - ! '>='
21
+ - !ruby/object:Gem::Version
22
+ version: '0'
23
+ type: :development
24
+ prerelease: false
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ none: false
27
+ requirements:
28
+ - - ! '>='
29
+ - !ruby/object:Gem::Version
30
+ version: '0'
31
+ - !ruby/object:Gem::Dependency
32
+ name: rspec
33
+ requirement: !ruby/object:Gem::Requirement
34
+ none: false
35
+ requirements:
36
+ - - ! '>='
37
+ - !ruby/object:Gem::Version
38
+ version: '0'
39
+ type: :development
40
+ prerelease: false
41
+ version_requirements: !ruby/object:Gem::Requirement
42
+ none: false
43
+ requirements:
44
+ - - ! '>='
45
+ - !ruby/object:Gem::Version
46
+ version: '0'
47
+ - !ruby/object:Gem::Dependency
48
+ name: simplecov
49
+ requirement: !ruby/object:Gem::Requirement
50
+ none: false
51
+ requirements:
52
+ - - ! '>='
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ type: :development
56
+ prerelease: false
57
+ version_requirements: !ruby/object:Gem::Requirement
58
+ none: false
59
+ requirements:
60
+ - - ! '>='
61
+ - !ruby/object:Gem::Version
62
+ version: '0'
63
+ - !ruby/object:Gem::Dependency
64
+ name: vcr
65
+ requirement: !ruby/object:Gem::Requirement
66
+ none: false
67
+ requirements:
68
+ - - ! '>='
69
+ - !ruby/object:Gem::Version
70
+ version: '0'
71
+ type: :development
72
+ prerelease: false
73
+ version_requirements: !ruby/object:Gem::Requirement
74
+ none: false
75
+ requirements:
76
+ - - ! '>='
77
+ - !ruby/object:Gem::Version
78
+ version: '0'
79
+ - !ruby/object:Gem::Dependency
80
+ name: fakeweb
81
+ requirement: !ruby/object:Gem::Requirement
82
+ none: false
83
+ requirements:
84
+ - - ! '>='
85
+ - !ruby/object:Gem::Version
86
+ version: '0'
87
+ type: :development
88
+ prerelease: false
89
+ version_requirements: !ruby/object:Gem::Requirement
90
+ none: false
91
+ requirements:
92
+ - - ! '>='
93
+ - !ruby/object:Gem::Version
94
+ version: '0'
95
+ - !ruby/object:Gem::Dependency
96
+ name: yard
97
+ requirement: !ruby/object:Gem::Requirement
98
+ none: false
99
+ requirements:
100
+ - - ! '>='
101
+ - !ruby/object:Gem::Version
102
+ version: '0'
103
+ type: :development
104
+ prerelease: false
105
+ version_requirements: !ruby/object:Gem::Requirement
106
+ none: false
107
+ requirements:
108
+ - - ! '>='
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
111
+ - !ruby/object:Gem::Dependency
112
+ name: maruku
113
+ requirement: !ruby/object:Gem::Requirement
114
+ none: false
115
+ requirements:
116
+ - - ! '>='
117
+ - !ruby/object:Gem::Version
118
+ version: '0'
119
+ type: :development
120
+ prerelease: false
121
+ version_requirements: !ruby/object:Gem::Requirement
122
+ none: false
123
+ requirements:
124
+ - - ! '>='
125
+ - !ruby/object:Gem::Version
126
+ version: '0'
127
+ - !ruby/object:Gem::Dependency
128
+ name: faraday
129
+ requirement: !ruby/object:Gem::Requirement
130
+ none: false
131
+ requirements:
132
+ - - ! '>='
133
+ - !ruby/object:Gem::Version
134
+ version: '0'
135
+ type: :runtime
136
+ prerelease: false
137
+ version_requirements: !ruby/object:Gem::Requirement
138
+ none: false
139
+ requirements:
140
+ - - ! '>='
141
+ - !ruby/object:Gem::Version
142
+ version: '0'
143
+ - !ruby/object:Gem::Dependency
144
+ name: faraday_middleware
145
+ requirement: !ruby/object:Gem::Requirement
146
+ none: false
147
+ requirements:
148
+ - - ! '>='
149
+ - !ruby/object:Gem::Version
150
+ version: '0'
151
+ type: :runtime
152
+ prerelease: false
153
+ version_requirements: !ruby/object:Gem::Requirement
154
+ none: false
155
+ requirements:
156
+ - - ! '>='
157
+ - !ruby/object:Gem::Version
158
+ version: '0'
159
+ - !ruby/object:Gem::Dependency
160
+ name: typhoeus
161
+ requirement: !ruby/object:Gem::Requirement
162
+ none: false
163
+ requirements:
164
+ - - ! '>='
165
+ - !ruby/object:Gem::Version
166
+ version: '0'
167
+ type: :runtime
168
+ prerelease: false
169
+ version_requirements: !ruby/object:Gem::Requirement
170
+ none: false
171
+ requirements:
172
+ - - ! '>='
173
+ - !ruby/object:Gem::Version
174
+ version: '0'
175
+ - !ruby/object:Gem::Dependency
176
+ name: hashie
177
+ requirement: !ruby/object:Gem::Requirement
178
+ none: false
179
+ requirements:
180
+ - - ! '>='
181
+ - !ruby/object:Gem::Version
182
+ version: '0'
183
+ type: :runtime
184
+ prerelease: false
185
+ version_requirements: !ruby/object:Gem::Requirement
186
+ none: false
187
+ requirements:
188
+ - - ! '>='
189
+ - !ruby/object:Gem::Version
190
+ version: '0'
191
+ - !ruby/object:Gem::Dependency
192
+ name: multi_json
193
+ requirement: !ruby/object:Gem::Requirement
194
+ none: false
195
+ requirements:
196
+ - - ! '>='
197
+ - !ruby/object:Gem::Version
198
+ version: '0'
199
+ type: :runtime
200
+ prerelease: false
201
+ version_requirements: !ruby/object:Gem::Requirement
202
+ none: false
203
+ requirements:
204
+ - - ! '>='
205
+ - !ruby/object:Gem::Version
206
+ version: '0'
207
+ description: A simple wrapper for the Yipit API
208
+ email:
209
+ - mark@nest4less.com
210
+ executables: []
211
+ extensions: []
212
+ extra_rdoc_files: []
213
+ files:
214
+ - .gitignore
215
+ - .rvmrc
216
+ - Gemfile
217
+ - README.md
218
+ - Rakefile
219
+ - lib/core_ext/array.rb
220
+ - lib/yipit.rb
221
+ - lib/yipit/version.rb
222
+ - spec/businesses/businesses_spec.rb
223
+ - spec/client/client_spec.rb
224
+ - spec/deals/deals_spec.rb
225
+ - spec/divisions/divisions_spec.rb
226
+ - spec/sources/sources_spec.rb
227
+ - spec/spec_helper.rb
228
+ - spec/tags/tags_spec.rb
229
+ - yipit.gemspec
230
+ homepage: http://github.com/Nest4LessDev/yipit
231
+ licenses: []
232
+ post_install_message:
233
+ rdoc_options: []
234
+ require_paths:
235
+ - lib
236
+ required_ruby_version: !ruby/object:Gem::Requirement
237
+ none: false
238
+ requirements:
239
+ - - ! '>='
240
+ - !ruby/object:Gem::Version
241
+ version: '0'
242
+ segments:
243
+ - 0
244
+ hash: -4548077650586067815
245
+ required_rubygems_version: !ruby/object:Gem::Requirement
246
+ none: false
247
+ requirements:
248
+ - - ! '>='
249
+ - !ruby/object:Gem::Version
250
+ version: '0'
251
+ segments:
252
+ - 0
253
+ hash: -4548077650586067815
254
+ requirements: []
255
+ rubyforge_project: yipit_n4l
256
+ rubygems_version: 1.8.24
257
+ signing_key:
258
+ specification_version: 3
259
+ summary: A simple wrapper for the Yipit API
260
+ test_files:
261
+ - spec/businesses/businesses_spec.rb
262
+ - spec/client/client_spec.rb
263
+ - spec/deals/deals_spec.rb
264
+ - spec/divisions/divisions_spec.rb
265
+ - spec/sources/sources_spec.rb
266
+ - spec/spec_helper.rb
267
+ - spec/tags/tags_spec.rb
268
+ has_rdoc: