nameq 0.0.1 → 0.0.3

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
- SHA1:
3
- metadata.gz: a09226e4e96b8ff278f6439518ba191254ef5d25
4
- data.tar.gz: 983748dd980081fd37d19a605ad5843a998a41f4
2
+ SHA256:
3
+ metadata.gz: 33d2494ae24fd2306fd2b38d256d6a84e676c9a93101d7f31ec43f8c739737cb
4
+ data.tar.gz: dbbef6e57237f2a8bf7ff08c8829f8b774334694985158ea802e8813b096c285
5
5
  SHA512:
6
- metadata.gz: a8fcf0a8a5083ea74a1ffe149f64f115d3169683e70fe26a89d139143a09ae4af1cc01edfad61f54bc62ff10ea4c74b92c5dacc7d4f53cad7069d86fda4fc292
7
- data.tar.gz: 39cd8cbe32de12c35a3f6f8df5028f01d7c628e0fa5e222d3edfba4c9f86c37df39dd23312cb9aca4b791fba26c5f9dbd446f3f67417a0710eb40a29718aad71
6
+ metadata.gz: 0cfbc3bf458ae77a6aa9f3ef005f44c18139994a5608b0d24dc7a21160539e3da005ba3fbff3d920901d3262930296571f98a18b943af8a97596dcf1c64fa15d
7
+ data.tar.gz: 40eaad3397af6d361c55139c0824061475f999e462a82d18ae198de9f70422b751e0f09704bcee8e0079e8137f4ff7291b51f3f5cac9b584f8bcaea18021e852
@@ -0,0 +1,31 @@
1
+ name: Ruby Gem
2
+
3
+ on:
4
+ release:
5
+ types: [published]
6
+
7
+ jobs:
8
+ build:
9
+ name: Build + Publish
10
+ runs-on: ubuntu-latest
11
+ permissions:
12
+ contents: read
13
+ packages: write
14
+
15
+ steps:
16
+ - uses: actions/checkout@v2
17
+ - name: Set up Ruby 2.6
18
+ uses: actions/setup-ruby@v1
19
+ with:
20
+ ruby-version: 2.6.x
21
+
22
+ - name: Publish to RubyGems
23
+ run: |
24
+ mkdir -p $HOME/.gem
25
+ touch $HOME/.gem/credentials
26
+ chmod 0600 $HOME/.gem/credentials
27
+ printf -- "---\n:rubygems_api_key: ${GEM_HOST_API_KEY}\n" > $HOME/.gem/credentials
28
+ gem build *.gemspec
29
+ gem push *.gem
30
+ env:
31
+ GEM_HOST_API_KEY: "${{secrets.RUBYGEMS_AUTH_TOKEN}}"
@@ -17,6 +17,9 @@ jobs:
17
17
  test:
18
18
 
19
19
  runs-on: ubuntu-latest
20
+ strategy:
21
+ matrix:
22
+ ruby-version: ['2.6', '2.7', '3.0']
20
23
 
21
24
  steps:
22
25
  - uses: actions/checkout@v2
@@ -24,10 +27,9 @@ jobs:
24
27
  # To automatically get bug fixes and new Ruby versions for ruby/setup-ruby,
25
28
  # change this to (see https://github.com/ruby/setup-ruby#versioning):
26
29
  # uses: ruby/setup-ruby@v1
27
- uses: ruby/setup-ruby@ec106b438a1ff6ff109590de34ddc62c540232e0
30
+ uses: ruby/setup-ruby@473e4d8fe5dd94ee328fdfca9f8c9c7afc9dae5e
28
31
  with:
29
- ruby-version: 2.6
30
- - name: Install dependencies
31
- run: bundle install
32
+ ruby-version: ${{ matrix.ruby-version }}
33
+ bundler-cache: true # runs 'bundle install' and caches installed gems automatically
32
34
  - name: Run tests
33
35
  run: bundle exec rspec
data/.travis.yml CHANGED
@@ -1,7 +1,8 @@
1
1
  language: ruby
2
2
  rvm:
3
- - 2.4
4
3
  - 2.5
5
4
  - 2.6
5
+ - 2.7
6
+ - 3.0
6
7
  script:
