impuri 0.12.3 → 0.12.5

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: 1167e07cbc4adc3b5a12b103494126b8e973d144accacb2ed85f19795b30baa3
4
- data.tar.gz: 9a590aead3dc67127d2523a10346b0f63e4719418fe7ca499e8247d7f55047ab
3
+ metadata.gz: 81f27b4bc9314c8199dc35463499f0e114bf12f8713a9c6097c1aa4dde873829
4
+ data.tar.gz: ac6b31604e0f7fdc879c8ff1da25bfe4bd72b32128647f16803e884e110cb0e2
5
5
  SHA512:
6
- metadata.gz: ab3fc45f1e442c1acd681c6b2424ca9ba08682ee976cfd0c81a74dde1f831835cb9f35001402eb0356baa81caa7f24deae44c6dd9ee187d1f30066c89f079c0e
7
- data.tar.gz: 76053d1fa19597ad89720337e77a985544dff53ae3a3cdeaae12098d122ca26dc9951c3416883bf52cafc637e3d3777a7f09969f971bb4f7c674fa7d22d0478b
6
+ metadata.gz: ba84c2be5bb8acbfca23f1f6c3ca4a09b063adb6957cfb193301d10c93e0e80a36197e2b05b844d00448c90ccc068c948d900f868d7295035b1cd0ec7a2bc456
7
+ data.tar.gz: f70dd55d179733932c5c134dcd6971cb5e7906f24a656a0c09a80a826a0af34d1ecd5282bdce042ffcf3569ac64821ce76e4479c698f778558e1eaae33a48c04
data/CHANGELOG CHANGED
@@ -2,6 +2,21 @@
2
2
 
3
3
  ## 20260819
4
4
 
5
+ 0.12.5: + ROADMAP.md, for the two TODO items which are questions rather than work.
6
+
7
+ 1. + ROADMAP.md: encoding before breaking the string down, and whether the path separator should be settable. Neither is a job. The first names a cost in the present design and proposes a different one which might avoid it, so nothing can be done until the trade is judged worth making. The second ends "Any other uses?", which asks whether to do it at all rather than planning to.
8
+ 2. ~ TODO.txt: - those two, renumbered, leaving the funkier URIs and the parameter separator, which are work and can be done without anything first being decided. It stays a plain numbered list in a .txt: a list of jobs wants no headings and no markdown, and the two questions were the only things in it which did.
9
+ 3. + ROADMAP.md: under the path separator question, that 0.12.0's #to_ssh already serves the one use ever named for it, choosing the separator from what was parsed rather than from the caller. That is the argument for leaving it a question: the case which motivated it is met, and no second case has appeared.
10
+ 4. ~ impuri.gemspec: + 'ROADMAP.md' to spec.files, TODO.txt having shipped since 0.9.0. The two are the same kind of document and there is no reason for one to ship and not the other. switches keeps its ROADMAP.md out of its gem, which is the other consistent answer; this one follows what impuri already did.
11
+ 5. ~ ImpURI::VERSION: /0.12.4/0.12.5/
12
+
13
+ 0.12.4: + LICENSE, which the gemspec had claimed since 0.8.0 without one being present.
14
+
15
+ 1. + LICENSE: the MIT text, copyright 2011-2026, the repository's first commit being from 2011. spec.license = 'MIT' has been declared since the gemspec was written, so rubygems has shown a licence for this gem that the repository did not carry and the built gem did not contain. Anyone taking the gem at its word had nothing to read.
16
+ 2. ~ impuri.gemspec: + 'LICENSE' to spec.files, without which the file would sit in the repository and still not ship.
17
+ 3. ~ CHANGELOG: 20260805 carried two headings, the first holding 0.11.0, 0.10.1 and 0.10.0 and the second 0.9.0 alone, so one day's work read as two. Merged, with no entry moved, reworded or renumbered. Recorded here rather than released on its own: nobody needs telling that a duplicate heading went.
18
+ 4. ~ ImpURI::VERSION: /0.12.3/0.12.4/
19
+
5
20
  0.12.3: Bring the tests up to standard: a Rakefile, *_test.rb naming, and a test helper.
6
21
 
7
22
  1. + Rakefile: Rake::TestTask over FileList['test/**/*_test.rb'], with default: :test, a :spec alias and a :version task. Modelled on moby's. Every other gem here is run with rake and this one had no Rakefile at all, the suite being run by hand through a loader.
@@ -38,6 +53,7 @@
38
53
  5. + Nine tests over both directions, the password, the port number, and a descriptor with no path at all, which gives hostname and a colon, that being the login directory.
