absolution 0.0.5 → 0.0.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +8 -8
- data/README.md +4 -0
- data/lib/absolution.rb +2 -3
- data/lib/absolution/version.rb +1 -1
- data/spec/absolution_spec.rb +7 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
MjA0ZTc4NmNmNTU0NmMxZjMzODFjYTdhZmZmNTU4OWVkY2RhNGUwZg==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
YmI2OWM4MGViZGE4ZGVmNzIzMjA4ODA5NjUxNmE4YjRiNzI2ZjhkZg==
|
7
7
|
SHA512:
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
YTMyNmEzMGY4MzYzZmJlMTJkNTJmYzBhMWU3NWQ3ZGNhZTAyNTdkZGU2YTVm
|
10
|
+
NWJkZDMzMDRiMmZlZWY5MzM1YmFjNDkyNzQxYWQ3ZDE0NjYxOWNiYzU2MWE1
|
11
|
+
Yzk4NzI1N2MyY2UwOTgwYTAyOTFlOWY4YzQ1ZTNkNjdiNmRkMzk=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
NzNkYmU3YjYxZTBhMWVkMzI3ZTQ4MGY4NjUyZWVjMDM4MGYzZGY4NGNiNDE1
|
14
|
+
ODE1ZTU0MjYyYjUyYjc4YmJkZTkzZTAwMTA3MWVhMGNlZjhlMTk4MTk4MDQ1
|
15
|
+
MTljMzI3MjI5ZjU3NzY2OGUwYjAxYWNlNGYxYTUyZGMxYzRmZmI=
|
data/README.md
CHANGED
@@ -30,6 +30,9 @@ Absolution.absolute_url?('http://blah')
|
|
30
30
|
|
31
31
|
Absolution.construct_absolute_url('https://base.url', 'blah')
|
32
32
|
=> 'https://base.url/blah'
|
33
|
+
|
34
|
+
Absolution.construct_absolue_url('http://base.url/path/to/namespace', 'blah')
|
35
|
+
=> 'http://base.url/path/to/namespace/blah'
|
33
36
|
```
|
34
37
|
|
35
38
|
## Other usage (mixin) ##
|
@@ -60,6 +63,7 @@ Do you use git-flow? I sure do. Please base anything you do off of
|
|
60
63
|
|
61
64
|
## History ##
|
62
65
|
|
66
|
+
* 0.0.6 - Handle path in base URL
|
63
67
|
* 0.0.5 - Better relative path handling
|
64
68
|
* 0.0.4 - Query strings are handled properly
|
65
69
|
* 0.0.2 - Initial release
|
data/lib/absolution.rb
CHANGED
@@ -2,15 +2,14 @@ require 'uri'
|
|
2
2
|
module Absolution
|
3
3
|
|
4
4
|
def absolute_url?(url)
|
5
|
-
|
6
|
-
!(scheme.nil? || scheme.empty?)
|
5
|
+
URI.parse(url.to_s).absolute?
|
7
6
|
end
|
8
7
|
|
9
8
|
def construct_absolute_url(base_url, path)
|
10
9
|
uri = URI.parse(base_url)
|
11
10
|
|
12
11
|
URI.parse(path.start_with?('/') ? path : "/#{path}").tap do |path_uri|
|
13
|
-
uri.path = path_uri.path
|
12
|
+
uri.path = uri.path.chomp('/') + path_uri.path
|
14
13
|
uri.query = path_uri.query
|
15
14
|
uri.fragment = path_uri.fragment
|
16
15
|
end
|
data/lib/absolution/version.rb
CHANGED
data/spec/absolution_spec.rb
CHANGED
@@ -41,6 +41,13 @@ describe Absolution do
|
|
41
41
|
to eql('http://fake.url/asset.file')
|
42
42
|
end
|
43
43
|
|
44
|
+
it 'handles a base url with an existing path component' do
|
45
|
+
extended_base_url = 'http://fake.url/base/path'
|
46
|
+
asset_path = 'asset.file'
|
47
|
+
expect(klass.construct_absolute_url(extended_base_url, asset_path)).
|
48
|
+
to eql(extended_base_url + '/' + asset_path)
|
49
|
+
end
|
50
|
+
|
44
51
|
it 'separates the base url from the asset with at least 1 /' do
|
45
52
|
asset_path = 'asset.file'
|
46
53
|
expected_url = base_url + '/' + asset_path
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: absolution
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Dennis Walters
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-05-
|
11
|
+
date: 2014-05-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rspec
|