patter 1.0.15 → 1.0.19

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c2d87bc887c396ded4af1844c523edc402bf92809db1774641cb1cd9ecaf7534
4
- data.tar.gz: 6b0a82b6329e8b9ad983244789217cd1050c7d12b597e7dbeedbbdf6c8b3d723
3
+ metadata.gz: 99710e7fd6f480dd6cffddd4c5aadb3757293ee26b9686578b0101f35fc08ba1
4
+ data.tar.gz: 32e673a6583d1d0463dee944a5bd17fc604445f92e82e49a120601071b7c1c94
5
5
  SHA512:
6
- metadata.gz: c213af8080ca6a92a54c71249c894f3832284213910475e720f3be0e2b7b69c204b0cdc6c4c8d9a0a6b81351f012fbe2ccd744ee895fe7ddfb58535834bc5447
7
- data.tar.gz: e207ea82e3d5c0a7e9c8213ca7a6760fe68b2cef5fd741159b35a9a6f9b657c34a970c45e1db7abc33915a6eb3b9af5eecd8f46e6b85b8dff4999ba9c9969a10
6
+ metadata.gz: 1a71bfa8750f6c892585d8dbb37deeb5db2556b8045c0b37f40b622bafa53660669e9a88a28fb2ea25b5727a154ae0bb16e1334fd139a8a1479217557ff6f760
7
+ data.tar.gz: 33347562bb5b6a687ab1f2a8f2fb1a91d0a3be975edd4c79486960eec70303e0129b421be65d65192fb786f5a7a6cc2a968f50977843933890b8bd8916946b4d
data/bin/patter CHANGED
@@ -4,27 +4,33 @@ include Patter
4
4
 
5
5
  class Main
6
6
  def self.run(opts)
7
+ if opts['--version']
8
+ puts VERSION
9
+ exit
10
+ end
11
+
7
12
  opts['--count'].to_i.times do
8
13
  puts Pattern.new(opts['<pattern>']).to_s
9
14
  end
10
15
  end
11
16
  end
12
17
 
13
- docs = <<~EOF
14
- #{'Usage:'.bold}
15
- #{File.basename $0} [options] <pattern>
18
+ usage = <<~EOF
19
+ Usage:
20
+ #{File.basename($0)} [options] <pattern>
21
+ #{File.basename($0)} ( --version | --help )
16
22
 
17
- #{'Options:'.bold}
23
+ Options:
18
24
  -n, --count N Number of patterns to generate [default: 10]
19
25
  -v, --version Show version
20
26
  -h, --help Show this help
21
27
 
22
- #{'Tags:'.bold}
28
+ Tags:
23
29
  {A} adjective {N} noun
24
30
  {S} symbol {D} digit
25
31
  {C} character
26
32
 
27
- #{'Modifiers:'.bold}
33
+ Modifiers:
28
34
  s: plural t: titlecase
29
35
  u: uppercase l: lowercase
30
36
  a: AlTeRnAtE case
@@ -32,7 +38,7 @@ docs = <<~EOF
32
38
 
33
39
  Apply modifiers using a colon after the tag name.
34
40
 
35
- #{'Examples:'.bold}
41
+ Examples:
36
42
  Ten random uppercase letters: {C:10u}
37
43
  Three camelcase nouns: {N:3t}
38
44
  Plural, titlecase noun: {N:ts}
@@ -42,8 +48,8 @@ docs = <<~EOF
42
48
  EOF
43
49
 
44
50
  begin
45
- Main.run(Docopt::docopt(docs, version: VERSION))
46
- rescue Docopt::Exit => e
47
- puts e.message
48
- exit 1
51
+ Main.run(Docopt.docopt(usage))
52
+ rescue Docopt::Exit
53
+ puts usage
54
+ exit 2
49
55
  end
@@ -2,46 +2,57 @@ module Patter
2
2
  class Inflector
3
3
  class << self
4
4
  RULES = [
5
- [/(z)ombies$/i, "\\1ombies"],
6
- [/(z)ombie$/i, "\\1ombies"],
7
- [/k(?i)ine$/, "kine"],
8
- [/K(?i)ine$/, "Kine"],
9
- [/c(?i)ow$/, "kine"],
10
- [/C(?i)ow$/, "Kine"],
11
- [/(m)oves$/i, "\\1oves"],
12
- [/(m)ove$/i, "\\1oves"],
13
- [/(s)exes$/i, "\\1exes"],
14
- [/(s)ex$/i, "\\1exes"],
15
- [/(c)hildren$/i, "\\1hildren"],
16
- [/(c)hild$/i, "\\1hildren"],
17
- [/(m)en$/i, "\\1en"],
18
- [/(m)an$/i, "\\1en"],
19
- [/(p)eople$/i, "\\1eople"],
20
- [/(p)erson$/i, "\\1eople"],
21
- [/(quiz)$/i, "\\1zes"],
22
- [/^(oxen)$/i, "\\1"],
23
- [/^(ox)$/i, "\\1en"],
24
- [/^(m|l)ice$/i, "\\1ice"],
25
- [/^(m|l)ouse$/i, "\\1ice"],
26
- [/(matr|vert|ind)(?:ix|ex)$/i, "\\1ices"],
27
- [/(x|ch|ss|sh)$/i, "\\1es"],
28
- [/([^aeiouy]|qu)y$/i, "\\1ies"],
29
- [/(hive)$/i, "\\1s"],
30
- [/(?:([^f])fe|([lr])f)$/i, "\\1\\2ves"],
31
- [/sis$/i, "ses"],
32
- [/([ti])a$/i, "\\1a"],
33
- [/([ti])um$/i, "\\1a"],
34
- [/(buffal|tomat)o$/i, "\\1oes"],
35
- [/(bu)s$/i, "\\1ses"],
36
- [/(alias|status)$/i, "\\1es"],
37
- [/(octop|vir)i$/i, "\\1i"],
38
- [/(octop|vir)us$/i, "\\1i"],
39
- [/^(ax|test)is$/i, "\\1es"],
40
- [/s$/i, "s"],
41
- [/$/, "s"]
5
+ [/(z)ombies$/i, '\\1ombies'],
6
+ [/(z)ombie$/i, '\\1ombies'],
7
+ [/k(?i)ine$/, 'kine'],
8
+ [/K(?i)ine$/, 'Kine'],
9
+ [/c(?i)ow$/, 'kine'],
10
+ [/C(?i)ow$/, 'Kine'],
11
+ [/(m)oves$/i, '\\1oves'],
12
+ [/(m)ove$/i, '\\1oves'],
13
+ [/(s)exes$/i, '\\1exes'],
14
+ [/(s)ex$/i, '\\1exes'],
15
+ [/(c)hildren$/i, '\\1hildren'],
16
+ [/(c)hild$/i, '\\1hildren'],
17
+ [/(m)en$/i, '\\1en'],
18
+ [/(m)an$/i, '\\1en'],
19
+ [/(p)eople$/i, '\\1eople'],
20
+ [/(p)erson$/i, '\\1eople'],
21
+ [/(quiz)$/i, '\\1zes'],
22
+ [/^(oxen)$/i, '\\1'],
23
+ [/^(ox)$/i, '\\1en'],
24
+ [/^(m|l)ice$/i, '\\1ice'],
25
+ [/^(m|l)ouse$/i, '\\1ice'],
26
+ [/(matr|vert|ind)(?:ix|ex)$/i, '\\1ices'],
27
+ [/(x|ch|ss|sh)$/i, '\\1es'],
28
+ [/([^aeiouy]|qu)y$/i, '\\1ies'],
29
+ [/(hive)$/i, '\\1s'],
30
+ [/(?:([^f])fe|([lr])f)$/i, '\\1\\2ves'],
31
+ [/sis$/i, 'ses'],
32
+ [/([ti])a$/i, '\\1a'],
33
+ [/([ti])um$/i, '\\1a'],
34
+ [/(buffal|tomat)o$/i, '\\1oes'],
35
+ [/(bu)s$/i, '\\1ses'],
36
+ [/(alias|status)$/i, '\\1es'],
37
+ [/(octop|vir)i$/i, '\\1i'],
38
+ [/(octop|vir)us$/i, '\\1i'],
39
+ [/^(ax|test)is$/i, '\\1es'],
40
+ [/s$/i, 's'],
41
+ [/$/, 's'],
42
42
  ]