39
54
  6. Written for git-boot, which had been interpolating "#{username}@#{hostname}:#{path}" and getting git@github.com:/thoran/lineage for its trouble: a URI path spliced into a position where the leading slash means something else. That is a fault in the caller and not here, but a library which parses both forms may as well render both.
40
55
 
56
+
41
57
  ## 20260805
42
58
 
43
59
  0.11.0: Name the entry point and the gemspec for the gem.
@@ -57,9 +73,6 @@
57
73
  2. - ImpURI.gemspec: the development dependency upon minitest-global_expectations, which was added in 0.9.0 only to keep the tests running while they were in the old form.
58
74
  3. ~ tests: require 'minitest/global_expectations/autorun' --> require 'minitest/autorun'.
59
75
 
60
-
61
- ## 20260805
62
-
63
76
  0.9.0: Make the gem loadable on its own, rather than only where the helper files were already on the load path.
64
77
 
65
78
  1. Moved the vendored helpers from lib/ImpURI/ up into lib/, so that they sit where they are required from. 0.8.0 shipped all seventeen of them, but one directory too deep: only lib/ goes onto the load path, so require '_meta/blankQ' looked for lib/_meta/blankQ.rb while the file sat at lib/ImpURI/_meta/blankQ.rb. The gem could therefore only be loaded on a machine which already had those helpers elsewhere on the load path, which is to say mine.
data/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2011-2026 thoran
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
data/ROADMAP.md ADDED
@@ -0,0 +1,29 @@
1
+ # ImpURI Roadmap
2
+
3
+ Date: 20260819
4
+
5
+ Jobs are in TODO.txt. What is here is undecided: questions to be answered rather
6
+ than work to be done, which is why they are prose and the jobs are a list.
7
+
8
+ ## Open questions
9
+
10
+ ### Encoding before breaking the string down
11
+
12
+ Consider encoding everything in the URI before breaking the string into parts, so
13
+ as to avoid the kind of complexity introduced in `ImpURI.has_userinfo?`.
14
+
15
+ This is a change of approach rather than a job. It names a cost in the present
16
+ design and proposes a different design which might avoid it, and nothing can be
17
+ done about it until somebody decides whether the trade is worth making.
18
+
19
+ ### Whether the path separator should be settable
20
+
21
+ Be able to change the colon path separator for an ImpURI instance, say if
22
+ converting from ssh-form to the URI-form of an ssh resource. Any other uses?
23
+
24
+ The question is that last clause, and it was there from the start. One use was
25
+ named, and 0.12.0 met it from the other side: `#to_ssh` renders the ssh/scp form,
26
+ choosing the separator by what the resource was parsed from rather than letting the
27
+ caller set it. So the one motivating case is served without the separator being
28
+ settable at all. Whether anything else wants it remains open, and until something
29
+ does, this stays a question rather than becoming work.
data/TODO.txt CHANGED
@@ -1,6 +1,4 @@
1
1
  1. Handle port numbers. Done as of 0.1.0.
2
2
  2. Create strict and non-strict parsing modes, which will either accept or reject non-URI ssh/scp formatted strings if they are supplied. Done as of 0.2.0.
3
3
  3. Doesn't handle some of the funkier URI's like: ssh:// with keys in the userinfo section, mailto: (no ://, but merely :), and ldap://.
4
- 4. Consider encoding everything in the URI before breaking down the strings, so as to avoid the kind of complexity introduced in ImpURI.has_userinfo?().
5
- 5. Be able to change the semicolon parameter separator for an ImpURI instance.
6
- 6. Be able to change the colon path separator for an ImpURI instance, say if converting from ssh-form to the URI-form of an ssh resource for instance. Any other uses?
4
+ 4. Be able to change the semicolon parameter separator for an ImpURI instance.
data/impuri.gemspec CHANGED
@@ -36,8 +36,10 @@ Gem::Specification.new do |spec|
36
36
  'CHANGELOG',
37
37
  'Gemfile',
38
38
  'impuri.gemspec',
39
+ 'LICENSE',
39
40
  'Rakefile',
40
41
  'README.md',
42
+ 'ROADMAP.md',
41
43
  'TODO.txt',
42
44
  ].flatten
43
45
 
@@ -2,5 +2,5 @@
2
2
  # ImpURI::VERSION
3
3
 
4
4
  class ImpURI
5
- VERSION = '0.12.3'
5
+ VERSION = '0.12.5'
6
6
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: impuri
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.12.3
4
+ version: 0.12.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - thoran
@@ -47,7 +47,9 @@ extra_rdoc_files: []
47
47
  files:
48
48
  - CHANGELOG
49
49
  - Gemfile
50
+ - LICENSE
50
51
  - README.md
52
+ - ROADMAP.md
51
53
  - Rakefile
52
54
  - TODO.txt
53
55
  - impuri.gemspec