7
8
  - bundle exec rspec
data/Gemfile CHANGED
@@ -1,3 +1,4 @@
1
1
  # frozen_string_literal: true
2
- source 'https://rubygems.org'
2
+
3
+ source "https://rubygems.org"
3
4
  gemspec
data/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # NameQ [![Build Status](https://travis-ci.com/kevinstuffandthings/nameq.svg?branch=master)](https://travis-ci.com/kevinstuffandthings/nameq) [![Gem Version](https://badge.fury.io/rb/nameq.svg)](https://badge.fury.io/rb/nameq)
1
+ # NameQ ![Build Status](https://github.com/kevinstuffandthings/nameq/actions/workflows/ruby.yml/badge.svg) [![Gem Version](https://badge.fury.io/rb/nameq.svg)](https://badge.fury.io/rb/nameq)
2
2
 
3
3
  For when you need to name things, but not worry about whether or not those names are already taken.
4
4
 
data/Rakefile CHANGED
@@ -1,5 +1,7 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  require "bundler/setup"
3
4
  require "bundler/gem_tasks"
5
+ require "standard/rake"
4
6
 
5
- Dir.glob('lib/tasks/*.rake').each { |r| load r }
7
+ Dir.glob("lib/tasks/*.rake").each { |r| load r }
data/lib/nameq.rb CHANGED
@@ -1,10 +1,10 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  require "nameq/version"
3
4
 
4
5
  %w[string_entry filename_entry suffix list pool].each { |f| require "nameq/support/#{f}" }
5
6
  %w[text_pool directory].each { |f| require "nameq/#{f}" }
6
7
 
7
-
8
8
  # NameQ
9
9
  module NameQ
10
10
  end
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  module NameQ
3
4
  class Directory < Support::Pool
4
5
  # Set up a new directory-based pool.
@@ -7,7 +8,7 @@ module NameQ
7
8
  # @return [Directory]
8
9
  def initialize(name, case_sensitive: true)
9
10
  list = Support::List.new(case_sensitive: case_sensitive) do
10
- Dir[File.join(name, '*')].map { |f| File.basename(f) }
11
+ Dir[File.join(name, "*")].map { |f| File.basename(f) }
11
12
  end
12
13
  super list
13
14
  end
@@ -1,5 +1,6 @@
1
1
  # frozen_string_literal: true
2
- require_relative './string_entry'
2
+
3
+ require_relative "./string_entry"
3
4
 
4
5
  module NameQ
5
6
  module Support
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  module NameQ
3
4
  module Support
4
5
  class List
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  module NameQ
3
4
  module Support
4
5
  class Pool
@@ -33,7 +34,7 @@ module NameQ
33
34
  end
34
35
 
35
36
  def suffixes
36
- (1 .. Float::INFINITY).lazy.map { |i| Suffix.new(i) }
37
+ (1..Float::INFINITY).lazy.map { |i| Suffix.new(i) }
37
38
  end
38
39
  end
39
40
  end
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  module NameQ
3
4
  module Support
4
5
  class StringEntry
@@ -1,8 +1,9 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  module NameQ
3
4
  module Support
4
5
  class Suffix
5
- TOKEN = '%{index}'
6
+ TOKEN = "%{index}"
6
7
  attr_reader :index
7
8
 
8
9
  def initialize(index, template: nil)
@@ -11,7 +12,7 @@ module NameQ
11
12
  end
12
13
 
13
14
  def strip(text)
14
- text.sub(regex, '')
15
+ text.sub(regex, "")
15
16
  end
16
17
 
17
18
  def to_s
@@ -22,9 +23,9 @@ module NameQ
22
23
 
23
24
  def regex
24
25
  @_regex ||= begin
25
- first, last = @template.split(TOKEN)
26
- Regexp.new(Regexp.quote(first) + "[0-9]+" + Regexp.quote(last) + "$")
27
- end
26
+ first, last = @template.split(TOKEN)
27
+ Regexp.new(Regexp.quote(first) + "[0-9]+" + Regexp.quote(last) + "$")
28
+ end
28
29
  end
29
30
  end
30
31
  end
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  module NameQ
3
4
  class TextPool < Support::Pool
