rpr 1.5.0 → 1.6.0

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 (4) hide show
  1. checksums.yaml +4 -4
  2. data/lib/rpr.rb +14 -4
  3. data/lib/rpr/version.rb +1 -1
  4. metadata +3 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 929724a517a5ae1fc0a34c3e5c7a60fa4bdec28f74c32e35d34990e1dd12d2ca
4
- data.tar.gz: 3d8d888bf9046ac79adfbc28f8a08793f4a5a1ade550665034a2edd0cffb6b0f
3
+ metadata.gz: '082bfbbd6409219649bd31a9ad2c773f882ccce3f750f6e1c86c57cafe3c3df4'
4
+ data.tar.gz: a81c297f44fe1e5421d141f0dd012bc764d2aff4187ebf5e0b8f177f1497af97
5
5
  SHA512:
6
- metadata.gz: 04e06a64b93f42ed872ed50925d859dae8c3a2d07301befcc8c71279a3e84d10e7d66ea6668960de9fc256fc2c4cecee144bc6bee27d327859bd2104006a2976
7
- data.tar.gz: c8d3c762c3a48155ff2c8e3bde3972c67b6cd2ead181d7c3eecd3873ba46ec3d466071820ea92bd5bb30ef33483c66d83b607db67619daea58dcbb59df6df877
6
+ metadata.gz: 72a10ba56a8e68e10d275aa91ee554dd91d99e9aa23c0e87400c606fd53a18ab216d709ff30ecbbd6df3a211ec23c724a74620591c6340dc9409f5d580fdcfbb
7
+ data.tar.gz: 6dc2e3364f3052c3f315022848f4b05bd1476e566ffd68a254e11fa0c45e7e0ad6ac37411aa26baddfb84d6003d73356d02e1b504fa4cb9caba2f8ea59ab50c3
data/lib/rpr.rb CHANGED
@@ -43,7 +43,12 @@ module Rpr
43
43
  require "rpr/formatter/#{name}"
44
44
  Formatter.const_get(:"#{name[0].upcase}#{name[1..-1]}")
45
45
  rescue LoadError
46
- raise UnknownFormatter, "#{name} is unknown formatter."
46
+ raise UnknownFormatter, "#{name} is unknown formatter. It supports #{self.formatters.join('|')}"
47
+ end
48
+
49
+ def formatters
50
+ Dir.glob(File.join(__dir__, 'rpr/formatter/*.rb'))
51
+ .map { |fname| File.basename(fname, '.rb')}
47
52
  end
48
53
 
49
54
  # @param [Symbol] name
@@ -52,7 +57,12 @@ module Rpr
52
57
  require "rpr/parser/#{name}"
53
58
  Parser.const_get(:"#{name[0].upcase}#{name[1..-1]}")
54
59
  rescue LoadError
55
- raise UnknownParser, "#{name} is unknown parser."
60
+ raise UnknownParser, "#{name} is unknown parser. It supports #{self.parsers.join('|')}"
61
+ end
62
+
63
+ def parsers
64
+ Dir.glob(File.join(__dir__, 'rpr/parser/*.rb'))
65
+ .map { |fname| File.basename(fname, '.rb')}
56
66
  end
57
67
 
58
68
  # @param [Array<String>] args
@@ -66,9 +76,9 @@ module Rpr
66
76
 
67
77
  opt = OptionParser.new
68
78
 
69
- opt.on('-f=FORMATTER', '--formatter=FORMATTER'){|v| res[:formatter] = v.to_sym}
79
+ opt.on('-f=FORMATTER', '--formatter=FORMATTER', self.formatters.join('|')){|v| res[:formatter] = v.to_sym}
70
80
  opt.on('-o=FILE', '--out=FILE'){|v| $stdout = File.new(v, 'w')}
71
- opt.on('-p=PARSER', '--parser=PARSER'){|v| res[:parser] = v.to_sym}
81
+ opt.on('-p=PARSER', '--parser=PARSER', self.parsers.join('|')){|v| res[:parser] = v.to_sym}
72
82
  opt.on('-e=CODE'){|v| res[:expression] = v}
73
83
  opt.on('-v', '--version'){|v| res[:version] = v}
74
84
 
@@ -1,3 +1,3 @@
1
1
  module Rpr
2
- VERSION = "1.5.0"
2
+ VERSION = "1.6.0"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rpr
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.5.0
4
+ version: 1.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Masataka Kuwabara
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2018-02-09 00:00:00.000000000 Z
11
+ date: 2018-09-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: pry
@@ -245,7 +245,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
245
245
  version: '0'
246
246
  requirements: []
247
247
  rubyforge_project:
248
- rubygems_version: 2.7.5
248
+ rubygems_version: 2.7.6
249
249
  signing_key:
250
250
  specification_version: 4
251
251
  summary: RPR displays Ruby's AST on command line.