urban 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,17 @@
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/*
data/.rvmrc ADDED
@@ -0,0 +1 @@
1
+ rvm --create use "ruby-1.9.2-p180@urban"
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source "http://rubygems.org"
2
+
3
+ # Specify your gem's dependencies in urban.gemspec
4
+ gemspec
data/README ADDED
@@ -0,0 +1,2 @@
1
+ Known words with bad markup for testing
2
+ http://www.urbandictionary.com/define.php?term=minal
@@ -0,0 +1 @@
1
+ require 'bundler/gem_tasks'
@@ -0,0 +1,6 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'urban/version'
4
+ require 'urban'
5
+
6
+ Urban.random
@@ -0,0 +1,28 @@
1
+ require "urban/version"
2
+
3
+ require 'open-uri'
4
+ require 'nokogiri'
5
+ require 'active_support/core_ext/string/inflections'
6
+
7
+ module Urban
8
+ def self.random
9
+ url = URI.encode("http://www.urbandictionary.com/random.php")
10
+ doc = Nokogiri.HTML(open(url))
11
+ word = clean_text(doc.at_css('.word')).humanize
12
+ definition = clean_text(doc.at_css('.definition')).humanize
13
+ puts "#{word}: #{definition}"
14
+ end
15
+
16
+ private
17
+ def self.clean_text(node_set)
18
+ node_set.children.each do |node|
19
+ if node.text?
20
+ node.content = node.content.strip << ' '
21
+ else
22
+ node.remove
23
+ end
24
+ end
25
+ return node_set.content.strip
26
+ end
27
+
28
+ end
@@ -0,0 +1,3 @@
1
+ module Urban
2
+ VERSION = '0.0.1'
3
+ end
@@ -0,0 +1,24 @@
1
+ # -*- encoding: utf-8 -*-
2
+ $:.push File.expand_path('../lib', __FILE__)
3
+ require 'urban/version'
4
+
5
+ Gem::Specification.new do |s|
6
+ s.name = 'urban'
7
+ s.version = Urban::VERSION
8
+ s.authors = ['Tom Miller']
9
+ s.email = ['jackerran@gmail.com']
10
+ s.homepage = ''
11
+ s.summary = %q{A scraper for Urban Dictionary}
12
+ s.description = %q{A scraper for urban dictionary. It comes with a command line tool to get random definitions from urbandictionary.com.}
13
+
14
+ s.rubyforge_project = 'urban'
15
+
16
+ s.files = `git ls-files`.split("\n")
17
+ s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
18
+ s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
19
+ s.require_paths = ['lib']
20
+
21
+ s.add_development_dependency 'nokogiri'
22
+ s.add_development_dependency 'i18n'
23
+ s.add_development_dependency 'activesupport'
24
+ end
metadata ADDED
@@ -0,0 +1,97 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: urban
3
+ version: !ruby/object:Gem::Version
4
+ prerelease:
5
+ version: 0.0.1
6
+ platform: ruby
7
+ authors:
8
+ - Tom Miller
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+
13
+ date: 2011-08-12 00:00:00 -05:00
14
+ default_executable:
15
+ dependencies:
16
+ - !ruby/object:Gem::Dependency
17
+ name: nokogiri
18
+ prerelease: false
19
+ requirement: &id001 !ruby/object:Gem::Requirement
20
+ none: false
21
+ requirements:
22
+ - - ">="
23
+ - !ruby/object:Gem::Version
24
+ version: "0"
25
+ type: :development
26
+ version_requirements: *id001
27
+ - !ruby/object:Gem::Dependency
28
+ name: i18n
29
+ prerelease: false
30
+ requirement: &id002 !ruby/object:Gem::Requirement
31
+ none: false
32
+ requirements:
33
+ - - ">="
34
+ - !ruby/object:Gem::Version
35
+ version: "0"
36
+ type: :development
37
+ version_requirements: *id002
38
+ - !ruby/object:Gem::Dependency
39
+ name: activesupport
40
+ prerelease: false
41
+ requirement: &id003 !ruby/object:Gem::Requirement
42
+ none: false
43
+ requirements:
44
+ - - ">="
45
+ - !ruby/object:Gem::Version
46
+ version: "0"
47
+ type: :development
48
+ version_requirements: *id003
49
+ description: A scraper for urban dictionary. It comes with a command line tool to get random definitions from urbandictionary.com.
50
+ email:
51
+ - jackerran@gmail.com
52
+ executables:
53
+ - urban
54
+ extensions: []
55
+
56
+ extra_rdoc_files: []
57
+
58
+ files:
59
+ - .gitignore
60
+ - .rvmrc
61
+ - Gemfile
62
+ - README
63
+ - Rakefile
64
+ - bin/urban
65
+ - lib/urban.rb
66
+ - lib/urban/version.rb
67
+ - urban.gemspec
68
+ has_rdoc: true
69
+ homepage: ""
70
+ licenses: []
71
+
72
+ post_install_message:
73
+ rdoc_options: []
74
+
75
+ require_paths:
76
+ - lib
77
+ required_ruby_version: !ruby/object:Gem::Requirement
78
+ none: false
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: "0"
83
+ required_rubygems_version: !ruby/object:Gem::Requirement
84
+ none: false
85
+ requirements:
86
+ - - ">="
87
+ - !ruby/object:Gem::Version
88
+ version: "0"
89
+ requirements: []
90
+
91
+ rubyforge_project: urban
92
+ rubygems_version: 1.6.2
93
+ signing_key:
94
+ specification_version: 3
95
+ summary: A scraper for Urban Dictionary
96
+ test_files: []
97
+