4
5
  # Set up a new text-based pool.
data/lib/nameq/version.rb CHANGED
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  module NameQ
3
- VERSION = "0.0.1"
4
+ VERSION = "0.0.3"
4
5
  end
data/nameq.gemspec CHANGED
@@ -1,22 +1,22 @@
1
1
  # frozen_string_literal: true
2
- # coding: utf-8
3
- lib = File.expand_path('../lib', __FILE__)
2
+
3
+ lib = File.expand_path("../lib", __FILE__)
4
4
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
5
- require 'nameq/version'
5
+ require "nameq/version"
6
6
 
7
7
  Gem::Specification.new do |spec|
8
- spec.name = "nameq"
9
- spec.version = NameQ::VERSION
10
- spec.authors = ["Kevin McDonald"]
11
- spec.email = ["kevinstuffandthings@gmail.com"]
12
- spec.summary = %q{Create unique names via numeric suffixes}
13
- spec.description = spec.summary
14
- spec.homepage = "https://github.com/kevinstuffandthings/nameq"
15
- spec.license = "MIT"
8
+ spec.name = "nameq"
9
+ spec.version = NameQ::VERSION
10
+ spec.authors = ["Kevin McDonald"]
11
+ spec.email = ["kevinstuffandthings@gmail.com"]
12
+ spec.summary = "Create unique names via numeric suffixes"
13
+ spec.description = spec.summary
14
+ spec.homepage = "https://github.com/kevinstuffandthings/nameq"
15
+ spec.license = "MIT"
16
16
 
17
- spec.files = `git ls-files -z`.split("\x0")
18
- spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
19
- spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
17
+ spec.files = `git ls-files -z`.split("\x0")
18
+ spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
19
+ spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
20
20
  spec.require_paths = ["lib"]
21
21
 
22
22
  spec.add_development_dependency "bundler"
@@ -25,5 +25,6 @@ Gem::Specification.new do |spec|
25
25
  spec.add_development_dependency "rack-test"
26
26
  spec.add_development_dependency "rake"
27
27
  spec.add_development_dependency "rspec"
28
+ spec.add_development_dependency "standard"
28
29
  spec.add_development_dependency "yard"
29
30
  end
@@ -1,43 +1,43 @@
1
1
  module NameQ
2
2
  describe Directory do
3
- let(:path) { '/path/to/somewhere' }
3
+ let(:path) { "/path/to/somewhere" }
4
4
  let(:subject) { described_class.new(path) }
5
5
 
6
- it 'is a kind of pool' do
6
+ it "is a kind of pool" do
7
7
  expect(subject).to be_a NameQ::Support::Pool
8
8
  end
9
9
 
10
- context 'internals' do
11
- context 'underlying list' do
10
+ context "internals" do
11
+ context "underlying list" do
12
12
  let(:list) { instance_double(NameQ::Support::List) }
13
- let(:result) { subject.instance_variable_get('@list') }
13
+ let(:result) { subject.instance_variable_get("@list") }
14
14
 
15
- it 'builds the right kind of list by default' do
15
+ it "builds the right kind of list by default" do
16
16
  expect(NameQ::Support::List).to receive(:new).with(case_sensitive: true).and_return list
17
17
  expect(result).to eq list
18
18
  end
19
19
 
20
- context 'case-insensitive' do
20
+ context "case-insensitive" do
21
21
  let(:subject) { described_class.new(path, case_sensitive: false) }
22
22
 
23
- it 'builds the right kind of list by default' do
23
+ it "builds the right kind of list by default" do
24
24
  expect(NameQ::Support::List).to receive(:new).with(case_sensitive: false).and_return list
25
25
  expect(result).to eq list
26
26
  end
27
27
  end
28
28
 
29
- context 'refresh' do
30
- let(:path) { File.expand_path('.') }
29
+ context "refresh" do
30
+ let(:path) { File.expand_path(".") }
31
31
  let(:items) { result.send(:all) }
32
32
 
33
- it 'has a block that does the right stuff' do
34
- expect(items).to include('nameq.gemspec', 'Gemfile', 'Rakefile')
33
+ it "has a block that does the right stuff" do
34
+ expect(items).to include("nameq.gemspec", "Gemfile", "Rakefile")
35
35
  end
