hugeurl 0.0.7 → 0.0.8

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: b4ebb3a4ec6a291dda7afbcf1d79273451c01d32
4
+ data.tar.gz: 3ccc0181dde61a6769eecbc994e103372118c38d
5
+ SHA512:
6
+ metadata.gz: c7efc675812ded6b12745fcb046f9ff2728cd3f908dd63237f9b6fcfc199c9dca6ec32daeef93576c3d8d6c275b6ad91bae6690efa06b286496c24d1c4df0f31
7
+ data.tar.gz: 4e7939d1e3913d2d4008a7864a0139a655aead0aadeea04c651f224a0295bb861b5ec5844ed0a416cddf8118c0570a259368a2bc61163203337ec31783f7a7c7
@@ -0,0 +1,21 @@
1
+ .DS_Store
2
+ *~
3
+ *#*
4
+ .ruby-version
5
+ *.gem
6
+ *.rbc
7
+ .bundle
8
+ .config
9
+ .yardoc
10
+ Gemfile.lock
11
+ InstalledFiles
12
+ _yardoc
13
+ coverage
14
+ doc/
15
+ lib/bundler/man
16
+ pkg
17
+ rdoc
18
+ spec/reports
19
+ test/tmp
20
+ test/version_tmp
21
+ tmp
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Specify your gem's dependencies in hugeurl.gemspec
4
+ gemspec
@@ -1,3 +1,7 @@
1
+ === 0.0.8 2013-04-06
2
+
3
+ * use bundler gem template
4
+
1
5
  === 0.0.7 2012-09-13
2
6
 
3
7
  * expand nested short url
@@ -0,0 +1,22 @@
1
+ Copyright (c) 2010-2013 Sho Hashimoto
2
+
3
+ MIT License
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining
6
+ a copy of this software and associated documentation files (the
7
+ "Software"), to deal in the Software without restriction, including
8
+ without limitation the rights to use, copy, modify, merge, publish,
9
+ distribute, sublicense, and/or sell copies of the Software, and to
10
+ permit persons to whom the Software is furnished to do so, subject to
11
+ the following conditions:
12
+
13
+ The above copyright notice and this permission notice shall be
14
+ included in all copies or substantial portions of the Software.
15
+
16
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -0,0 +1,47 @@
1
+ hugeurl
2
+ =======
3
+ expand tinyurl, bit.ly, t.co and more.
4
+
5
+ * https://github.com/shokai/hugeurl
6
+
7
+
8
+ Installation
9
+ ------------
10
+
11
+ % gem install hugeurl
12
+
13
+
14
+ Usage
15
+ -----
16
+
17
+ ```ruby
18
+ require 'rubygems'
19
+ require 'hugeurl'
20
+ puts URI.parse("http://bit.ly/d4VYD2").to_huge # => get expanded URI instance
21
+ ```
22
+
23
+ ### hugeurl command
24
+
25
+ % hugeurl http://bit.ly/d4VYD2
26
+
27
+ or
28
+
29
+ % cat url_list.txt | hugeurl
30
+
31
+
32
+ Test
33
+ ----
34
+
35
+ % gem install bundler
36
+ % bundle install
37
+ % rake test
38
+
39
+
40
+ Contributing
41
+ ------------
42
+
43
+ 1. Fork it
44
+ 2. Create your feature branch (`git checkout -b my-new-feature`)
45
+ 3. Commit your changes (`git commit -am 'Add some feature'`)
46
+ 4. Push to the branch (`git push origin my-new-feature`)
47
+ 5. Create new Pull Request
data/Rakefile CHANGED
@@ -1,25 +1,8 @@
1
- require 'rubygems'
2
- gem 'hoe', '>= 2.1.0'
3
- require 'hoe'
4
- require 'fileutils'
5
- require './lib/hugeurl'
6
-
7
- Hoe.plugin :newgem
8
- # Hoe.plugin :website
9
- # Hoe.plugin :cucumberfeatures
10
-
11
- # Generate all the Rake tasks
12
- # Run 'rake -T' to see list of generated tasks (from gem root directory)
13
- $hoe = Hoe.spec 'hugeurl' do
14
- self.developer 'Sho Hashimoto', 'hashimoto@shokai.org'
15
- self.rubyforge_name = self.name # TODO this is default value
16
- # self.extra_deps = [['activesupport','>= 2.0.2']]
1
+ require "bundler/gem_tasks"
2
+ require "rake/testtask"
17
3
 
