sub_string 1.0 → 1.0.1

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.
Files changed (5) hide show
  1. checksums.yaml +4 -4
  2. data/ChangeLog +10 -0
  3. data/README.en.rdoc +11 -5
  4. data/sub_string.gemspec +12 -6
  5. metadata +7 -4
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c328fe148dea22de40b0b91fcb890ecad51ec98b52579bd963ec3595a5c5d312
4
- data.tar.gz: 2490b15f6bab5c743d02db40e5857acf9fd6b3b38b75fa7d155869e7dce957e3
3
+ metadata.gz: 8363082abbe2b91aa7a063ccdfc4719bdd06e5c476d64bf33b3e8a8bb5fa4590
4
+ data.tar.gz: 0ec710c61e5d727714f8fe9b19e8ea74da998678e727c124da9ba8e749c2f0c6
5
5
  SHA512:
6
- metadata.gz: 573037a06377750a49a90d0ed95ca0ab59deb693eec7410b9a618352f334927e229a10a621e0c7a380f8deb4f201d5925b112871442b0fbb4d32ef86bc4dafb3
7
- data.tar.gz: bab762511ada2c4e0c5b959c243605ad503d7e38f11ec1eebab0acbfa84eb95e6b3bbd9b9a3d0b6a609001521d455fde94489436dcbbfd0ebd31ea014adb1449
6
+ metadata.gz: faba092f12dd756167e205c0f864e3bc0d72f61f8754489c64ff8628021df1e0bd4d302df945d4fc33e47e574d3d533c19e9c6a13bbb9f2a883935344dee240e
7
+ data.tar.gz: 1c1cdf4451a452014b88210388277dee145960800f75f9bb14f41ac7c8648d5324a15f2fbae34d7e911bcb7e23fd3d9e2d9a50b42a67015ec33de26d00f2ea67
data/ChangeLog ADDED
@@ -0,0 +1,10 @@
1
+ -----
2
+ (Version: 1.0.1)
3
+ 2019-11-05 Masa Sakano
4
+ * Update README. Added ChangeLog
5
+
6
+ -----
7
+ (Version: 1.0)
8
+ 2019-11-05 Masa Sakano
9
+
10
+ * Initial but pretty much complete commit (Ver.1.0).
data/README.en.rdoc CHANGED
@@ -5,6 +5,11 @@
5
5
 
6
6
  Class {SubString} that expresses Ruby sub-String but taking up negligible memory space, as its instance holds the positional information only. It behaves exactly like String (duck-typing), except destructive modification is prohibited. If the original string is destructively modified, warning is issued.
7
7
 