36
36
  end
37
37
  end
38
38
 
39
- describe '#entry_factory' do
40
- it 'has a special filename entry factory' do
39
+ describe "#entry_factory" do
40
+ it "has a special filename entry factory" do
41
41
  expect(subject.send(:entry_factory)).to eq NameQ::Support::FilenameEntry
42
42
  end
43
43
  end
data/spec/spec_helper.rb CHANGED
@@ -1,4 +1,4 @@
1
- require 'nameq'
1
+ require "nameq"
2
2
 
3
3
  RSpec.configure do |config|
4
4
  config.expect_with :rspec do |expectations|
@@ -1,33 +1,33 @@
1
1
  module NameQ
2
2
  module Support
3
3
  describe FilenameEntry do
4
- let(:text) { 'Some Filename' }
4
+ let(:text) { "Some Filename" }
5
5
  let(:subject) { described_class.new(text) }
6
6
 
7
- describe '#resolve' do
8
- let(:suffix) { instance_double(NameQ::Support::Suffix, to_s: '-yup') }
7
+ describe "#resolve" do
8
+ let(:suffix) { instance_double(NameQ::Support::Suffix, to_s: "-yup") }
9
9
  let(:stripped_text) { "#{text} stripped" }
10
10
  before(:each) { allow(suffix).to receive(:strip).with(text).and_return stripped_text }
11
11
 
12
- context 'without extension' do
13
- it 'resolves itself without a suffix' do
12
+ context "without extension" do
13
+ it "resolves itself without a suffix" do
14
14
  expect(subject.resolve).to eq text
15
15
  end
16
16
 
17
- it 'resolves itself with a suffix' do
17
+ it "resolves itself with a suffix" do
18
18
  expect(subject.resolve(suffix)).to eq "#{stripped_text}#{suffix}"
19
19
  end
20
20
  end
21
21
 
22
- context 'with extension' do
23
- let(:extension) { '.meh' }
22
+ context "with extension" do
23
+ let(:extension) { ".meh" }
24
24
  let(:subject) { described_class.new("#{text}#{extension}") }
25
25
 
26
- it 'resolves itself without a suffix' do
26
+ it "resolves itself without a suffix" do
27
27
  expect(subject.resolve).to eq "#{text}#{extension}"
28
28
  end
29
29
 
30
- it 'resolves itself with a suffix' do
30
+ it "resolves itself with a suffix" do
31
31
  expect(subject.resolve(suffix)).to eq "#{stripped_text}#{suffix}#{extension}"
32
32
  end
33
33
  end
@@ -4,71 +4,71 @@ module NameQ
4
4
  let(:array) { %w[One Two Three] }
5
5
  let(:subject) { described_class.new(array.clone) }
6
6
 
7
- context 'internals' do
8
- describe '#all' do
7
+ context "internals" do
8
+ describe "#all" do
9
9
  let(:refiller) { %w[Four Five] }
10
10
  let(:all) { subject.send(:all) }
11
11
 
12
- context 'array only' do
13
- it 'knows all its stuff' do
12
+ context "array only" do
13
+ it "knows all its stuff" do
14
14
  expect(all).to match_array array
15
15
  end
16
16
  end
17
17
 
18
- context 'refiller only' do
18
+ context "refiller only" do
19
19
  let(:subject) { described_class.new { refiller } }
20
20
 
21
- it 'knows all its stuff' do
21
+ it "knows all its stuff" do
22
22
  expect(all).to match_array refiller
23
23
  end
24
24
  end
25
25
 
26
- context 'all options' do
26
+ context "all options" do
27
27
  let(:subject) { described_class.new(array) { refiller } }
28
28
 
29
- it 'knows all its stuff' do
29
+ it "knows all its stuff" do
30
30
  expect(all).to match_array(array + refiller)
31
31
  end
32
32
  end
33
33
  end
34
34
  end
35
35
 
