rpr 1.5.0 → 1.6.0

Sign up to get free protection for your applications and to get access to all the features.
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.