unwind 0.9.0 → 0.9.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.
@@ -1,3 +1,3 @@
1
1
  module Unwind
2
- VERSION = "0.9.0"
2
+ VERSION = "0.9.1"
3
3
  end
data/lib/unwind.rb CHANGED
@@ -14,6 +14,10 @@ module Unwind
14
14
  @redirects = []
15
15
  end
16
16
 
17
+ def redirected?
18
+ !(self.final_url == self.original_url)
19
+ end
20
+
17
21
  def resolve(current_url=nil)
18
22
 
19
23
  ok_to_continue?
@@ -11,14 +11,21 @@ describe 'Tests :)' do
11
11
 
12
12
  it 'should resolve the url' do
13
13
  VCR.use_cassette('xZVND1') do
14
- follower = Unwind::RedirectFollower.new('http://j.mp/xZVND1')
15
- follower.resolve
14
+ follower = Unwind::RedirectFollower.new('http://j.mp/xZVND1').resolve
16
15
  assert_equal 'http://ow.ly/i/s1O0', follower.final_url
17
16
  assert_equal 'http://j.mp/xZVND1', follower.original_url
18
17
  assert_equal 2, follower.redirects.count
18
+ assert follower.redirected?
19
19
  end
20
20
  end
21
21
 
22
+ it 'should not be redirected' do
23
+ VCR.use_cassette('no redirect') do
24
+ follower = Unwind::RedirectFollower.new('http://www.scottw.com').resolve
25
+ assert !follower.redirected?
26
+ end
27
+ end
28
+
22
29
  it 'should raise TooManyRedirects' do
23
30
  VCR.use_cassette('xZVND1') do
24
31
  follower = Unwind::RedirectFollower.new('http://j.mp/xZVND1', 1)