36
- describe '#include?' do
37
- context 'default (case-sensitive)' do
38
- it 'can miss' do
39
- expect(subject.include?('Eight')).to be false
36
+ describe "#include?" do
37
+ context "default (case-sensitive)" do
38
+ it "can miss" do
39
+ expect(subject.include?("Eight")).to be false
40
40
  end
41
41
 
42
- it 'can miss due to case' do
43
- expect(subject.include?('two')).to be false
42
+ it "can miss due to case" do
43
+ expect(subject.include?("two")).to be false
44
44
  end
45
45
 
46
- it 'can match' do
47
- expect(subject.include?('Two')).to be true
46
+ it "can match" do
47
+ expect(subject.include?("Two")).to be true
48
48
  end
49
49
  end
50
50
 
51
- context 'case-insensitive' do
51
+ context "case-insensitive" do
52
52
  let(:subject) { described_class.new(array, case_sensitive: false) }
53
53
 
54
- it 'can miss' do
55
- expect(subject.include?('Eight')).to be false
54
+ it "can miss" do
55
+ expect(subject.include?("Eight")).to be false
56
56
  end
57
57
 
58
- it 'can match outside case' do
59
- expect(subject.include?('three')).to be true
58
+ it "can match outside case" do
59
+ expect(subject.include?("three")).to be true
60
60
  end
61
61
 
62
- it 'can match' do
63
- expect(subject.include?('Three')).to be true
62
+ it "can match" do
63
+ expect(subject.include?("Three")).to be true
64
64
  end
65
65
  end
66
66
  end
67
67
 
68
- describe '#add' do
69
- let(:value) { 'Eight' }
68
+ describe "#add" do
69
+ let(:value) { "Eight" }
70
70
 
71
- it 'adds items when you ask it to' do
71
+ it "adds items when you ask it to" do
72
72
  expect(subject.send(:all)).to match_array array
73
73
  expect(subject.add(value)).to eq value
74
74
  expect(subject.send(:all)).to match_array(array + [value])
@@ -4,17 +4,17 @@ module NameQ
4
4
  let(:list) { instance_double(NameQ::Support::List) }
5
5
  let(:subject) { described_class.new(list) }
6
6
 
7
- context 'internals' do
8
- describe '#suffixes' do
7
+ context "internals" do
8
+ describe "#suffixes" do
9
9
  let(:suffixes) { subject.send(:suffixes) }
10
10
 
11
- it 'can get a suffix' do
11
+ it "can get a suffix" do
12
12
  result = suffixes.first
13
13
  expect(result).to be_a NameQ::Support::Suffix
14
14
  expect(result.index).to eq 1
15
15
  end
16
16
 
17
- it 'can get 10 suffixes and you have to just trust that it can get even more' do
17
+ it "can get 10 suffixes and you have to just trust that it can get even more" do
18
18
  count = 0
19
19
  suffixes.each_with_index do |suffix, i|
20
20
  expect(suffix).to be_a NameQ::Support::Suffix
@@ -25,13 +25,13 @@ module NameQ
25
25
  end
26
26
  end
27
27
 
28
- describe '#entry_factory' do
29
- it 'has a default entry factory' do
28
+ describe "#entry_factory" do
29
+ it "has a default entry factory" do
30
30
  expect(subject.send(:entry_factory)).to eq NameQ::Support::StringEntry
31
31
  end
32
32
  end
33
33
 
34
- describe '#resolve' do
34
+ describe "#resolve" do
35
35
  let(:resolution) { double }
36
36
  let(:entry) { instance_double(NameQ::Support::StringEntry, resolve: resolution) }
37
37
  let(:suffixes) { 3.times.map { |i| instance_double(NameQ::Support::Suffix, index: (i + 1) * 8) } }
@@ -41,32 +41,32 @@ module NameQ
41
41
  allow(list).to receive(:include?).with(resolution).and_return false
42
42
  end
43
43
 
44
- it 'can hit on the first try' do
44
+ it "can hit on the first try" do
45
45
  expect(subject.send(:resolve, entry)).to eq resolution
46
46
  end
47
47
 
48
- it 'can hit... eventually...' do
48
+ it "can hit... eventually..." do
49
49
  [0, 1].each { |i| allow(entry).to receive(:resolve).with(suffixes[i]).and_return double }