8
+ On the surface, this is a String version of the class MatchSkeleton
9
+ {match_skeleton}[https://rubygems.org/gems/match_skeleton] (also in
10
+ {Github}[https://github.com/masasakano/match_skeleton]), which is an
11
+ alternative and much memorly-lighter version of MatchData.
12
+
8
13
  For the detailed background concept (and algorithm), see the reference page of the
9
14
  generalized parent class, SubObject, either at the
10
15
  {Ruby Gems page}[http://rubygems.org/gems/sub_object]
@@ -28,7 +33,7 @@ of information (plus a hash value, strictly speaking), and hence uses negligible
28
33
  Note that only the information this instance needs for *source* is
29
34
  +source.object_id+ or equivalent, which is really negligible in size.
30
35
  In other words, this class does not create the copy of sub-Object from
31
- the original source object as the Ruby default +String#[i,j]+ does.
36
+ the original source object as the Ruby default +String#[ i, j ]+ does.
32
37
 
33
38
  Then, whenever it is referred to, it reconstructs the original
34
39
  sub-String object:
@@ -71,7 +76,7 @@ be applied to the instance of this class.
71
76
 
72
77
  === Potential use
73
78
 
74
- Each sub-String in Ruby like +String[i, j]+ or +String[i..j]+ takes up memory
79
+ Each sub-String in Ruby like +String#[ i, j ]+ or +String#[ i..j ]+ takes up memory
75
80
  according to the length of the sub-String. Consider an example:
76
81
 
77
82
  src = "Some very extremely lengthy string.... (snipped)".
@@ -144,10 +149,11 @@ In default it is nil and $VERBOSE is referred to.
144
149
  == Install
145
150
 
146
151
  This script requires {Ruby}[http://www.ruby-lang.org] Version 2.0
147
- or above.
152
+ or above. And this library depends on {SubObject (sub_object)}[https://rubygems.org/gems/sub_object], which you can
153
+ find in RubyGems.
148
154
 
149
- You can install it from the usual Ruby gem command.
150
- Or, alternatively, download it and put the library file in one of your Ruby library search paths.
155
+ You can install the packages of both this library and SubObject with the usual Ruby gem command.
156
+ Or, alternatively, download them and put the library files in one of your Ruby library search paths.
151
157
 
152
158
  == Developer's note
153
159
 
data/sub_string.gemspec CHANGED
@@ -4,8 +4,8 @@ require 'rake'
4
4
  require 'date'
5
5
 
6
6
  Gem::Specification.new do |s|
7
- s.name = %q{sub_string}.sub(/.*/){|c| (c == File.basename(Dir.pwd)) ? c : raise("ERROR: s.name=(#{c}) in gemspec seems wrong!")}
8
- s.version = "1.0"
7
+ s.name = 'sub_string'.sub(/.*/){|c| (c == File.basename(Dir.pwd)) ? c : raise("ERROR: s.name=(#{c}) in gemspec seems wrong!")}
8
+ s.version = "1.0.1".sub(/.*/){|c| fs = Dir.glob('changelog{,.*}', File::FNM_CASEFOLD); raise('More than one ChangeLog exist!') if fs.size > 1; warn("WARNING: Version(s.version=#{c}) already exists in #{fs[0]} - ok?") if fs.size == 1 && !IO.readlines(fs[0]).grep(/^\(Version: #{Regexp.quote c}\)$/).empty? ; c } # n.b., In macOS, changelog and ChangeLog are identical in default.
9
9
  # s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
10
10
  # s.bindir = 'bin'
11
11
  # %w(sub_string).each do |f|
@@ -15,7 +15,9 @@ Gem::Specification.new do |s|
15
15
  s.authors = ["Masa Sakano"]
16
16
  s.date = %q{2019-11-05}.sub(/.*/){|c| (Date.parse(c) == Date.today) ? c : raise("ERROR: s.date=(#{c}) is not today!")}
17
17
  s.summary = %q{Duck-typed String class with negligible memory use}
18
- s.description = %q{Class SubString that expresses Ruby sub-String but taking up negligible memory space, as its instance holds the positional information only. It behaves exactly like String (duck-typing), except destructive modification is prohibited. If the original string is destructively altered, warning is issued.}
18
+ s.description = <<-EOF
19
+ Class SubString that expresses Ruby sub-String but taking up negligible memory space, as its instance holds the positional information only. It behaves exactly like String (duck-typing), except destructive modification is prohibited. If the original string is destructively altered, warning is issued.
20
+ EOF
19
21
  # s.email = %q{abc@example.com}
20
22
  s.extra_rdoc_files = [
21
23
  #"LICENSE.txt",
@@ -36,9 +38,9 @@ Gem::Specification.new do |s|
36
38
  s.files.reject! { |fn| File.symlink? fn }
37
39
 
38
40
  s.add_runtime_dependency 'sub_object', '>= 1.0'
39
- # s.add_development_dependency "bourne", [">= 0"]
40
- s.homepage = %q{https://www.wisebabel.com}
41
- s.rdoc_options = ["--charset=UTF-8"]
41
+ # s.add_development_dependency "bourne", [">= 0"] # '~> 2.0' to mean for only 2.0.x
42
+ s.homepage = "https://www.wisebabel.com"
43
+ s.rdoc_options = ["--charset=UTF-8"] # "-e UTF-8" is now Default...
42
44
 
43
45
  # s.require_paths = ["lib"] # Default "lib"
44
46
  s.required_ruby_version = '>= 2.0' # respond_to_missing?
@@ -47,6 +49,10 @@ Gem::Specification.new do |s|
47
49
  # s.requirements << 'libmagick, v6.0' # Simply, info to users.
48
50
  # s.rubygems_version = %q{1.3.5} # This is always set automatically!!
49
51
 
52
+ ## cf. https://guides.rubygems.org/specification-reference/#metadata
50
53
  s.metadata["yard.run"] = "yri" # use "yard" to build full HTML docs.
54
+ s.metadata["changelog_uri"] = "https://github.com/masasakano/sub_string/blob/master/ChangeLog"
55
+ s.metadata["source_code_uri"] = "https://github.com/masasakano/sub_string"
56
+ # s.metadata["documentation_uri"] = "https://www.example.info/gems/bestgemever/0.0.1"
51
57
  end
52
58
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sub_string
3
3
  version: !ruby/object:Gem::Version
4
- version: '1.0'
4
+ version: 1.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Masa Sakano
@@ -24,10 +24,10 @@ dependencies:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: '1.0'
27
- description: Class SubString that expresses Ruby sub-String but taking up negligible
27
+ description: " Class SubString that expresses Ruby sub-String but taking up negligible
28
28
  memory space, as its instance holds the positional information only. It behaves
29
- exactly like String (duck-typing), except destructive modification is prohibited. If
30
- the original string is destructively altered, warning is issued.
29
+ exactly like String (duck-typing), except destructive modification is prohibited.
30
+ \ If the original string is destructively altered, warning is issued.\n"
31
31
  email:
32
32
  executables: []
33
33
  extensions: []
@@ -35,6 +35,7 @@ extra_rdoc_files:
35
35
  - README.en.rdoc
36
36
  files:
37
37
  - ".gitignore"
38
+ - ChangeLog
38
39
  - LICENSE.txt
39
40
  - Makefile
40
41
  - README.en.rdoc
@@ -47,6 +48,8 @@ licenses:
47
48
  - MIT
48
49
  metadata:
49
50
  yard.run: yri
51
+ changelog_uri: https://github.com/masasakano/sub_string/blob/master/ChangeLog
52
+ source_code_uri: https://github.com/masasakano/sub_string
50
53
  post_install_message:
51
54
  rdoc_options:
52
55
  - "--charset=UTF-8"