4
+ Rake::TestTask.new do |t|
5
+ t.pattern = "test/test_*.rb"
18
6
  end
19
7
 
20
- require 'newgem/tasks'
21
- Dir['tasks/**/*.rake'].each { |t| load t }
22
-
23
- # TODO - want other tests/tasks run by default? Add them to the list
24
- # remove_task :default
25
- # task :default => [:spec, :features]
8
+ task :default => :test
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env ruby
2
+ $:.unshift File.expand_path '../lib', File.dirname(__FILE__)
2
3
  require 'rubygems'
3
4
  require 'hugeurl'
4
- #require File.expand_path '../lib/hugeurl', File.dirname(__FILE__)
5
5
 
6
6
  unless ARGV.empty?
7
7
  puts URI.parse(ARGV.shift).to_huge
@@ -0,0 +1,24 @@
1
+ # coding: utf-8
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require 'hugeurl/version'
5
+
6
+ Gem::Specification.new do |spec|
7
+ spec.name = "hugeurl"
8
+ spec.version = Hugeurl::VERSION
9
+ spec.authors = ["Sho Hashimoto"]
10
+ spec.email = ["hashimoto@shokai.org"]
11
+ spec.description = %q{expand tinyurl, bit.ly, t.co and more.}
12
+ spec.summary = spec.description
13
+ spec.homepage = "https://github.com/shokai/hugeurl"
14
+ spec.license = "MIT"
15
+
16
+ spec.files = `git ls-files`.split($/).reject{|i| i == "Gemfile.lock" }
17
+ spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
18
+ spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
+ spec.require_paths = ["lib"]
20
+
21
+ spec.add_development_dependency "bundler", "~> 1.3"
22
+ spec.add_development_dependency "rake"
23
+ spec.add_development_dependency "minitest"
24
+ end
@@ -1,35 +1,10 @@
1
- require 'rubygems'
2
- require 'uri'
3
- require 'net/http'
4
- require 'net/https'
1
+ require "uri"
2
+ require "net/http"
3
+ require "net/https"
5
4
 
6
- module Hugeurl
7
- VERSION = '0.0.7'
8
- def self.get(uri)
9
- uri = URI.parse uri unless uri.class.to_s =~ /^URI::/
10
- loop do
11
- res = self.get_redirect_to uri
12
- return res if res.to_s == uri.to_s
13
- uri = res
14
- end
15
- end
16
-
17
- private
18
- def self.get_redirect_to(uri)
19
- if uri.class == URI::HTTPS
20
- http = Net::HTTP.new(uri.host, 443)
21
- http.use_ssl = true
22
- else
23
- http = Net::HTTP.new(uri.host, uri.port)
24
- end
25
- res = http.request(Net::HTTP::Head.new uri.request_uri)
26
- return uri unless res['location']
27
- URI.parse res['location'] rescue return uri
28
- end
29
- end
5
+ require "hugeurl/version"
6
+ require "hugeurl/main"
7
+ require "hugeurl/uri"
30
8
 
31
- class URI::HTTP
32
- def to_huge
33
- Hugeurl.get(self)
34
- end
9
+ module Hugeurl
35
10
  end