50
50
  expect(subject.send(:resolve, entry)).to eq resolution
51
51
  end
52
52
  end
53
53
  end
54
54
 
55
- describe '#take' do
55
+ describe "#take" do
56
56
  let(:name) { double }
57
57
 
58
- it 'can take a name when available' do
58
+ it "can take a name when available" do
59
59
  allow(list).to receive(:include?).with(name).and_return false
60
60
  expect(list).to receive(:add).with(name).and_return name
61
61
  expect(subject.take(name)).to eq name
62
62
  end
63
63
 
64
- context 'fallback' do
64
+ context "fallback" do
65
65
  let(:entry) { double }
66
66
  let(:resolved_name) { double }
67
67
  before(:each) { allow(subject.send(:entry_factory)).to receive(:new).with(name).and_return entry }
68
68
 
69
- it 'can fall back a few when needed' do
69
+ it "can fall back a few when needed" do
70
70
  allow(list).to receive(:include?).with(name).and_return true
71
71
  expect(subject).to receive(:resolve).with(entry).and_return resolved_name
72
72
  expect(list).to receive(:add).with(resolved_name)
@@ -1,19 +1,19 @@
1
1
  module NameQ
2
2
  module Support
3
3
  describe StringEntry do
4
- let(:text) { 'This is something' }
4
+ let(:text) { "This is something" }
5
5
  let(:subject) { described_class.new(text) }
6
6
 
7
- describe '#resolve' do
8
- let(:suffix) { instance_double(NameQ::Support::Suffix, to_s: '!') }
7
+ describe "#resolve" do
8
+ let(:suffix) { instance_double(NameQ::Support::Suffix, to_s: "!") }
9
9
  let(:stripped_text) { "#{text} stripped" }
10
10
  before(:each) { allow(suffix).to receive(:strip).with(text).and_return stripped_text }
11
11
 
12
- it 'resolves itself without a suffix' do
12
+ it "resolves itself without a suffix" do
13
13
  expect(subject.resolve).to eq text
14
14
  end
15
15
 
16
- it 'resolves itself with a suffix' do
16
+ it "resolves itself with a suffix" do
17
17
  expect(subject.resolve(suffix)).to eq "#{stripped_text}!"
18
18
  end
19
19
  end
@@ -1,52 +1,52 @@
1
1
  module NameQ
2
2
  module Support
3
3
  describe Suffix do
4
- let(:index) { '88' }
4
+ let(:index) { "88" }
5
5
  let(:subject) { described_class.new(index) }
6
- let(:custom_template) { '-[%{index}]-' }
6
+ let(:custom_template) { "-[%{index}]-" }
7
7
 
8
- describe '#strip' do
9
- let(:text) { 'How about this' }
8
+ describe "#strip" do
9
+ let(:text) { "How about this" }
10
10
 
11
- it 'can ignore templateless content' do
11
+ it "can ignore templateless content" do
12
12
  expect(subject.strip(text)).to eq text
13
13
  end
14
14
 
15
- it 'can strip the content of its template' do
15
+ it "can strip the content of its template" do
16
16
  expect(subject.strip("#{text} (7)")).to eq text
17
17
  end
18
18
 
19
- it 'is not tripped up by template-like content' do
19
+ it "is not tripped up by template-like content" do
20
20
  expect(subject.strip("#{text} (7)!")).to eq "#{text} (7)!"
21
21
  end
22
22
 
23
- context 'overridden template' do
23
+ context "overridden template" do
24
24
  let(:subject) { described_class.new(index, template: custom_template) }
25
25
 
26
- it 'can strip the content of its template' do
26
+ it "can strip the content of its template" do
27
27
  expect(subject.strip("#{text}-[7]-")).to eq text
28
28
  end
29
29
 
30
- it 'is not tripped up by template-like content' do
30
+ it "is not tripped up by template-like content" do
31
31
  expect(subject.strip("#{text}-[7]-!")).to eq "#{text}-[7]-!"
32
32
  end
33
33
 
34
- it 'is not tripped up by default template-like content' do
34
+ it "is not tripped up by default template-like content" do
35
35
  expect(subject.strip("#{text} (7)")).to eq "#{text} (7)"