@@ -0,0 +1,230 @@
1
+ ---
2
+ - !ruby/struct:VCR::HTTPInteraction
3
+ request: !ruby/struct:VCR::Request
4
+ method: :get
5
+ uri: http://www.scottw.com:80/
6
+ body:
7
+ headers:
8
+ response: !ruby/struct:VCR::Response
9
+ status: !ruby/struct:VCR::ResponseStatus
10
+ code: 200
11
+ message: OK
12
+ headers:
13
+ server:
14
+ - nginx
15
+ date:
16
+ - Tue, 14 Feb 2012 16:55:15 GMT
17
+ content-type:
18
+ - text/html;charset=utf-8
19
+ connection:
20
+ - keep-alive
21
+ x-frame-options:
22
+ - sameorigin
23
+ x-xss-protection:
24
+ - 1; mode=block
25
+ last-modified:
26
+ - Wed, 01 Feb 2012 16:03:28 GMT
27
+ content-length:
28
+ - '15677'
29
+ x-varnish:
30
+ - '1407065053'
31
+ age:
32
+ - '0'
33
+ via:
34
+ - 1.1 varnish
35
+ body: ! "\n<!DOCTYPE html>\n<!--[if IEMobile 7 ]><html class=\"no-js iem7\"><![endif]-->\n<!--[if
36
+ lt IE 9]><html class=\"no-js lte-ie8\"><![endif]-->\n<!--[if (gt IE 8)|(gt IEMobile
37
+ 7)|!(IEMobile)|!(IE)]><!--><html class=\"no-js\" lang=\"en\"><!--<![endif]-->\n<head>\n
38
+ \ <meta charset=\"utf-8\">\n <title>Scott Watermasysk</title>\n <meta name=\"author\"
39
+ content=\"Scott Watermasysk\">\n\n \n <meta name=\"description\" content=\"Why
40
+ is this important? It means no more committing the public directory into git.
41
+ Even with just 200 or so posts, my git history felt like it was &hellip;\">\n
42
+ \ \n\n <!-- http://t.co/dKP3o1e -->\n <meta name=\"HandheldFriendly\" content=\"True\">\n
43
+ \ <meta name=\"MobileOptimized\" content=\"320\">\n <meta name=\"viewport\"
44
+ content=\"width=device-width, initial-scale=1\">\n\n \n <link rel=\"canonical\"
45
+ href=\"http://www.scottw.com\">\n <link href=\"/favicon.png\" rel=\"icon\">\n
46
+ \ <link href=\"/stylesheets/screen.css\" media=\"screen, projection\" rel=\"stylesheet\"
47
+ type=\"text/css\">\n <script src=\"/javascripts/modernizr-2.0.js\"></script>\n
48
+ \ <script src=\"/javascripts/ender.js\"></script>\n <script src=\"/javascripts/octopress.js\"
49
+ type=\"text/javascript\"></script>\n <link href=\"http://feeds.simpable.com/simpable\"
50
+ rel=\"alternate\" title=\"Scott Watermasysk\" type=\"application/atom+xml\">\n
51
+ \ <!--Fonts from Google's Web font directory at http://google.com/webfonts -->\n<link
52
+ href='http://fonts.googleapis.com/css?family=PT+Serif:regular,italic,bold,bolditalic'
53
+ rel='stylesheet' type='text/css'>\n<link href='http://fonts.googleapis.com/css?family=PT+Sans:regular,italic,bold,bolditalic'
54
+ rel='stylesheet' type='text/css'>\n\n \n <script type=\"text/javascript\">\n
55
+ \ var _gaq = _gaq || [];\n _gaq.push(['_setAccount', 'UA-65729-10']);\n
56
+ \ _gaq.push(['_trackPageview']);\n\n (function() {\n var ga = document.createElement('script');
57
+ ga.type = 'text/javascript'; ga.async = true;\n ga.src = ('https:' == document.location.protocol
58
+ ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';\n var
59
+ s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga,
60
+ s);\n })();\n </script>\n\n\n</head>\n\n<body >\n <header role=\"banner\"><hgroup>\n
61
+ \ <h1><a href=\"/\">Scott Watermasysk</a></h1>\n \n <h2>Still Learning</h2>\n
62
+ \ \n</hgroup>\n\n</header>\n <nav role=\"navigation\"><ul class=\"subscription\"
63
+ data-subscription=\"rss\">\n <li><a href=\"http://feeds.simpable.com/simpable\"
64
+ rel=\"subscribe-rss\" title=\"subscribe via RSS\">RSS</a></li>\n \n</ul>\n
65
+ \ \n<form action=\"http://google.com/search\" method=\"get\">\n <fieldset role=\"search\">\n
66
+ \ <input type=\"hidden\" name=\"q\" value=\"site:www.scottw.com\" />\n <input
67
+ class=\"search\" type=\"text\" name=\"q\" results=\"0\" placeholder=\"Search\"/>\n
68
+ \ </fieldset>\n</form>\n \n<ul role=main-navigation>\n <li><a href=\"/\">Home</a></li>\n
69
+ \ <li><a href=\"/about\">About</a></li>\n <li><a href=\"/archives\">Archives</a></li>\n
70
+ \ <li><a href=\"/links\">Links</a></li>\n <li><a href=\"http://twitter.com/scottw\">@ScottW</a></li>\n</ul>\n\n</nav>\n
71
+ \ <div id=\"main\">\n <div id=\"content\">\n <div class=\"blog-index\">\n
72
+ \ \n \n \n <article>\n \n <header>\n\t\t\n\t\t\t<!-- This defines
73
+ how Octopress will use posts with external-url. -->\n\t\t\t\t<h1 class=\"entry-title\"><a
74
+ class=\"external-link\" href=\"http://jasongarber.com/blog/2012/01/10/deploying-octopress-to-heroku-with-a-custom-buildpack/\">Deploying
75
+ Octopress to Heroku With a Custom Buildpack</a></h1>\n\t\t\t \t\n\t\t \t\n
76
+ \ \n <p class=\"meta\">\n \n\n\n\n\n\n\n\n\n \n\n\n<time datetime=\"2012-02-01T10:09:00+00:00\"
77
+ pubdate data-updated=\"true\">Feb 1<span>st</span>, 2012</time>\n \n
78
+ \ </p>\n \n </header>\n\n\n <div class=\"entry-content\"><p>Why is
79
+ this important? It means no more committing the public directory into git.</p>\n\n<p>Even
80
+ with just 200 or so posts, my git history felt like it was exploding every time
81
+ I wrote a new post.</p>\n\n<p>I went ahead and nuked my old blog repo and <a
82
+ href=\"http://github.com/scottwater/scottw.com\">recommitted this cleaner</a>
83
+ (and leaner) version if you need a starting place.</p>\n\n<p>Jason&#8217;s steps
84
+ were great, but I did run into two snags:</p>\n\n<ol>\n<li>I could not set the
85
+ buildpack directly when creating the app. I had to add the heroku config var
86
+ for it instead.</li>\n<li>I got an error about a missing daemon gem. Heroku&#8217;s
87
+ cedar stack is still in beta and running a RC version of bundler (as of today).
88
+ I haven&#8217;t dug any further, but nuking my gem vendor folder and starting
89
+ over seemed to do the trick.</li>\n</ol>\n\n</div>\n \n \n\n\n\n\t<div class=\"entry-content\"></div>\n\t<footer><a
90
+ rel=\"full-article\" href=\"/deploying-octopress-to-heroku\">Permalink</a></footer>\n\n\n
91
+ \ </article>\n \n \n <article>\n \n <header>\n\t\t\n\t\t\t<!--
92
+ This defines how Octopress will use posts with external-url. -->\n\t\t\t\t<h1
93
+ class=\"entry-title\"><a class=\"external-link\" href=\"http://www.candlerblog.com/2012/01/30/octopress-linked-list/\">Octopress
94
+ Linked List</a></h1>\n\t\t\t \t\n\t\t \t\n \n <p class=\"meta\">\n
95
+ \ \n\n\n\n\n\n\n\n\n \n\n\n<time datetime=\"2012-02-01T06:39:00+00:00\"
96
+ pubdate data-updated=\"true\">Feb 1<span>st</span>, 2012</time>\n \n
97
+ \ </p>\n \n </header>\n\n\n <div class=\"entry-content\"><p>I have
98
+ been meaning to implement this on my own for a while.</p>\n\n<p>I did make one
99
+ minor adjustment David&#8217;s example. Instead of inlining the glyph, I am
100
+ adding it via CSS:</p>\n\n<figure class='code'><figcaption><span></span></figcaption><div
101
+ class=\"highlight\"><table><tr><td class=\"gutter\"><pre class=\"line-numbers\"><span
102
+ class='line-number'>1</span>\n<span class='line-number'>2</span>\n<span class='line-number'>3</span>\n</pre></td><td
103
+ class='code'><pre><code class='css'><span class='line'><span class=\"nt\">a</span><span
104
+ class=\"nc\">.external-link</span><span class=\"nd\">:after</span> <span class=\"p\">{</span>\n</span><span
105
+ class='line'> <span class=\"k\">content</span><span class=\"o\">:</span> <span
106
+ class=\"s2\">&quot; \\27A6&quot;</span><span class=\"p\">;</span>\n</span><span
107
+ class='line'><span class=\"p\">}</span>\n</span></code></pre></td></tr></table></div></figure>\n\n</div>\n
108
+ \ \n \n\n\n\n\t<div class=\"entry-content\"></div>\n\t<footer><a rel=\"full-article\"
109
+ href=\"/octopress-linked-list\">Permalink</a></footer>\n\n\n </article>\n
110
+ \ \n \n <article>\n \n <header>\n\t\t\n\t\t\t<!-- Now we're back to
111
+ normal posts. Note the links used under href in both headers.-->\n\t\t\t \t<h1
112
+ class=\"entry-title\"><a href=\"/async-emails-with-sorcery\">Async Emails With
113
+ Sorcery</a></h1>\n\t\t\t\t\n\t\t \t\n \n <p class=\"meta\">\n \n\n\n\n\n\n\n\n\n
114
+ \ \n\n\n<time datetime=\"2011-11-28T12:27:00+00:00\" pubdate data-updated=\"true\">Nov
115
+ 28<span>th</span>, 2011</time>\n \n </p>\n \n </header>\n\n\n
116
+ \ <div class=\"entry-content\"><p>For <a href=\"http://www.kickofflabs.com\">KickoffLabs</a>,
117
+ we rolled our own authentication. This worked really well, but doing it (even
118
+ if we packaged it up) for future projects is less than appealing.</p>\n\n<p>I
119
+ have used/tried Devise, Clearance, and AuthLogic but none of them seemed to
120
+ fit.</p>\n\n<p>Enter <a href=\"https://github.com/NoamB/sorcery\">Sorcery</a>.
121
+ Sorcery is a relatively new player in the rails authentication arms race.</p>\n\n</div>\n
122
+ \ \n \n <footer>\n <a rel=\"full-article\" href=\"/async-emails-with-sorcery\">Read
123
+ on &rarr;</a>\n </footer>\n \n\n\n\n\n </article>\n \n \n <article>\n
124
+ \ \n <header>\n\t\t\n\t\t\t<!-- Now we're back to normal posts. Note the
125
+ links used under href in both headers.-->\n\t\t\t \t<h1 class=\"entry-title\"><a
126
+ href=\"/heroku-ssl-and-dnsimple\">Heroku SSL via DNSimple</a></h1>\n\t\t\t\t\n\t\t
127
+ \ \t\n \n <p class=\"meta\">\n \n\n\n\n\n\n\n\n\n \n\n\n<time
128
+ datetime=\"2011-11-22T09:56:00+00:00\" pubdate data-updated=\"true\">Nov 22<span>nd</span>,
129
+ 2011</time>\n \n </p>\n \n </header>\n\n\n <div class=\"entry-content\"><p>If
130
+ you google for Heroku SSL you will find a surprisingly long list of blog posts
131
+ usually with many steps.</p>\n\n<p>However, it is actually much easier than
132
+ what most of them list, especially if you are using <a href=\"https://dnsimple.com/r/a2fb5da9458e27\">DNSimple</a>
133
+ (note: affiliate link).</p>\n\n<p>Here is how to setup a <strong>Hostname Based</strong>
134
+ certificate on Heroku:</p>\n\n</div>\n \n \n <footer>\n <a rel=\"full-article\"
135
+ href=\"/heroku-ssl-and-dnsimple\">Read on &rarr;</a>\n </footer>\n \n\n\n\n\n
136
+ \ </article>\n \n \n <article>\n \n <header>\n\t\t\n\t\t\t<!--
137
+ Now we're back to normal posts. Note the links used under href in both headers.-->\n\t\t\t
138
+ \t<h1 class=\"entry-title\"><a href=\"/sinatra-public-heroku\">Static Files
139
+ Using Sinatra::Base on Heroku</a></h1>\n\t\t\t\t\n\t\t \t\n \n <p class=\"meta\">\n
140
+ \ \n\n\n\n\n\n\n\n\n \n\n\n<time datetime=\"2011-11-01T10:11:00+00:00\"
141
+ pubdate data-updated=\"true\">Nov 1<span>st</span>, 2011</time>\n \n
142
+ \ </p>\n \n </header>\n\n\n <div class=\"entry-content\"><p>I deployed
143
+ a small <a href=\"http://www.sinatrarb.com/\">Sinatra</a> app last night to
144
+ <a href=\"http://www.heroku.com\">Heroku</a> for the new <a href=\"http://api.kickofflabs.com\">KickoffLabs
145
+ API</a>.</p>\n\n<p>Most of the Sinatra apps I have deployed in the past have
146
+ been small prototypes and used the inline Sinatra app style.</p>\n\n<p>However,
147
+ in this case, I made the decision early on to use the Sinatra::Base class style
148
+ since we plan on growing the API codebase (ie, we are going to keep it around
149
+ for a long time).</p>\n\n</div>\n \n \n <footer>\n <a rel=\"full-article\"
150
+ href=\"/sinatra-public-heroku\">Read on &rarr;</a>\n </footer>\n \n\n\n\n\n
151
+ \ </article>\n \n \n <article>\n \n <header>\n\t\t\n\t\t\t<!--
152
+ Now we're back to normal posts. Note the links used under href in both headers.-->\n\t\t\t
153
+ \t<h1 class=\"entry-title\"><a href=\"/simple-dev-tools\">My Favorite Tools
154
+ for a Simple Development Environment</a></h1>\n\t\t\t\t\n\t\t \t\n \n <p
155
+ class=\"meta\">\n \n\n\n\n\n\n\n\n\n \n\n\n<time datetime=\"2011-09-13T10:41:00+00:00\"
156
+ pubdate data-updated=\"true\">Sep 13<span>th</span>, 2011</time>\n \n
157
+ \ </p>\n \n </header>\n\n\n <div class=\"entry-content\"><p>Here is
158
+ an updated list of the tools I use daily to try and make development both simple
159
+ and enjoyable.</p>\n\n</div>\n \n \n <footer>\n <a rel=\"full-article\"
160
+ href=\"/simple-dev-tools\">Read on &rarr;</a>\n </footer>\n \n\n\n\n\n </article>\n
161
+ \ \n \n <article>\n \n <header>\n\t\t\n\t\t\t<!-- Now we're back to
162
+ normal posts. Note the links used under href in both headers.-->\n\t\t\t \t<h1
163
+ class=\"entry-title\"><a href=\"/my-favorite-podcasts\">My Favorite Startup
164
+ and Ruby Podcasts</a></h1>\n\t\t\t\t\n\t\t \t\n \n <p class=\"meta\">\n
165
+ \ \n\n\n\n\n\n\n\n\n \n\n\n<time datetime=\"2011-09-08T19:18:00+00:00\"
166
+ pubdate data-updated=\"true\">Sep 8<span>th</span>, 2011</time>\n \n
167
+ \ </p>\n \n </header>\n\n\n <div class=\"entry-content\"><p>My taste
168
+ in podcasts varies by what is actually going on in my life. Right now it is
169
+ mostly startups (<a href=\"http://www.kickofflabs.com\">KickoffLabs</a>) and
170
+ Ruby.</p>\n\n<p>Here are my current favorites:</p>\n\n</div>\n \n \n <footer>\n
171
+ \ <a rel=\"full-article\" href=\"/my-favorite-podcasts\">Read on &rarr;</a>\n
172
+ \ </footer>\n \n\n\n\n\n </article>\n \n \n <article>\n \n <header>\n\t\t\n\t\t\t<!--
173
+ Now we're back to normal posts. Note the links used under href in both headers.-->\n\t\t\t
174
+ \t<h1 class=\"entry-title\"><a href=\"/resque-mail-queue-gem\">Resque Mail Queue
175
+ Gem</a></h1>\n\t\t\t\t\n\t\t \t\n \n <p class=\"meta\">\n \n\n\n\n\n\n\n\n\n
176
+ \ \n\n\n<time datetime=\"2011-09-07T07:29:00+00:00\" pubdate data-updated=\"true\">Sep
177
+ 7<span>th</span>, 2011</time>\n \n </p>\n \n </header>\n\n\n
178
+ \ <div class=\"entry-content\"><p>I have written two times (<a href=\"http://www.scottw.com/simple-resque-mail-queue\">Simple
179
+ Resque Mail Queue</a> and <a href=\"http://www.scottw.com/simple-resque-mail-queue-ii\">Simple
180
+ Resque Mail Queue II</a>) before about a simple module <em>MailQueue</em> which
181
+ can be used to easily send email asynchronously with <a href=\"http://github.com/defunkt/resque\">Resque</a>.</p>\n\n</div>\n
182
+ \ \n \n <footer>\n <a rel=\"full-article\" href=\"/resque-mail-queue-gem\">Read
183
+ on &rarr;</a>\n </footer>\n \n\n\n\n\n </article>\n \n \n <article>\n
184
+ \ \n <header>\n\t\t\n\t\t\t<!-- Now we're back to normal posts. Note the
185
+ links used under href in both headers.-->\n\t\t\t \t<h1 class=\"entry-title\"><a
186
+ href=\"/automated-timezone-detection\">Improving Automated Timezone Detection</a></h1>\n\t\t\t\t\n\t\t
187
+ \ \t\n \n <p class=\"meta\">\n \n\n\n\n\n\n\n\n\n \n\n\n<time
188
+ datetime=\"2011-09-06T08:30:00+00:00\" pubdate data-updated=\"true\">Sep 6<span>th</span>,
189
+ 2011</time>\n \n </p>\n \n </header>\n\n\n <div class=\"entry-content\"><p>tl;dr
190
+ - Just using the Javascript getTimezoneOffset to auto-detect timezone information
191
+ will not work properly during daylight savings and has a couple of other minor
192
+ gotchas. Check out the <a href=\"https://bitbucket.org/pellepim/jstimezonedetect/wiki/Home\">jsTimezoneDetect</a>
193
+ and my simple <a href=\"https://github.com/scottwater/jquery.detect_timezone\">jQuery
194
+ detect_timezone plugin</a> for more accurate timezone information. I also put
195
+ together a gem, <a href=\"https://github.com/scottwater/detect_timezone_rails\">detect_timezone_rails</a>,
196
+ to automate the process in Rails.</p>\n\n</div>\n \n \n <footer>\n <a
197
+ rel=\"full-article\" href=\"/automated-timezone-detection\">Read on &rarr;</a>\n
198
+ \ </footer>\n \n\n\n\n\n </article>\n \n \n <article>\n \n <header>\n\t\t\n\t\t\t<!--
199
+ Now we're back to normal posts. Note the links used under href in both headers.-->\n\t\t\t
200
+ \t<h1 class=\"entry-title\"><a href=\"/multiple-smtp-servers-with-action-mailer\">Multiple
201
+ Smtp Servers With Action Mailer</a></h1>\n\t\t\t\t\n\t\t \t\n \n <p
202
+ class=\"meta\">\n \n\n\n\n\n\n\n\n\n \n\n\n<time datetime=\"2011-09-04T09:25:00+00:00\"
203
+ pubdate data-updated=\"true\">Sep 4<span>th</span>, 2011</time>\n \n
204
+ \ </p>\n \n </header>\n\n\n <div class=\"entry-content\"><p>We recently
205
+ started using <a href=\"http://postmarkapp.com\">PostMark</a> on <a href=\"http://www.kickofflabs.com\">KickoffLabs</a>.
206
+ So far the service has been excellent. Unfortunately, not all of our emails
207
+ fit their terms of service. I looked around for how configure an addition SMTP
208
+ server via Action Mailer (and Mail gem). Surprisingly, this is not supported.</p>\n\n</div>\n
209
+ \ \n \n <footer>\n <a rel=\"full-article\" href=\"/multiple-smtp-servers-with-action-mailer\">Read
210
+ on &rarr;</a>\n </footer>\n \n\n\n\n\n </article>\n \n <div class=\"pagination\">\n
211
+ \ \n <a class=\"prev\" href=\"/page/2/\">&larr; Older</a>\n \n <a
212
+ href=\"/blog/archives\">Blog Archives</a>\n \n </div>\n</div>\n </div>\n
213
+ \ </div>\n <footer role=\"contentinfo\"><p>\n Copyright &copy; 2012 - Scott
214
+ Watermasysk -\n <span class=\"credit\">Powered by <a href=\"http://octopress.org\">Octopress</a>
215
+ and <a href=\"http://heroku.com\">Heroku</a></span>\n</p>\n\n</footer>\n \n\n<script
216
+ type=\"text/javascript\">\n var disqus_shortname = 'wwwscottw';\n \n
217
+ \ \n var disqus_script = 'count.js';\n \n (function ()
218
+ {\n var dsq = document.createElement('script'); dsq.type = 'text/javascript';
219
+ dsq.async = true;\n dsq.src = 'http://' + disqus_shortname + '.disqus.com/'
220
+ + disqus_script;\n (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);\n
221
+ \ }());\n</script>\n\n\n\n\n\n <script type=\"text/javascript\">\n (function()
222
+ {\n var script = document.createElement('script'); script.type = 'text/javascript';
223
+ script.async = true;\n script.src = 'https://apis.google.com/js/plusone.js';\n
224
+ \ var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(script,
225
+ s);\n })();\n </script>\n\n\n\n <script type=\"text/javascript\">\n (function(){\n
226
+ \ var twitterWidgets = document.createElement('script');\n twitterWidgets.type
227
+ = 'text/javascript';\n twitterWidgets.async = true;\n twitterWidgets.src
228
+ = 'http://platform.twitter.com/widgets.js';\n document.getElementsByTagName('head')[0].appendChild(twitterWidgets);\n
229
+ \ })();\n </script>\n\n\n\n\n\n</body>\n</html>\n"
230
+ http_version: '1.1'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: unwind
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.0
4
+ version: 0.9.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-02-10 00:00:00.000000000 Z
12
+ date: 2012-02-14 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rake
16
- requirement: &70146631886300 !ruby/object:Gem::Requirement
16
+ requirement: &70247991506280 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '0'
22
22
  type: :development