@@ -0,0 +1,26 @@
1
+ module Hugeurl
2
+
3
+ public
4
+ def self.get(uri)
5
+ uri = URI.parse uri unless uri.class.to_s =~ /^URI::/
6
+ loop do
7
+ res = self.get_redirect_to uri
8
+ return res if res.to_s == uri.to_s
9
+ uri = res
10
+ end
11
+ end
12
+
13
+ private
14
+ def self.get_redirect_to(uri)
15
+ if uri.class == URI::HTTPS
16
+ http = Net::HTTP.new(uri.host, 443)
17
+ http.use_ssl = true
18
+ else
19
+ http = Net::HTTP.new(uri.host, uri.port)
20
+ end
21
+ res = http.request(Net::HTTP::Head.new uri.request_uri)
22
+ return uri unless res['location']
23
+ URI.parse res['location'] rescue return uri
24
+ end
25
+
26
+ end
@@ -0,0 +1,5 @@
1
+ class URI::HTTP
2
+ def to_huge
3
+ Hugeurl.get(self)
4
+ end
5
+ end
@@ -0,0 +1,3 @@
1
+ module Hugeurl
2
+ VERSION = "0.0.8"
3
+ end
@@ -1,6 +1,5 @@
1
1
  #!/usr/bin/env ruby
2
2
  $:.unshift File.expand_path '../lib', File.dirname(__FILE__)
3
-
4
3
  require 'rubygems'
5
4
  require 'hugeurl'
6
5
 
@@ -1,3 +1,5 @@
1
- require 'stringio'
2
- require 'test/unit'
3
- require File.expand_path '../lib/hugeurl', File.dirname(__FILE__)
1
+ require 'rubygems'
2
+ require 'minitest/autorun'
3
+
4
+ $:.unshift File.expand_path '../lib', File.dirname(__FILE__)
5
+ require 'hugeurl'
@@ -1,6 +1,6 @@
1
- require File.dirname(__FILE__) + '/test_helper.rb'
1
+ require File.expand_path 'test_helper', File.dirname(__FILE__)
2
2
 
3
- class TestHugeurl < Test::Unit::TestCase
3
+ class TestHugeurl < MiniTest::Unit::TestCase
4
4
 
5
5
  def setup
6
6
  @source = "http://shokai.org"
metadata CHANGED
@@ -1,113 +1,106 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hugeurl
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.7
5
- prerelease:
4
+ version: 0.0.8
6
5
  platform: ruby
7
6
  authors:
8
7
  - Sho Hashimoto
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2012-09-12 00:00:00.000000000 Z
11
+ date: 2013-04-06 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
- name: rdoc
14
+ name: bundler
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
17
  - - ~>
20
18
  - !ruby/object:Gem::Version
21
- version: '3.10'
19
+ version: '1.3'
22
20
  type: :development
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
24
  - - ~>
28
25
  - !ruby/object:Gem::Version
29
- version: '3.10'
26
+ version: '1.3'
30
27
  - !ruby/object:Gem::Dependency
31
- name: newgem
28
+ name: rake
32
29
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
30
  requirements:
35
- - - ! '>='
31
+ - - '>='
36
32
  - !ruby/object:Gem::Version
37
- version: 1.5.3
33
+ version: '0'
38
34
  type: :development
39
35
  prerelease: false
40
36
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
37
  requirements:
43
- - - ! '>='
38
+ - - '>='
44
39
  - !ruby/object:Gem::Version
45
- version: 1.5.3
40
+ version: '0'
46
41
  - !ruby/object:Gem::Dependency
47
- name: hoe
42
+ name: minitest
48
43
  requirement: !ruby/object:Gem::Requirement
49
- none: false
50
44
  requirements:
51
- - - ~>
45
+ - - '>='
52
46
  - !ruby/object:Gem::Version
53
- version: '3.0'
47
+ version: '0'
54
48
  type: :development
55
49
  prerelease: false
56
50
  version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
51
  requirements:
59
- - - ~>
52
+ - - '>='
60
53
  - !ruby/object:Gem::Version
61
- version: '3.0'
54
+ version: '0'
62
55
  description: expand tinyurl, bit.ly, t.co and more.
63
56
  email:
64
57
  - hashimoto@shokai.org
65
58
  executables:
66
59
  - hugeurl
67
60
  extensions: []
68
- extra_rdoc_files:
69
- - History.txt
70
- - Manifest.txt
71
- - README.rdoc
61
+ extra_rdoc_files: []
72
62
  files:
63
+ - .gitignore
64
+ - Gemfile
73
65
  - History.txt
