unwind 0.9.0 → 0.9.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -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: []