urban 1.0.0 → 2.0.0

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,56 +1,38 @@
1
- require 'test_helper'
1
+ require "test_helper"
2
+ require "urban/web"
2
3
 
3
- class WebTest < MiniTest::Unit::TestCase
4
+ class WebTest < Urban::Test
5
+
6
+ attr_accessor :web_client
4
7
 
5
8
  def setup
6
- @web_module = (Object.new).extend(Urban::Web).extend(Stub)
9
+ self.web_client = Urban::Web.new
7
10
  end
8
11
 
9
- class WebFetchTest < WebTest
10
- def setup
11
- super
12
- @web_module.stub(:open) { |arg| arg }
13
- end
14
-
15
- def test_fetch_with_no_params
16
- expected = 'http://www.urbandictionary.com/test.php'
17
- actual = @web_module.fetch('test.php')
18
- assert_equal(expected, actual)
19
- end
20
-
21
- def test_fetch_with_params
22
- expected = /http:\/\/www\.urbandictionary\.com\/test\.php\?\w+=\w+&\w+=\w+/
23
- actual = @web_module.fetch('test.php', :name => 'foo', :term => 'bar')
24
- assert_match(expected, actual)
25
- end
12
+ def test_build_query_with_multiple_query_params
13
+ expected = "?term=bar&name=foo"
14
+ actual = web_client.send :build_query, { :term => :bar, :name => :foo }
15
+ assert_equal expected, actual
26
16
  end
27
17
 
28
- class WebInterfaceTest < WebTest
29
-
30
- def setup
31
- super
32
- @expected = OpenStruct.new
33
- @expected.base_uri = 'http://www.urbandictionary.com/define.php?term=impromptu'
34
-
35
- @web_module.stub(:open) do |arg|
36
- result = OpenStruct.new
37
- result.base_uri = 'http://www.urbandictionary.com/define.php?term=impromptu'
38
- result
39
- end
40
- end
41
-
42
- def test_returns_response_for_random_word
43
- actual = @web_module.random
44
-
45
- assert_equal(@expected.base_uri, actual.url)
46
- assert_equal(@expected, actual.stream)
47
- end
18
+ def test_build_uri_with_no_query_params
19
+ expected = "http://www.urbandictionary.com/test.php"
20
+ actual = web_client.send :build_uri, :test
21
+ assert_equal expected, actual
22
+ end
48
23
 
49
- def test_returns_response_for_define_with_phrase
50
- actual = @web_module.search('cookie monster')
24
+ def test_build_uri_with_a_query_param
25
+ expected = "http://www.urbandictionary.com/test.php?term=foo"
26
+ actual = web_client.send :build_uri, :test, { :term => :foo }
27
+ assert_equal expected, actual
28
+ end
51
29
 
52
- assert_equal(@expected.base_uri, actual.url)
53
- assert_equal(@expected, actual.stream)
54
- end
30
+ def test_build_response
31
+ response = OpenStruct.new :base_uri =>
32
+ "http://www.urbandictionary.com/define.php?term=impromptu"
33
+ expected = Urban::Web::Response.new response.base_uri, response
34
+ actual = web_client.send :build_response, response
35
+ assert_equal expected, actual
55
36
  end
37
+
56
38
  end
metadata CHANGED
@@ -1,137 +1,148 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: urban
3
- version: !ruby/object:Gem::Version
4
- hash: 23
5
- prerelease:
6
- segments:
7
- - 1
8
- - 0
9
- - 0
10
- version: 1.0.0
3
+ version: !ruby/object:Gem::Version
4
+ version: 2.0.0
11
5
  platform: ruby
12
- authors:
13
- - Thomas Miller
6
+ authors:
7
+ - Tom Miller
14
8
  autorequire:
15
9
  bindir: bin
16
10
  cert_chain: []
17
-
18
- date: 2011-09-10 00:00:00 Z
19
- dependencies:
20
- - !ruby/object:Gem::Dependency
11
+ date: 2016-01-06 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
21
14
  name: nokogiri
22
- prerelease: false
23
- requirement: &id001 !ruby/object:Gem::Requirement
24
- none: false
25
- requirements:
26
- - - ~>
27
- - !ruby/object:Gem::Version
28
- hash: 3
29
- segments:
30
- - 1
31
- - 5
32
- - 0
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
33
19
  version: 1.5.0
34
20
  type: :runtime
35
- version_requirements: *id001
36
- - !ruby/object:Gem::Dependency
37
- name: rake
38
21
  prerelease: false
39
- requirement: &id002 !ruby/object:Gem::Requirement
40
- none: false
41
- requirements:
42
- - - ~>
43
- - !ruby/object:Gem::Version
44
- hash: 27
45
- segments:
46
- - 0
47
- - 8
48
- version: "0.8"
49
- type: :development
50
- version_requirements: *id002
51
- - !ruby/object:Gem::Dependency
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: 1.5.0
27
+ - !ruby/object:Gem::Dependency
52
28
  name: minitest
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '5.6'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '5.6'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rdoc
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '4.0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '4.0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: rake
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '10.0'
62
+ type: :development
53
63
  prerelease: false