74
- - Manifest.txt
75
- - README.rdoc
66
+ - LICENSE.txt
67
+ - README.md
76
68
  - Rakefile
69
+ - bin/hugeurl
70
+ - hugeurl.gemspec
77
71
  - lib/hugeurl.rb
72
+ - lib/hugeurl/main.rb
73
+ - lib/hugeurl/uri.rb
74
+ - lib/hugeurl/version.rb
75
+ - samples/sample.rb
78
76
  - script/console
79
77
  - script/destroy
80
78
  - script/generate
81
- - examples/example.rb
82
79
  - test/test_helper.rb
83
80
  - test/test_hugeurl.rb
84
- - bin/hugeurl
85
- - .gemtest
86
- homepage: http://github.com/shokai/hugeurl
87
- licenses: []
81
+ homepage: https://github.com/shokai/hugeurl
82
+ licenses:
83
+ - MIT
84
+ metadata: {}
88
85
  post_install_message:
89
- rdoc_options:
90
- - --main
91
- - README.rdoc
86
+ rdoc_options: []
92
87
  require_paths:
93
88
  - lib
94
89
  required_ruby_version: !ruby/object:Gem::Requirement
95
- none: false
96
90
  requirements:
97
- - - ! '>='
91
+ - - '>='
98
92
  - !ruby/object:Gem::Version
99
93
  version: '0'
100
94
  required_rubygems_version: !ruby/object:Gem::Requirement
101
- none: false
102
95
  requirements:
103
- - - ! '>='
96
+ - - '>='
104
97
  - !ruby/object:Gem::Version
105
98
  version: '0'
106
99
  requirements: []
107
- rubyforge_project: hugeurl
108
- rubygems_version: 1.8.24
100
+ rubyforge_project:
101
+ rubygems_version: 2.0.3
109
102
  signing_key:
110
- specification_version: 3
103
+ specification_version: 4
111
104
  summary: expand tinyurl, bit.ly, t.co and more.
112
105
  test_files:
113
106
  - test/test_helper.rb
data/.gemtest DELETED
File without changes
@@ -1,12 +0,0 @@
1
- History.txt
2
- Manifest.txt
3
- README.rdoc
4
- Rakefile
5
- lib/hugeurl.rb
6
- script/console
7
- script/destroy
8
- script/generate
9
- examples/example.rb
10
- test/test_helper.rb
11
- test/test_hugeurl.rb
12
- bin/hugeurl
@@ -1,57 +0,0 @@
1
- = hugeurl
2
-
3
- * http://github.com/shokai/hugeurl
4
-
5
- == DESCRIPTION:
6
-
7
- expand tinyurl, bit.ly, t.co and more.
8
-
9
-
10
- == SYNOPSIS:
11
-
12
- require 'rubygems'
13
- require 'hugeurl'
14
- puts URI.parse("http://bit.ly/d4VYD2").to_huge # get expanded URI instance
15
-
16
-
17
- == Hugeurl command
18
-
19
- % hugeurl http://bit.ly/d4VYD2
20
-
21
- or
22
-
23
- % cat foo.txt | hugeurl
24
-
25
-
26
- == REQUIREMENTS:
27
-
28
- * Ruby 1.8+
29
-
30
- == INSTALL:
31
-
32
- * gem install hugeurl
33
-
34
- == LICENSE:
35
-
36
- (The MIT License)
37
-
38
- Copyright (c) 2010 Sho Hashimoto
39
-
40
- Permission is hereby granted, free of charge, to any person obtaining
41
- a copy of this software and associated documentation files (the
42
- 'Software'), to deal in the Software without restriction, including
43
- without limitation the rights to use, copy, modify, merge, publish,
44
- distribute, sublicense, and/or sell copies of the Software, and to
45
- permit persons to whom the Software is furnished to do so, subject to
46
- the following conditions:
47
-
48
- The above copyright notice and this permission notice shall be
49
- included in all copies or substantial portions of the Software.
50
-
51
- THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
52
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
53
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
54
- IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
55
- CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
56
- TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
57
- SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.