36
36
  end
37
37
  end
38
38
  end
39
39
 
40
- describe '#to_s' do
41
- it 'works out fine with the default template' do
42
- expect(subject.to_s).to eq ' (88)'
40
+ describe "#to_s" do
41
+ it "works out fine with the default template" do
42
+ expect(subject.to_s).to eq " (88)"
43
43
  end
44
44
 
45
- context 'overridden template' do
45
+ context "overridden template" do
46
46
  let(:subject) { described_class.new(index, template: custom_template) }
47
47
 
48
- it 'works out fine with the overridden template' do
49
- expect(subject.to_s).to eq '-[88]-'
48
+ it "works out fine with the overridden template" do
49
+ expect(subject.to_s).to eq "-[88]-"
50
50
  end
51
51
  end
52
52
  end
@@ -3,32 +3,32 @@ module NameQ
3
3
  let(:items) { %w[all of these names] }
4
4
  let(:subject) { described_class.new(items) }
5
5
 
6
- it 'is a kind of pool' do
6
+ it "is a kind of pool" do
7
7
  expect(subject).to be_a NameQ::Support::Pool
8
8
  end
9
9
 
10
- context 'internals' do
11
- context 'underlying list' do
10
+ context "internals" do
11
+ context "underlying list" do
12
12
  let(:list) { instance_double(NameQ::Support::List) }
13
- let(:result) { subject.instance_variable_get('@list') }
13
+ let(:result) { subject.instance_variable_get("@list") }
14
14
 
15
- it 'builds the right kind of list by default' do
15
+ it "builds the right kind of list by default" do
16
16
  expect(NameQ::Support::List).to receive(:new).with(items, case_sensitive: true).and_return list
17
17
  expect(result).to eq list
18
18
  end
19
19
 
20
- context 'case-insensitive' do
20
+ context "case-insensitive" do
21
21
  let(:subject) { described_class.new(items, case_sensitive: false) }
22
22
 
23
- it 'builds the right kind of list by default' do
23
+ it "builds the right kind of list by default" do
24
24
  expect(NameQ::Support::List).to receive(:new).with(items, case_sensitive: false).and_return list
25
25
  expect(result).to eq list
26
26
  end
27
27
  end
28
28
  end
29
29
 
30
- describe '#entry_factory' do
31
- it 'has a regular string entry factory' do
30
+ describe "#entry_factory" do
31
+ it "has a regular string entry factory" do
32
32
  expect(subject.send(:entry_factory)).to eq NameQ::Support::StringEntry
33
33
  end
34
34
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: nameq
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kevin McDonald
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-08-15 00:00:00.000000000 Z
11
+ date: 2021-07-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -94,6 +94,20 @@ dependencies:
94
94
  - - ">="
95
95
  - !ruby/object:Gem::Version
96
96
  version: '0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: standard
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ">="
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
97
111
  - !ruby/object:Gem::Dependency
98
112
  name: yard
99
113
  requirement: !ruby/object:Gem::Requirement
@@ -117,6 +131,7 @@ extra_rdoc_files: []
117
131
  files:
118
132
  - ".github/ISSUE_TEMPLATE/bug_report.md"
119
133
  - ".github/ISSUE_TEMPLATE/feature_request.md"
134
+ - ".github/workflows/gem-push.yml"
120
135
  - ".github/workflows/ruby.yml"
121
136
  - ".gitignore"
122
137
  - ".rspec"
@@ -149,7 +164,7 @@ homepage: https://github.com/kevinstuffandthings/nameq
149
164
  licenses:
150
165
  - MIT
151
166
  metadata: {}
152
- post_install_message:
167
+ post_install_message:
153
168
  rdoc_options: []
154
169
  require_paths:
155
170
  - lib
@@ -164,9 +179,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
164
179
  - !ruby/object:Gem::Version
165
180
  version: '0'
166
181
  requirements: []
167
- rubyforge_project:
168
- rubygems_version: 2.6.14
169
- signing_key:
182
+ rubygems_version: 3.0.3.1
183
+ signing_key:
170
184
  specification_version: 4
171
185
  summary: Create unique names via numeric suffixes
172
186
  test_files: