patter 1.0.16 → 1.0.20

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: 91337f86a57516a01c5643ee87b3b1171d22bf01840c1b8dead41385935d857b
4
- data.tar.gz: 6845c4dd7e138f8616dc51e7736f78fe7ca90b9eb197df31115a05797ff1e048
3
+ metadata.gz: f7319a8fb6689c116c58b4670d0fe8a6fb538de8ab13fedccd5176e39d42d48a
4
+ data.tar.gz: ea2575791a3f160d0131dc4de47f3b4e0fb4419567d114464181aabd3e6972fa
5
5
  SHA512:
6
- metadata.gz: ced8ea301838a1d1a301606584f9a4a218e6e4cb8eb275bfa6eebeceed592171bba3dd89526c6dc4fcc104ec6b374c24e0a30373216d24d8de8ac989bb18264d
7
- data.tar.gz: 5311c80ed01b4db0750f752354a2d8872b5176a9e3832a5849386096411951547b20c169125733226b30bfae9891ee8cc860b43811f5debcd6ebf4f7529c4ef5
6
+ metadata.gz: 8c34b3b2aca5a11c0f5e6d29452254dc369281a6089df222bc97eb44055d5ceba6c3ffab4e8766ad17c48d7ad5a207099ae92df610c6fcdba56c6e143f8e32f5
7
+ data.tar.gz: 8bc9adccd7e91fbbcd132308091afebd0cbf52bcefbe2c9da74e27812a3d7ed4a982a15d2f3d4992b7afd880fd0ea8da1ef05a1a3d1627904c8dc78ede94b05d
data/bin/patter CHANGED
@@ -4,6 +4,11 @@ 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
@@ -12,8 +17,8 @@ end
12
17
 
13
18
  usage = <<~EOF
14
19
  Usage:
15
- #{File.basename $0} [options] <pattern>
16
- #{File.basename $0} ( --version | --help )
20
+ #{File.basename($0)} [options] <pattern>
21
+ #{File.basename($0)} ( --version | --help )
17
22
 
18
23
  Options:
19
24
  -n, --count N Number of patterns to generate [default: 10]
@@ -43,8 +48,8 @@ usage = <<~EOF
43
48
  EOF
44
49
 
45
50
  begin
46
- Main.run(Docopt::docopt(usage))
47
- rescue Docopt::Exit => e
51
+ Main.run(Docopt.docopt(usage))
52
+ rescue Docopt::Exit
48
53
  puts usage
49
- exit 1
54
+ exit 2
50
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.16"
2
+ VERSION = '1.0.20'
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.16
4
+ version: 1.0.20
5
5
  platform: ruby
6
6
  authors:
7
7
  - crdx
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-10-05 00:00:00.000000000 Z
11
+ date: 2021-11-17 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.21'
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.21'
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: '13.0'
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: '13.0'
82
+ version: '0.21'
83
83
  description:
84
84
  email:
85
85
  executables:
@@ -100,7 +100,8 @@ files:
100
100
  homepage: https://github.com/crdx/patter
101
101
  licenses:
102
102
  - MIT
103
- metadata: {}
103
+ metadata:
104
+ rubygems_mfa_required: 'true'
104
105
  post_install_message:
105
106
  rdoc_options: []
106
107
  require_paths:
@@ -109,14 +110,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
109
110
  requirements:
110
111
  - - ">="
111
112
  - !ruby/object:Gem::Version
112
- version: '0'
113
+ version: '3.0'
113
114
  required_rubygems_version: !ruby/object:Gem::Requirement
114
115
  requirements:
115
116
  - - ">="
116
117
  - !ruby/object:Gem::Version
117
118
  version: '0'
118
119
  requirements: []
119
- rubygems_version: 3.2.21
120
+ rubygems_version: 3.2.29
120
121
  signing_key:
121
122
  specification_version: 4
122
123
  summary: Pattern generator