furi 0.2.5 → 0.2.6

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 60584a8bc9851e0f203430c73a18b5b4c4d22c25484134caf8f256279203ed7e
4
- data.tar.gz: ee1258bc6788c8d11bf8f5c7a48dced7c5338ad36409de0a3eb049c194cd3347
3
+ metadata.gz: 8522bcc3d1b7e9982f6ccca4bd91a97df9fd3c7ca0ec45c40ae345dadf6b5f63
4
+ data.tar.gz: e7f046f02b324bbd940b85cf4c061e951828561791bfba1a8b487eb53caa5695
5
5
  SHA512:
6
- metadata.gz: 161c291815412a22f32a2c6e6e8b32fc74241eba6e44442197f1a04d2c934522898014e8e7c6b0cc53c396f0a95076a193e23dd41a8abf38ea0b976058b76d00
7
- data.tar.gz: ac25ee7829104064cde493e5310a7302d08593808f56674bc4cce7af4e1d6e5be3504300cd396d79276abe5a6153be52084613af8a7679d30fbc1afa2f007912
6
+ metadata.gz: dc5a921d62aceec5937b8f409a065252fe7a80f2c5ffc282f9d7a20f605445a86bd6047f103815b383af6ee63c66966af8aeff6a313da6d7c97fe640119728e5
7
+ data.tar.gz: 057a89a20fa245d2f93757e9b963f21d763c380836627cf3a2061f37e8fcbc5e61091cf1025537abcde23858275fa2fdd9f7000aa97800359e998b84c47ad57a
data/CHANGELOG.md CHANGED
@@ -1,3 +1,11 @@
1
+ # v0.2.6
2
+
3
+ * Support `filename` part replacement and extraction
4
+
5
+ # v0.2.5
6
+
7
+ * Fix replacement of path starting with `/`
8
+
1
9
  # v0.2.4
2
10
 
3
11
  * Improved `Furi.update` behavior for `path:` overrides:
data/Gemfile CHANGED
@@ -5,7 +5,6 @@ source 'https://rubygems.org'
5
5
  # Specify your gem's dependencies in furi.gemspec
6
6
  gemspec
7
7
 
8
- gem "pry-byebug", "~> 3.9"
9
8
  gem "rake", "~> 13.0"
10
9
  gem "rspec", "~> 3.10"
11
10
  gem "bump"
data/lib/furi/uri.rb CHANGED
@@ -327,9 +327,21 @@ module Furi
327
327
  self.path = string + file.to_s
328
328
  end
329
329
 
330
+ def filename
331
+ return nil unless file
332
+ file_tokens.first
333
+ end
334
+
335
+ def filename=(value)
336
+ t = file_tokens
337
+ t[0] = value
338
+ self.file = t.join(".")
339
+ end
340
+
330
341
  def extension
331
342
  return nil unless file
332
- file_tokens.size > 1 ? file_tokens.last : nil
343
+ tokens = file_tokens[1..-1]
344
+ tokens.any? ? tokens.join(".") : nil
333
345
  end
334
346
 
335
347
  def extension=(string)
@@ -341,7 +353,7 @@ module Furi
341
353
  tokens.push(string)
342
354
  else
343
355
  if string
344
- tokens[-1] = string
356
+ tokens = [tokens.first, string]
345
357
  else
346
358
  tokens.pop
347
359
  end
data/lib/furi/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Furi
2
- VERSION = "0.2.5"
2
+ VERSION = "0.2.6"
3
3
  end
data/lib/furi.rb CHANGED
@@ -9,13 +9,16 @@ module Furi
9
9
 
10
10
  ESSENTIAL_PARTS = [
11
11
  :anchor, :protocol, :query_tokens,
12
- :path, :host, :port, :username, :password
12
+ :path, :host, :port, :username, :password,
13
+ :filename,
13
14
  ]
15
+
14
16
  COMBINED_PARTS = [
15
17
  :hostinfo, :userinfo, :authority, :ssl, :domain, :domainname,
16
18
  :domainzone, :request, :location, :query,
17
19
  :directory, :extension, :file
18
20
  ]
21
+
19
22
  PARTS = ESSENTIAL_PARTS + COMBINED_PARTS
20
23
 
21
24
  ALIASES = {
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: furi
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.5
4
+ version: 0.2.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Bogdan Gusiev