54
- requirement: &id003 !ruby/object:Gem::Requirement
55
- none: false
56
- requirements:
57
- - - ~>
58
- - !ruby/object:Gem::Version
59
- hash: 3
60
- segments:
61
- - 2
62
- - 0
63
- version: "2.0"
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '10.0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: hoe
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: '3.14'
64
76
  type: :development
65
- version_requirements: *id003
66
- description: Urban is a command line tool that allows you to look up definitions or pull a random definition from Urban Dictionary.
67
- email:
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '3.14'
83
+ description: |-
84
+ Urban is a command line utility with an API to query definitions from Urban
85
+ Dictionary.
86
+ email:
68
87
  - jackerran@gmail.com
69
- executables:
88
+ executables:
70
89
  - urban
71
90
  extensions: []
72
-
73
- extra_rdoc_files: []
74
-
75
- files:
76
- - .gitignore
77
- - .travis.yml
78
- - Gemfile
91
+ extra_rdoc_files:
92
+ - HISTORY.rdoc
93
+ - Manifest.txt
94
+ - README.rdoc
95
+ files:
96
+ - ".travis.yml"
79
97
  - HISTORY.rdoc
80
98
  - LICENSE
99
+ - Manifest.txt
81
100
  - README.rdoc
82
101
  - Rakefile
83
102
  - bin/urban
84
103
  - lib/urban.rb
85
104
  - lib/urban/cli.rb
86
105
  - lib/urban/dictionary.rb
87
- - lib/urban/version.rb
88
106
  - lib/urban/web.rb
89
- - test/data/impromptu.html
90
- - test/data/missing.html
91
- - test/minitest/stop_light.rb
107
+ - script/test
108
+ - test/fixtures/impromptu.html
109
+ - test/fixtures/missing.html
110
+ - test/fixtures/screens/definition.txt
111
+ - test/fixtures/screens/definition_with_url.txt
112
+ - test/fixtures/screens/definitions.txt
113
+ - test/fixtures/screens/help.txt
114
+ - test/fixtures/screens/invalid_option_error.txt
115
+ - test/fixtures/screens/missing_phrase_error.txt
116
+ - test/fixtures/screens/no_internet_error.txt
92
117
  - test/test_helper.rb
93
118
  - test/urban/cli_test.rb
94
119
  - test/urban/dictionary_test.rb
95
120
  - test/urban/web_test.rb
96
- - urban.gemspec
97
- homepage: https://github.com/tmiller/urban
98
- licenses:
121
+ homepage: http://github.com/tmiller/urban
122
+ licenses:
99
123
  - MIT
124
+ metadata: {}
100
125
  post_install_message:
101
- rdoc_options: []
102
-
103
- require_paths:
126
+ rdoc_options:
127
+ - "--main"
128
+ - README.rdoc
129
+ require_paths:
104
130
  - lib
105
- required_ruby_version: !ruby/object:Gem::Requirement
106
- none: false
107
- requirements:
131
+ required_ruby_version: !ruby/object:Gem::Requirement
132
+ requirements:
108
133
  - - ">="
109
- - !ruby/object:Gem::Version
110
- hash: 3
111
- segments:
112
- - 0
113
- version: "0"
114
- required_rubygems_version: !ruby/object:Gem::Requirement
115
- none: false
116
- requirements:
134
+ - !ruby/object:Gem::Version
135
+ version: '0'
136
+ required_rubygems_version: !ruby/object:Gem::Requirement
137
+ requirements:
117
138
  - - ">="
118
- - !ruby/object:Gem::Version
119
- hash: 3
120
- segments:
121
- - 0
122
- version: "0"
139
+ - !ruby/object:Gem::Version
140
+ version: '0'
123
141
  requirements: []
124
-
125
- rubyforge_project: urban
126
- rubygems_version: 1.8.6
142
+ rubyforge_project:
143
+ rubygems_version: 2.2.2
127
144
  signing_key:
128
- specification_version: 3
129
- summary: A command line tool that interfaces with Urban Dictionary.
130
- test_files:
131
- - test/data/impromptu.html
132
- - test/data/missing.html
133
- - test/minitest/stop_light.rb
134
- - test/test_helper.rb
135
- - test/urban/cli_test.rb
136
- - test/urban/dictionary_test.rb
137
- - test/urban/web_test.rb
145
+ specification_version: 4
146
+ summary: Urban is a command line utility with an API to query definitions from Urban
147
+ Dictionary.
148
+ test_files: []
data/.gitignore DELETED
@@ -1,26 +0,0 @@
1
- # OSX
2
- .DS_Store
3
- Icon?
4
- ._*
5
- .Spotlight-V100
6
- .Trashes
7
-
8
- # Vim
9
- .*.sw[a-z]
10
- *.un~
11
- Session.vim
12
-
13
- # Project
14
- *.gem
15
- .bundle
16
- Gemfile.lock
17
- pkg/*
18
- .yardoc
19
- doc/*
20
- coverage/*
21
-
22
-
23
- # Ignore individual preferences
24
- .rvmrc
25
- .rbenv-version
26
- vendor/bundle/*
data/Gemfile DELETED
@@ -1,4 +0,0 @@
1
- source "http://rubygems.org"
2
-
3
- # Specify your gem's dependencies in urban.gemspec
4
- gemspec
data/lib/urban/version.rb DELETED
@@ -1,3 +0,0 @@
1
- module Urban
2
- VERSION = '1.0.0'
3
- end
@@ -1,463 +0,0 @@
1
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
- <html lang='en-US' xml:lang='en-US' xmlns='http://www.w3.org/1999/xhtml'>
3
- <head><script>var NREUMQ=[];NREUMQ.push(["mark","firstbyte",new Date().getTime()]);(function(){var d=document;var e=d.createElement("script");e.type="text/javascript";e.async=true;e.src="https://d1ros97qkrwjf5.cloudfront.net/16/eum/rum.js";var s=d.getElementsByTagName("script")[0];s.parentNode.insertBefore(e,s);})()</script>
4
- <title>Urban Dictionary: impromptu</title>
5
- <script type='text/javascript'>
6
- //<![CDATA[
7
- var MobileDetector={redirect:function(b,a){if(b&&b.match(/(iPhone|iPod|Android|webOS|Opera Mini|PlayStation Portable)/)){this.go(a)}},go:function(a){window.location=a}};
8
- MobileDetector.redirect(navigator.userAgent, "/iphone/#define?term=impromptu");
9
- //]]>
10
- </script>
11
-
12
-
13
- <!--[if (!IE)|(gte IE 8)]><!-->
14
- <link href="http://static3.urbandictionary.com/assets/base-datauri.css?1314062438" media="screen" rel="stylesheet" type="text/css" />
15
- <!--<![endif]-->
16
- <!--[if lte IE 7]>
17
- <link href="http://static3.urbandictionary.com/assets/base.css?1314062438" media="screen" rel="stylesheet" type="text/css" />
18
- <![endif]-->
19
- <link href="http://feeds.urbandictionary.com/UrbanWordOfTheDay" rel="alternate" title="Urban Word of the Day" type="application/rss+xml" />
20
- <link href="http://static0.urbandictionary.com/favicon.ico?1314062439" rel="shortcut icon" /><link href="http://static0.urbandictionary.com/favicon.ico?1314062439" rel="icon" />
21
-
22
-
23
- <link href='http://static2.urbandictionary.com/osd.xml?1314062439' rel='search' title='Urban Dictionary Search' type='application/opensearchdescription+xml' />
24
- <meta content='Something that is made up on the spot and given little time to gather and present. Usually referring to speeches that are given only a few minutes ...' name='Description' />
25
- <meta content='Something that is made up on the spot and given little time to gather and present. Usually referring to speeches that are given only a few minutes ...' property='og:description' />
26
- <meta content='impromptu' property='og:title' />
27
- <meta content="http://static0.urbandictionary.com/images/og_image.png?1314062439" property="og:image" />
28
- <script type="text/javascript">
29
- //<![CDATA[
30
- var Record={setRecordingCookie:function(a){document.cookie="recording="+a},getRecordingCookie:function(){var a=document.cookie.match("recording=(true|false)");return a?(a[1]=="true"):null},start:function(a){if(Record.getRecordingCookie()===null){Record.setRecordingCookie(Math.random()<a/100)}if(Record.getRecordingCookie()){document.write(unescape("%3Cscript src='"+(("https:"==document.location.protocol)?"https":"http")+"://c.mouseflow.com/projects/38f33478-b73a-4335-a2df-b0f221197471.js' type='text/javascript'%3E%3C/script%3E"))}}};
31
- //]]>
32
- </script>
33
- <script type='text/javascript'>
34
- //<![CDATA[
35
- Record.start(0.001);
36
- //]]>
37
- </script>
38
- <meta content='Urban Dictionary' property='og:site_name' />
39
- </head>
40
- <body class='define_controller'>
41
- <div id='header_background'>
42
- <div id='header_width'>
43
- <div id='header'>
44
- <a href="/" id="logo_anchor"><img alt="" id="logo" src="http://static1.urbandictionary.com/images/logo-holiday.png?1314062439" /></a>
45
- <div id='like_button'>
46
- <iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Ffacebook.com%2Furbandictionary&amp;send=false&amp;layout=button_count&amp;width=100&amp;show_faces=false&amp;action=like&amp;colorscheme=light&amp;font&amp;height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:100px; height:21px;" allowTransparency="true"></iframe>
47
- </div>
48
- <div id='form'>
49
- <form action="/define.php" method="get">
50
- <table>
51
- <tr>
52
- <td></td>
53
- <td class='look_up'>look up any word:</td>
54
- </tr>
55
- <tr>
56
- <td>
57
- <div id='autocompleter_spinner' style='display: none'></div>
58
- </td>
59
- <td><input id="term" name="term" tabindex="1" type="text" value="impromptu" /></td>
60
- <td>
61
- <input type='submit' value='search' />
62
- </td>
63
- </tr>
64
- </table>
65
- </form>
66
- </div>
67
- <div id='topnav'>
68
- <a href="/">word of the day</a> <a class="active" href="/popular.php?character=A">dictionary</a> <a href="/thesaurus.php">thesaurus</a> <a href="/names.php">names</a> <a href="/video.list.php">media</a> <a href="/products.php">store</a> <a href="/add.php">add</a> <a href="/editor/staygo.php">edit</a> <a href="http://blog.urbandictionary.com/">blog</a>
69
- </div>
70
- </div>
71
- </div>
72
- </div>
73
- <div class='autocomplete' id='term_list' style='display:none'></div>
74
-
75
- <div id='outer'>
76
- <div class='' id='whole'>
77
- <div class='innernav' id='subnav'>
78
- <a accesskey="1" href="/random.php" title="hot key + 1">random</a> <a href="/popular.php?character=A">A</a> <a href="/popular.php?character=B">B</a> <a href="/popular.php?character=C">C</a> <a href="/popular.php?character=D">D</a> <a href="/popular.php?character=E">E</a> <a href="/popular.php?character=F">F</a> <a href="/popular.php?character=G">G</a> <a href="/popular.php?character=H">H</a> <a class="active" href="/browse.php?word=impromptu">I</a> <a href="/popular.php?character=J">J</a> <a href="/popular.php?character=K">K</a> <a href="/popular.php?character=L">L</a> <a href="/popular.php?character=M">M</a> <a href="/popular.php?character=N">N</a> <a href="/popular.php?character=O">O</a> <a href="/popular.php?character=P">P</a> <a href="/popular.php?character=Q">Q</a> <a href="/popular.php?character=R">R</a> <a href="/popular.php?character=S">S</a> <a href="/popular.php?character=T">T</a> <a href="/popular.php?character=U">U</a> <a href="/popular.php?character=V">V</a> <a href="/popular.php?character=W">W</a> <a href="/popular.php?character=X">X</a> <a href="/popular.php?character=Y">Y</a> <a href="/popular.php?character=Z">Z</a> <a href="/browse.php?character=%2A">#</a> <a href="/yesterday.php?date=2011-08-28">new</a> <a href="/favorites.php">favorites</a>
79
- </div>
80
- <table cellpadding='0' cellspacing='0' id='tablist'>
81
- <tr>
82
- <td id='leftist'>
83
- <div class='prev_next_buttons'>
84
- <a href="#" id="prev_titles" onclick="nearby.go('prev'); return false;" onmouseout="$(this).down().src = &quot;http://static0.urbandictionary.com/images/uparrow.gif?1314062439&quot;" onmouseover="$(this).down().src = &quot;http://static3.urbandictionary.com/images/uparrow_dark.gif?1314062439&quot;"><img src="http://static0.urbandictionary.com/images/uparrow.gif?1314062439" /></a>
85
- <a href="#" id="next_titles" onclick="nearby.go('next'); return false;" onmouseout="$(this).down().src = &quot;http://static3.urbandictionary.com/images/downarrow.gif?1314062439&quot;" onmouseover="$(this).down().src = &quot;http://static2.urbandictionary.com/images/downarrow_dark.gif?1314062439&quot;"><img src="http://static3.urbandictionary.com/images/downarrow.gif?1314062439" /></a>
86
- </div>
87
- <ul id='nearby_titles'>
88
- <li><a href="/define.php?term=Imprimplicate" class="urbantip">Imprimplicate</a></li><li><a href="/define.php?term=imprint" class="urbantip">imprint</a></li><li><a href="/define.php?term=Imprinting" class="urbantip">Imprinting</a></li><li><a href="/define.php?term=imprints" class="urbantip">imprints</a></li><li><a href="/define.php?term=imprisionate" class="urbantip">imprisionate</a></li><li><a href="/define.php?term=Imprisoned%20in%20the%20elevator" class="urbantip">Imprisoned in the elevator</a></li><li><a href="/define.php?term=imprisonment" class="urbantip">imprisonment</a></li><li><a href="/define.php?term=Imprist" class="urbantip">Imprist</a></li><li><a href="/define.php?term=imprn" class="urbantip">imprn</a></li><li><a href="/define.php?term=improbement" class="urbantip">improbement</a></li><li><a href="/define.php?term=Improdiblass" class="urbantip">Improdiblass</a></li><li><a href="/define.php?term=improgae" class="urbantip">improgae</a></li><li><a href="/define.php?term=impromperaneous" class="urbantip">impromperaneous</a></li><li><a href="/define.php?term=Imprompoo" class="urbantip">Imprompoo</a></li><li><a href="/define.php?term=Impromptitude" class="urbantip">Impromptitude</a></li><li class="active">impromptu</li><li><a href="/define.php?term=Impromptu%20Ding%20Dong" class="urbantip">Impromptu Ding Dong</a></li><li><a href="/define.php?term=impromptu%20peanutbutter%20sandwich" class="urbantip">impromptu peanutbutter sandwich</a></li><li><a href="/define.php?term=Impromptu%20Protein%20Party" class="urbantip">Impromptu Protein Party</a></li><li><a href="/define.php?term=impromtu" class="urbantip">impromtu</a></li><li><a href="/define.php?term=impronathon" class="urbantip">impronathon</a></li><li><a href="/define.php?term=improovisation" class="urbantip">improovisation</a></li><li><a href="/define.php?term=impropaganda" class="urbantip">impropaganda</a></li><li><a href="/define.php?term=Improper%20bo%20I%20don%E2%80%99t%20tell%20thou" class="urbantip">Improper bo I don’t tell thou</a></li><li><a href="/define.php?term=improper%20dumpling" class="urbantip">improper dumpling</a></li><li><a href="/define.php?term=improper%20fraction" class="urbantip">improper fraction</a></li><li><a href="/define.php?term=Improperganda" class="urbantip">Improperganda</a></li><li><a href="/define.php?term=impropertuity" class="urbantip">impropertuity</a></li><li><a href="/define.php?term=improprietous" class="urbantip">improprietous</a></li><li><a href="/define.php?term=improps" class="urbantip">improps</a></li><li><a href="/define.php?term=Improstable" class="urbantip">Improstable</a></li><li><a href="/define.php?term=Improta%20Bush" class="urbantip">Improta Bush</a></li><li><a href="/define.php?term=improtantly" class="urbantip">improtantly</a></li><li><a href="/define.php?term=improtivation" class="urbantip">improtivation</a></li><li><a href="/define.php?term=improv" class="urbantip">improv</a></li><li><a href="/define.php?term=Improv%20Everywhere" class="urbantip">Improv Everywhere</a></li><li><a href="/define.php?term=improvasationalist" class="urbantip">improvasationalist</a></li><li><a href="/define.php?term=improveder" class="urbantip">improveder</a></li><li><a href="/define.php?term=improveise" class="urbantip">improveise</a></li><li><a href="/define.php?term=improver" class="urbantip">improver</a></li><li><a href="/define.php?term=improverished" class="urbantip">improverished</a></li>
89
- </ul>
90
- <script type='text/javascript'>
91
- //<![CDATA[
92
- window.onDomLoaded = window.onDomLoaded || [];
93
- window.onDomLoaded.push(function() {
94
- window.nearby = new Nearby(new NearbyView(), "Imprimplicate", "improverished");
95
- });
96
- //]]>
97
- </script>
98
-
99
- <div class='prev_next_buttons'>
100
- <a href="#" id="prev_titles_bottom" onclick="nearby.go('prev'); return false;" onmouseout="$(this).down().src = &quot;http://static0.urbandictionary.com/images/uparrow.gif?1314062439&quot;" onmouseover="$(this).down().src = &quot;http://static3.urbandictionary.com/images/uparrow_dark.gif?1314062439&quot;"><img src="http://static0.urbandictionary.com/images/uparrow.gif?1314062439" /></a>
101
- <a href="#" id="next_titles_bottom" onclick="nearby.go('next'); return false;" onmouseout="$(this).down().src = &quot;http://static3.urbandictionary.com/images/downarrow.gif?1314062439&quot;" onmouseover="$(this).down().src = &quot;http://static2.urbandictionary.com/images/downarrow_dark.gif?1314062439&quot;"><img src="http://static3.urbandictionary.com/images/downarrow.gif?1314062439" /></a>
102
- </div>
103
-
104
- </td>
105
- <td>
106
- <div id='content'><!-- google_ad_section_start --><style>
107
- .related_words { padding: 9px; border: 1px solid #F9C365; margin-bottom: 12px; }
108
- </style>
109
- <div class='related_words text'>
110
- <span id='tags'>
111
- <b>
112
- thesaurus for
113
- <a href="/thesaurus.php?term=impromptu">impromptu</a>:
114
- </b>
115
- <br />
116
-
117
- <a href="/define.php?term=speech" class="urbantip">speech</a>
118
-
119
- <a href="/define.php?term=bitch" class="urbantip">bitch</a>
120
-
121
- <a href="/define.php?term=ad-lib" class="urbantip">ad-lib</a>
122
-
123
- <a href="/define.php?term=extemporaneous" class="urbantip">extemporaneous</a>
124
-
125
- <a href="/define.php?term=party" class="urbantip">party</a>
126
- <a href="/thesaurus.php?term=impromptu">more...</a>
127
- </span>
128
- </div>
129
-
130
- <table id='entries'>
131
- <tr>
132
- <td class='index'>
133
- <a href="http://impromptu.urbanup.com/266132">1.</a>
134
- </td>
135
- <td class='word'>
136
- impromptu
137
- </td>
138
- <td class='tools' id='tools_266132'>
139
- <span class='status'></span>
140
- <span class='thumbs'></span>
141
- </td>
142
- </tr>
143
- <tr>
144
- <td></td>
145
- <td class='text' colspan='2' id='entry_266132'>
146
- <div class="definition">Something that is made up on the spot and given little time to gather and present. Usually referring to speeches that are given only a few minutes to prepare for. </div><div class="example">I had to write an impromptu speech about Anal Cancer in 3 minutes without using the word 'ass' 'anus' 'shit' or 'hair'.</div>
147
- <div class="zazzle_links"><a href="/products.php?term=impromptu&amp;defid=266132"><span class="zazzle_link_text">buy impromptu mugs & shirts</span></a></div>
148
- <div class='greenery'>
149
- by <a href="/author.php?author=Bastardized+Bottomburp" class="author urbantip">Bastardized Bottomburp</a>
150
- <span class='date'>
151
- Sep 26, 2003
152
- </span>
153
- <a href="#" id="share_this_266132" onclick="emailer.toggle($(&quot;share_this_266132&quot;), &quot;http://impromptu.urbanup.com/266132&quot;, &quot;Entry&quot;, 266132, &quot;http://twitter.com/share?text=impromptu%20-%20Something%20that%20is%20made%20up%20on%20the%20spot%20and%20given%20little%20time%20to%20gather%20and%20present.%20U...\u0026url=http%3A%2F%2Furbanup.com%2F266132\u0026via=urbandictionary&quot;); return false;">share this</a>
154
- <a href="/video.php?defid=266132&amp;word=impromptu">add a video</a>
155
- </div>
156
- </td>
157
- </tr>
158
-
159
- <tr>
160
- <td class='index'>
161
- <a href="http://impromptu.urbanup.com/313210">2.</a>
162
- </td>
163
- <td class='word'>
164
- impromptu
165
- </td>
166
- <td class='tools' id='tools_313210'>
167
- <span class='status'></span>
168
- <span class='thumbs'></span>
169
- </td>
170
- </tr>
171
- <tr>
172
- <td></td>
173
- <td class='text' colspan='2' id='entry_313210'>
174
- <div class="definition">On the spot</div><div class="example">When my chik walked in on me with my mistress, I had to make up an impromptu excuse for why my purple headed yogurt slinger was in her tuna taco.</div>
175
- <div class="zazzle_links"><a href="/products.php?term=impromptu&amp;defid=313210"><span class="zazzle_link_text">buy impromptu mugs & shirts</span></a></div>
176
- <div class='greenery'>
177
- by <a href="/author.php?author=Vigilante+DB" class="author urbantip">Vigilante DB</a>
178
- <span class='date'>
179
- Oct 25, 2003
180
- </span>
181
- <a href="#" id="share_this_313210" onclick="emailer.toggle($(&quot;share_this_313210&quot;), &quot;http://impromptu.urbanup.com/313210&quot;, &quot;Entry&quot;, 313210, &quot;http://twitter.com/share?text=impromptu%20-%20On%20the%20spot\u0026url=http%3A%2F%2Furbanup.com%2F313210\u0026via=urbandictionary&quot;); return false;">share this</a>
182
- <a href="/video.php?defid=313210&amp;word=impromptu">add a video</a>
183
- </div>
184
- </td>
185
- </tr>
186
-
187
- <tr>
188
- <td class='index'>
189
- <a href="http://impromptu.urbanup.com/263663">3.</a>
190
- </td>
191
- <td class='word'>
192
- impromptu
193
- </td>
194
- <td class='tools' id='tools_263663'>
195
- <span class='status'></span>
196
- <span class='thumbs'></span>
197
- </td>
198
- </tr>
199
- <tr>
200
- <td></td>
201
- <td class='text' colspan='2' id='entry_263663'>
202
- <div class="definition">Something that is made up on the spot. Can also mean a speech that was made with little or no preparation.</div><div class="example">The drug dealer had to come up with an impromptu excuse to his boss for losing the shipment of crack to the police.</div>
203
- <div class="zazzle_links"><a href="/products.php?term=impromptu&amp;defid=263663"><span class="zazzle_link_text">buy impromptu mugs & shirts</span></a></div>
204
- <div class='greenery'>
205
- by <a href="/author.php?author=AYB" class="author urbantip">AYB</a>
206
- <span class='date'>
207
- Sep 24, 2003
208
- </span>
209
- <a href="#" id="share_this_263663" onclick="emailer.toggle($(&quot;share_this_263663&quot;), &quot;http://impromptu.urbanup.com/263663&quot;, &quot;Entry&quot;, 263663, &quot;http://twitter.com/share?text=impromptu%20-%20Something%20that%20is%20made%20up%20on%20the%20spot.%20Can%20also%20mean%20a%20speech%20that%20was%20made%20with%20lit...\u0026url=http%3A%2F%2Furbanup.com%2F263663\u0026via=urbandictionary&quot;); return false;">share this</a>
210
- <a href="/video.php?defid=263663&amp;word=impromptu">add a video</a>
211
- </div>
212
- </td>
213
- </tr>
214
-
215
- <tr>
216
- <td colspan='3' style='padding: 10px 0 30px 0'>
217
- <div style='width: 300px; margin: 0 auto'>
218
- <script type="text/javascript">
219
- //<![CDATA[
220
- var googletag = googletag || {};
221
- googletag.cmd = googletag.cmd || [];
222
- googletag.cmd.push(function() {
223
- googletag.defineUnit('/1031683/ca-pub-4733233155277872/HP_ATF_300x250', [300, 250], 'dfp_homepage_medium_rectangle').addService(googletag.pubads());
224
- googletag.defineUnit('/1031683/ca-pub-4733233155277872/HP_BTF_300x250', [300, 250], 'dfp_homepage_medium_rectangle_below').addService(googletag.pubads());
225
- googletag.defineUnit('/1031683/ca-pub-4733233155277872/ROS_BTF_728x90', [728, 90], 'dfp_every_page_leaderboard').addService(googletag.pubads());
226
- googletag.defineUnit('/1031683/ca-pub-4733233155277872/ROS_Right_160x60', [160, 600], 'dfp_skyscraper').addService(googletag.pubads());
227
- googletag.defineUnit('/1031683/ca-pub-4733233155277872/Define_300x250', [300, 250], 'dfp_define_rectangle').addService(googletag.pubads());
228
- googletag.defineUnit('/1031683/ca-pub-4733233155277872/ROS_500x250', [475, 250], 'dfp_define_double_rectangle').addService(googletag.pubads());
229
-
230
- googletag.pubads().set("alternate_ad_url", "http://www.urbandictionary.com/google_alternate_ad.html");
231
- googletag.pubads().setTargeting("safe_word", "false");
232
-
233
- googletag.pubads().enableSingleRequest();
234
- googletag.enableServices();
235
- });
236
-
237
- (function() {
238
- var gads = document.createElement('script');
239
- gads.async = true;
240
- gads.type = 'text/javascript';
241
- gads.src = "http://www.googletagservices.com/tag/js/gpt.js";
242
- var node = document.getElementsByTagName('script')[0];
243
- node.parentNode.insertBefore(gads, node);
244
- })();
245
-
246
- //]]>
247
- </script><div id="dfp_define_rectangle" style="width: 300px; height: 250px"><script type="text/javascript">
248
- //<![CDATA[
249
- googletag.cmd.push(function() { googletag.display('dfp_define_rectangle'); });
250
- //]]>
251
- </script></div>
252
- </div>
253
- </td>
254
- </tr>
255
-
256
- </table>
257
- <div id='paginator'>
258
-
259
- </div>
260
- <!-- google_ad_section_end --><div id='email_pane' style='display: none'>
261
- <form action='javascript:void(0)' onsubmit='emailer.sendEmail(); return false'>
262
- <table cellpadding='0' cellspacing='0'>
263
- <tr>
264
- <th>
265
- <label for='permalink'>permalink:</label>
266
- </th>
267
- <td>
268
- <input id='permalink' name='permalink' onclick='this.focus(); this.select()' type='text' />
269
- <input id='shared_id' name='share[shared_id]' type='hidden' />
270
- <input id='shared_type' name='share[shared_type]' type='hidden' value='Entry' />
271
- </td>
272
- </tr>
273
- <tr>
274
- <td></td>
275
- <td>
276
- Share on
277
- <span id='share_links'></span>
278
- </td>
279
- </tr>
280
- <tr id='sendtoafriend'>
281
- <td></td>
282
- <td>
283
- <label for='yours'>Send to a friend</label>
284
- </td>
285
- </tr>
286
- <tr>
287
- <th>
288
- <label for='yours'>your email:</label>
289
- </th>
290
- <td>
291
- <input id='yours' name='share[yours]' type='text' />
292
- </td>
293
- </tr>
294
- <tr>
295
- <th>
296
- <label for='theirs'>their email:</label>
297
- </th>
298
- <td>
299
- <input id='theirs' name='share[theirs]' type='text' />
300
- </td>
301
- </tr>
302
- <tr>
303
- <th>
304
- <label for='comment'>comment:</label>
305
- </th>
306
- <td>
307
- <textarea id="comment" name="share[comment]" rows="3"></textarea>
308
- </td>
309
- </tr>
310
- <tr>
311
- <td></td>
312
- <td>
313
- <input id='subscribe' name='subscribe' type='checkbox' />
314
- <label for='subscribe'> send me the word of the day (it's free)</label>
315
- </td>
316
- </tr>
317
- <tr id='submit'>
318
- <td></td>
319
- <td>
320
- <table>
321
- <tr>
322
- <td>
323
- <input type='submit' value='Send message' />
324
- </td>
325
- <td id='status'></td>
326
- </tr>
327
- </table>
328
- </td>
329
- </tr>
330
- </table>
331
- </form>
332
- </div>
333
-
334
- </div>
335
- </td>
336
- <td id='rightist'>
337
- <div id="dfp_skyscraper" style="width: 160px; height: 600px"><script type="text/javascript">
338
- //<![CDATA[
339
- googletag.cmd.push(function() { googletag.display('dfp_skyscraper'); });
340
- //]]>
341
- </script></div>
342
- </td>
343
- </tr>
344
- </table>
345
-
346
- <div id='bottomad'>
347
- <div id="dfp_every_page_leaderboard" style="width: 728px; height: 90px; margin: 0 auto"><script type="text/javascript">
348
- //<![CDATA[
349
- googletag.cmd.push(function() { googletag.display('dfp_every_page_leaderboard'); });
350
- //]]>
351
- </script></div>
352
- </div>
353
- </div>
354
- <div id='copyright'>
355
- <a href="/">Urban Dictionary</a>
356
- <span id='years'>
357
- &copy;1999-2011
358
- </span>
359
- <a href='/tos.php'>terms of service</a>
360
- <a href='/privacy.php'>privacy</a>
361
- <a href='/feedback.php'>feedback</a>
362
- <a href='/editor/remove.php'>remove</a>
363
- <a href='/ads.php'>advertise</a>
364
- <a href='/poweredby.php'>technology</a>
365
- <a href='http://jobs.urbandictionary.com/'>jobs</a>
366
- <a href="/live_support.php" id="live_support" onclick="popAndFocus(&quot;/live_support.php&quot;, &quot;live support&quot;); return false;" style="display: none">live support</a>
367
- </div>
368
-
369
- <table class='offsite'>
370
- <tr>
371
- <td>
372
- <table class='facebook'>
373
- <tr>
374
- <td>
375
- <a href="http://feeds.urbandictionary.com/UrbanWordOfTheDay" onclick="urchinTracker(&quot;/outgoing/http_feeds_urbandictionary_com_UrbanWordOfTheDay&quot;)"><div class="rss_image"></div></a>
376
- </td>
377
- <td>
378
- <a href="http://feeds.urbandictionary.com/UrbanWordOfTheDay" onclick="urchinTracker(&quot;/outgoing/http_feeds_urbandictionary_com_UrbanWordOfTheDay&quot;)">add via <b>rss</b></a>
379
- <br />
380
- <a href="http://www.google.com/calendar/render?cid=http%3A%2F%2Fwww.urbandictionary.com%2Fdaily.ics" onclick="urchinTracker(&quot;/outgoing/http_www_google_com_calendar_render_cid_http_A_F_Fwww_urbandictionary_com_Fdaily_ics&quot;)">or <b>google calendar</b></a>
381
- </td>
382
- </tr>
383
- </table>
384
- </td>
385
- <td>
386
- <table class='facebook'>
387
- <tr>
388
- <td>
389
- <a href="http://www.facebook.com/profile.php?id=6295613171" onclick="urchinTracker(&quot;/outgoing/http_www_facebook_com_profile_php_id&quot;)"><div class="facebook_image"></div></a>
390
- </td>
391
- <td>
392
- <a href="http://www.facebook.com/profile.php?id=6295613171" onclick="urchinTracker(&quot;/outgoing/http_www_facebook_com_profile_php_id&quot;)">add <b>urban dictionary</b><br/>on <b>facebook</b></a>
393
- </td>
394
- </tr>
395
- </table>
396
- </td>
397
- <td>
398
- <table class='facebook'>
399
- <tr>
400
- <td>
401
- <div class='iphone_image'></div>
402
- </td>
403
- <td>
404
- search ud
405
- <br />
406
- <a href="http://iphone.urbandictionary.com/" onclick="urchinTracker(&quot;/outgoing/http_iphone_urbandictionary_com&quot;)">from your <b>phone</b></a>
407
- <br />
408
- <a href="/sms.php" onclick="urchinTracker(&quot;/outgoing/sms_php&quot;)">or via <b>txt</b></a>
409
- </td>
410
- </tr>
411
- </table>
412
- </td>
413
- <td>
414
- <table class='facebook'>
415
- <tr>
416
- <td>
417
- <a href="http://twitter.com/urbandaily/" onclick="urchinTracker(&quot;/outgoing/http_twitter_com_urbandaily&quot;)"><div class="twitter_image"></div></a>
418
- </td>
419
- <td>
420
- <a href="http://twitter.com/urbandaily/" onclick="urchinTracker(&quot;/outgoing/http_twitter_com_urbandaily&quot;)"><b>follow urbandaily</b><br/>on twitter</a>
421
- </td>
422
- </tr>
423
- </table>
424
- </td>
425
- </tr>
426
- </table>
427
-
428
- </div>
429
- <script src="http://static2.urbandictionary.com/assets/base.js?1314062438" type="text/javascript"></script>
430
- <script type='text/javascript'>
431
- //<![CDATA[
432
- var host_env = new HostEnv(document.location.hostname);
433
- Uncacheable.instance.load([266132,313210,263663], host_env.uncacheableUrl());
434
- //]]>
435
- </script>
436
-
437
-
438
-
439
- <script type="text/javascript">
440
-
441
- var _gaq = _gaq || [];
442
- _gaq.push(['_setAccount', "UA-31805-1"]);
443
- _gaq.push(['_trackPageview']);
444
-
445
- (function() {
446
- var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
447
- ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
448
- var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
449
- })();
450
-
451
- </script>
452
-
453
- <!-- Start Quantcast tag -->
454
- <script type="text/javascript" src="http://edge.quantserve.com/quant.js"></script>
455
- <script type="text/javascript">
456
- _qacct="p-77H27_lnOeCCI";quantserve();</script>
457
- <noscript>
458
- <img src="http://pixel.quantserve.com/pixel/p-77H27_lnOeCCI.gif" style="display: none" height="1" width="1" alt=""/></noscript>
459
- <!-- End Quantcast tag -->
460
-
461
-
462
- <script type="text/javascript" charset="utf-8">NREUMQ.push(["nrf2","beacon-1.newrelic.com","77b5945d2d",131063,"cFoIQEcMXQ5TSh4FB1VcCFEaCl8GU0A=",1,41])</script></body>
463
- </html>