url 0.2.1 → 0.2.2
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.
- data/Rakefile +4 -38
- data/lib/url/response.rb +4 -1
- data/lib/url/version.rb +3 -0
- data/spec/json_spec.rb +7 -0
- metadata +29 -16
- data/.document +0 -5
- data/VERSION.yml +0 -5
- data/url.gemspec +0 -60
data/Rakefile
CHANGED
@@ -1,48 +1,14 @@
|
|
1
|
-
require '
|
1
|
+
require 'bundler/gem_tasks'
|
2
2
|
require 'rake'
|
3
|
-
|
4
|
-
|
5
|
-
begin
|
6
|
-
require 'jeweler'
|
7
|
-
Jeweler::Tasks.new do |gem|
|
8
|
-
gem.name = "url"
|
9
|
-
gem.summary = %Q{A URL object}
|
10
|
-
gem.description = %Q{A simple url object to allow for OO based manipulation and usage of a url}
|
11
|
-
gem.email = "me@tal.by"
|
12
|
-
gem.homepage = "http://github.com/talby/url"
|
13
|
-
gem.authors = ["Tal Atlas"]
|
14
|
-
gem.add_development_dependency "rspec", "~> 2.0"
|
15
|
-
end
|
16
|
-
Jeweler::GemcutterTasks.new
|
17
|
-
rescue LoadError
|
18
|
-
puts "Jeweler (or a dependency) not available. Install it with: gem install jeweler"
|
19
|
-
end
|
20
|
-
|
21
|
-
require 'rspec/core/rake_task'
|
22
|
-
RSpec::Core::RakeTask.new do |t|
|
23
|
-
t.rspec_opts = ["-c", "-f progress", "-r ./spec/spec_helper.rb"]
|
24
|
-
t.pattern = 'spec/**/*_spec.rb'
|
25
|
-
end
|
26
|
-
|
27
|
-
task :spec => :check_dependencies
|
28
|
-
|
29
|
-
task :default => :spec
|
30
|
-
|
31
|
-
require 'rake/rdoctask'
|
32
|
-
Rake::RDocTask.new do |rdoc|
|
33
|
-
version = File.exist?('VERSION') ? File.read('VERSION') : ""
|
34
|
-
|
35
|
-
rdoc.rdoc_dir = 'rdoc'
|
36
|
-
rdoc.title = "url #{version}"
|
37
|
-
rdoc.rdoc_files.include('README*')
|
38
|
-
rdoc.rdoc_files.include('lib/**/*.rb')
|
3
|
+
if !defined?(sh) && defined?(Rake::DSL)
|
4
|
+
include Rake::DSL
|
39
5
|
end
|
40
6
|
|
41
7
|
begin
|
42
8
|
require 'yard'
|
43
9
|
YARD::Rake::YardocTask.new
|
44
10
|
rescue LoadError
|
45
|
-
task :
|
11
|
+
task :yard do
|
46
12
|
abort "YARD is not available. In order to run yardoc, you must: sudo gem install yard"
|
47
13
|
end
|
48
14
|
end
|
data/lib/url/response.rb
CHANGED
@@ -49,10 +49,13 @@ class URL
|
|
49
49
|
|
50
50
|
(200..299).include?(code)
|
51
51
|
end
|
52
|
+
alias_method :successful?, :success?
|
52
53
|
|
54
|
+
# Attempt to parse the response as json
|
55
|
+
# @returns [Hash]
|
53
56
|
def json
|
54
57
|
raise StandardError, 'No JSON library initialized' unless URL.json_handler
|
55
|
-
URL.json_handler.new(self).parse
|
58
|
+
@json ||= URL.json_handler.new(self).parse
|
56
59
|
end
|
57
60
|
|
58
61
|
end
|
data/lib/url/version.rb
ADDED
data/spec/json_spec.rb
CHANGED
@@ -8,6 +8,13 @@ describe URL do
|
|
8
8
|
it "should parse json" do
|
9
9
|
subject.get.json.should be_a(Hash)
|
10
10
|
end
|
11
|
+
|
12
|
+
it "should cache the json generation" do
|
13
|
+
JSON.should_receive(:parse).once.and_return({})
|
14
|
+
resp = subject.get
|
15
|
+
resp.json
|
16
|
+
resp.json
|
17
|
+
end
|
11
18
|
end
|
12
19
|
|
13
20
|
end
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: url
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 19
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 2
|
9
|
-
-
|
10
|
-
version: 0.2.
|
9
|
+
- 2
|
10
|
+
version: 0.2.2
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Tal Atlas
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2011-
|
18
|
+
date: 2011-07-25 00:00:00 -04:00
|
19
19
|
default_executable:
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|
@@ -26,13 +26,28 @@ dependencies:
|
|
26
26
|
requirements:
|
27
27
|
- - ~>
|
28
28
|
- !ruby/object:Gem::Version
|
29
|
-
hash:
|
29
|
+
hash: 7
|
30
30
|
segments:
|
31
31
|
- 2
|
32
|
-
|
33
|
-
version: "2.0"
|
32
|
+
version: "2"
|
34
33
|
type: :development
|
35
34
|
version_requirements: *id001
|
35
|
+
- !ruby/object:Gem::Dependency
|
36
|
+
name: yard
|
37
|
+
prerelease: false
|
38
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
39
|
+
none: false
|
40
|
+
requirements:
|
41
|
+
- - ">="
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
hash: 1
|
44
|
+
segments:
|
45
|
+
- 0
|
46
|
+
- 7
|
47
|
+
- 1
|
48
|
+
version: 0.7.1
|
49
|
+
type: :development
|
50
|
+
version_requirements: *id002
|
36
51
|
description: A simple url object to allow for OO based manipulation and usage of a url
|
37
52
|
email: me@tal.by
|
38
53
|
executables: []
|
@@ -43,28 +58,26 @@ extra_rdoc_files:
|
|
43
58
|
- LICENSE
|
44
59
|
- README.rdoc
|
45
60
|
files:
|
46
|
-
- .document
|
47
|
-
- LICENSE
|
48
|
-
- README.rdoc
|
49
|
-
- Rakefile
|
50
|
-
- VERSION.yml
|
51
|
-
- lib/url.rb
|
52
61
|
- lib/url/classer.rb
|
53
|
-
- lib/url/handlers.rb
|
54
62
|
- lib/url/handlers/as_json_handler.rb
|
55
63
|
- lib/url/handlers/base_json_handler.rb
|
56
64
|
- lib/url/handlers/net_handler.rb
|
57
65
|
- lib/url/handlers/ty_handler.rb
|
58
66
|
- lib/url/handlers/yajl_handler.rb
|
67
|
+
- lib/url/handlers.rb
|
59
68
|
- lib/url/helper_classes.rb
|
60
69
|
- lib/url/response.rb
|
70
|
+
- lib/url/version.rb
|
71
|
+
- lib/url.rb
|
72
|
+
- LICENSE
|
61
73
|
- spec/classer_spec.rb
|
62
74
|
- spec/handler_spec.rb
|
63
75
|
- spec/json_spec.rb
|
64
76
|
- spec/spec.opts
|
65
77
|
- spec/spec_helper.rb
|
66
78
|
- spec/url_spec.rb
|
67
|
-
-
|
79
|
+
- README.rdoc
|
80
|
+
- Rakefile
|
68
81
|
has_rdoc: true
|
69
82
|
homepage: http://github.com/talby/url
|
70
83
|
licenses: []
|
@@ -95,7 +108,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
95
108
|
requirements: []
|
96
109
|
|
97
110
|
rubyforge_project:
|
98
|
-
rubygems_version: 1.
|
111
|
+
rubygems_version: 1.6.2
|
99
112
|
signing_key:
|
100
113
|
specification_version: 3
|
101
114
|
summary: A URL object
|
data/.document
DELETED
data/VERSION.yml
DELETED
data/url.gemspec
DELETED
@@ -1,60 +0,0 @@
|
|
1
|
-
# Generated by jeweler
|
2
|
-
# DO NOT EDIT THIS FILE DIRECTLY
|
3
|
-
# Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
|
4
|
-
# -*- encoding: utf-8 -*-
|
5
|
-
|
6
|
-
Gem::Specification.new do |s|
|
7
|
-
s.name = %q{url}
|
8
|
-
s.version = "0.2.1"
|
9
|
-
|
10
|
-
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
|
-
s.authors = ["Tal Atlas"]
|
12
|
-
s.date = %q{2011-05-29}
|
13
|
-
s.description = %q{A simple url object to allow for OO based manipulation and usage of a url}
|
14
|
-
s.email = %q{me@tal.by}
|
15
|
-
s.extra_rdoc_files = [
|
16
|
-
"LICENSE",
|
17
|
-
"README.rdoc"
|
18
|
-
]
|
19
|
-
s.files = [
|
20
|
-
".document",
|
21
|
-
"LICENSE",
|
22
|
-
"README.rdoc",
|
23
|
-
"Rakefile",
|
24
|
-
"VERSION.yml",
|
25
|
-
"lib/url.rb",
|
26
|
-
"lib/url/classer.rb",
|
27
|
-
"lib/url/handlers.rb",
|
28
|
-
"lib/url/handlers/as_json_handler.rb",
|
29
|
-
"lib/url/handlers/base_json_handler.rb",
|
30
|
-
"lib/url/handlers/net_handler.rb",
|
31
|
-
"lib/url/handlers/ty_handler.rb",
|
32
|
-
"lib/url/handlers/yajl_handler.rb",
|
33
|
-
"lib/url/helper_classes.rb",
|
34
|
-
"lib/url/response.rb",
|
35
|
-
"spec/classer_spec.rb",
|
36
|
-
"spec/handler_spec.rb",
|
37
|
-
"spec/json_spec.rb",
|
38
|
-
"spec/spec.opts",
|
39
|
-
"spec/spec_helper.rb",
|
40
|
-
"spec/url_spec.rb",
|
41
|
-
"url.gemspec"
|
42
|
-
]
|
43
|
-
s.homepage = %q{http://github.com/talby/url}
|
44
|
-
s.require_paths = ["lib"]
|
45
|
-
s.rubygems_version = %q{1.5.0}
|
46
|
-
s.summary = %q{A URL object}
|
47
|
-
|
48
|
-
if s.respond_to? :specification_version then
|
49
|
-
s.specification_version = 3
|
50
|
-
|
51
|
-
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
52
|
-
s.add_development_dependency(%q<rspec>, ["~> 2.0"])
|
53
|
-
else
|
54
|
-
s.add_dependency(%q<rspec>, ["~> 2.0"])
|
55
|
-
end
|
56
|
-
else
|
57
|
-
s.add_dependency(%q<rspec>, ["~> 2.0"])
|
58
|
-
end
|
59
|
-
end
|
60
|
-
|