43
43
 
44
- UNCOUNTABLES = %w(equipment information rice money species series fish sheep jeans police)
44
+ UNCOUNTABLES = %w[
45
+ equipment
46
+ information
47
+ rice
48
+ money
49
+ species
50
+ series
51
+ fish
52
+ sheep
53
+ jeans
54
+ police
55
+ ]
45
56
 
46
57
  def pluralize(str)
47
58
  if str.empty? || UNCOUNTABLES.any?(str)
@@ -23,7 +23,8 @@ module Patter
23
23
 
24
24
  def to_s
25
25
  @pattern.gsub(/\{([#{TAGS.keys.join}])(:(\w+))?\}/) do
26
- tag, modifiers = $1, $3
26
+ tag = $1
27
+ modifiers = $3
27
28
  source = @source_provider.get_source(TAGS[tag])
28
29
 
29
30
  next source.get_sample if !modifiers
@@ -13,7 +13,7 @@ module Patter
13
13
  end
14
14
 
15
15
  def chars
16
- 'abcdefghijklmnopqrstuvwxyz'.split('').shuffle
16
+ 'abcdefghijklmnopqrstuvwxyz'.chars.shuffle
17
17
  end
18
18
 
19
19
  def adjectives
@@ -25,11 +25,11 @@ module Patter
25
25
  end
26
26
 
27
27
  def symbols
28
- '!#$%&()*+,-=./:;<?>@[\]^_'.split('')
28
+ '!#$%&()*+,-=./:;<?>@[\]^_'.chars
29
29
  end
30
30
 
31
31
  def digits
32
- '123456789'.split('')
32
+ '123456789'.chars
33
33
  end
34
34
  end
35
35
  end
@@ -1,3 +1,3 @@
1
1
  module Patter
2
- VERSION = "1.0.15"
2
+ VERSION = '1.0.19'
3
3
  end
data/lib/patter.rb CHANGED
@@ -5,7 +5,7 @@ require 'singleton'
5
5
 
6
6
  module Patter
7
7
  def self.root_dir
8
- File.expand_path('../..', __FILE__)
8
+ File.expand_path('..', __dir__)
9
9
  end
10
10
  end
11
11
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: patter
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.15
4
+ version: 1.0.19
5
5
  platform: ruby
6
6
  authors:
7
7
  - crdx
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-07-20 00:00:00.000000000 Z
11
+ date: 2021-10-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: colorize
@@ -39,19 +39,19 @@ dependencies:
39
39
  - !ruby/object:Gem::Version
40
40
  version: 0.6.1
41
41
  - !ruby/object:Gem::Dependency
42
- name: simplecov
42
+ name: rake
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: 0.17.0
47
+ version: '13.0'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: 0.17.0
54
+ version: '13.0'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: rspec
57
57
  requirement: !ruby/object:Gem::Requirement
@@ -67,19 +67,19 @@ dependencies:
67
67
  - !ruby/object:Gem::Version
68
68
  version: '3.8'
69
69
  - !ruby/object:Gem::Dependency
70
- name: rake
70
+ name: simplecov
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
73
  - - "~>"
74
74
  - !ruby/object:Gem::Version
75
- version: '12.3'
75
+ version: '0.21'
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - "~>"
81
81
  - !ruby/object:Gem::Version
82
- version: '12.3'
82
+ version: '0.21'
83
83
  description:
84
84
  email:
85
85
  executables:
@@ -109,7 +109,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
109
109
  requirements:
110
110
  - - ">="
111
111
  - !ruby/object:Gem::Version
112
- version: '0'
112
+ version: '3.0'
113
113
  required_rubygems_version: !ruby/object:Gem::Requirement
114
114
  requirements:
115
115
  - - ">="