23
23
  prerelease: false
24
- version_requirements: *70146631886300
24
+ version_requirements: *70247991506280
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: vcr
27
- requirement: &70146631885660 !ruby/object:Gem::Requirement
27
+ requirement: &70247991505660 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: '0'
33
33
  type: :development
34
34
  prerelease: false
35
- version_requirements: *70146631885660
35
+ version_requirements: *70247991505660
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: fakeweb
38
- requirement: &70146631885040 !ruby/object:Gem::Requirement
38
+ requirement: &70247991505040 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,7 +43,7 @@ dependencies:
43
43
  version: '0'
44
44
  type: :development
45
45
  prerelease: false
46
- version_requirements: *70146631885040
46
+ version_requirements: *70247991505040
47
47
  description: ! "\t\t\t\t\t\t\t\t\t\tFollows a chain of redirects and reports back
48
48
  on all the steps. \n\t\t\t\t\t\t\t\t\t\tHeavily inspired by John Nunemaker's blog
49
49
  post.\n\t\t\t\t\t\t\t\t\t\thttp://railstips.org/blog/archives/2009/03/04/following-redirects-with-nethttp/\n"
@@ -62,6 +62,7 @@ files:
62
62
  - lib/unwind/version.rb
63
63
  - test/redirect_follower_test.rb
64
64
  - unwind.gemspec
65
+ - vcr_cassettes/no_redirect.yml
65
66
  - vcr_cassettes/xZVND1.yml
66
67
  homepage: ''
67
68
  licenses: []