guillotine 0.0.2 → 0.0.3

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.
@@ -13,8 +13,8 @@ Gem::Specification.new do |s|
13
13
  ## If your rubyforge_project name is different, then edit it and comment out
14
14
  ## the sub! line in the Rakefile
15
15
  s.name = 'guillotine'
16
- s.version = '0.0.2'
17
- s.date = '2011-08-09'
16
+ s.version = '0.0.3'
17
+ s.date = '2011-08-17'
18
18
  s.rubyforge_project = 'guillotine'
19
19
 
20
20
  ## Make sure your summary is short. The description may be as long
@@ -2,7 +2,7 @@ require 'base64'
2
2
  require 'digest/md5'
3
3
 
4
4
  module Guillotine
5
- VERSION = "0.0.2"
5
+ VERSION = "0.0.3"
6
6
 
7
7
  dir = File.expand_path '../guillotine', __FILE__
8
8
  autoload :App, "#{dir}/app"
@@ -12,8 +12,14 @@ module Guillotine
12
12
  end
13
13
 
14
14
  post "/" do
15
- url = params[:url]
15
+ url = params[:url].to_s
16
16
  code = params[:code]
17
+
18
+ if url.empty?
19
+ halt 422, "Invalid url: #{url.inspect}"
20
+ end
21
+ url.strip!
22
+
17
23
  begin
18
24
  if code = settings.db.add(url, code)
19
25
  redirect code
@@ -43,6 +43,16 @@ class AppTest < Guillotine::TestCase
43
43
  assert_equal 422, last_response.status
44
44
  end
45
45
 
46
+ def test_add_without_url
47
+ post '/'
48
+ assert_equal 422, last_response.status
49
+ end
50
+
51
+ def test_add_url_with_linebreak
52
+ post '/', :url => "https://abc.com\n"
53
+ assert_equal 'http://example.org/SWtBvQ', last_response.headers['location']
54
+ end
55
+
46
56
  def app
47
57
  Guillotine::App
48
58
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: guillotine
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
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: 2011-08-09 00:00:00.000000000Z
12
+ date: 2011-08-17 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: sinatra
16
- requirement: &70171008407660 !ruby/object:Gem::Requirement
16
+ requirement: &70155812898660 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ~>
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: 1.2.6
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70171008407660
24
+ version_requirements: *70155812898660
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: rack-test
27
- requirement: &70171008407280 !ruby/object:Gem::Requirement
27
+ requirement: &70155812898280 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,7 +32,7 @@ dependencies:
32
32
  version: '0'
33
33
  type: :development
34
34
  prerelease: false
35
- version_requirements: *70171008407280
35
+ version_requirements: *70155812898280
36
36
  description: Adaptable private URL shortener
37
37
  email: technoweenie@gmail.com
38
38
  executables: []