rpr 0.8.0 → 0.9.0

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
  SHA1:
3
- metadata.gz: 3a4d24bdadcaf47084a445631d39bd63e523f04a
4
- data.tar.gz: 3b4ab4d48fb0489569529dd35c89050edfe0c338
3
+ metadata.gz: 11c20c5522404b3b60be41e241af6217eaf62c42
4
+ data.tar.gz: 231f5492051917eea2053c8ace3f4f7f0f347544
5
5
  SHA512:
6
- metadata.gz: 60cffce494881d5bb8370bb11dae8731b8bbdfd7da1be1c60f4724775393f4b6a9e7000afb7cfd93b03e70d2a801faab1eeb2e07de7b6f4d3409f79a9010f2e5
7
- data.tar.gz: eb749728ae6102d1cd94f8de4d1ed0ae1fb5a6e693ce775086ae08b658938757e598c110be22656cd6ec8dd4372911c82d1587d04cf8a74c1b93231f29c6a656
6
+ metadata.gz: e4bc03ce715ef74b54eca008b2387f282f75a513d435b2ccae20aa82f13ff5b6ffe17464c06befa5a6fa3579606987b1bf1be6aa994b7906d3197f79edb4c7f2
7
+ data.tar.gz: 52a747b0910491ab8ad23c1098d664a71fc61497c34b19f8217893b591ffe52130cbafe8f85d0055f3c80a8af72ebdb543a19228b58c8cbabe6a57d40a997e3d
data/lib/rpr.rb CHANGED
@@ -16,9 +16,10 @@ module Rpr
16
16
  end
17
17
 
18
18
  formatter = find_formatter(options[:formatter])
19
- ARGV.each do |fname|
19
+ parser = find_parser(options[:method])
20
+ args.each do |fname|
20
21
  code = File.read(fname)
21
- res = Ripper.__send__ options[:method], code
22
+ res = parser.parse(code)
22
23
 
23
24
  formatter.print(res)
24
25
  end
@@ -35,6 +36,15 @@ module Rpr
35
36
  raise "#{name} is unknown formatter."
36
37
  end
37
38
 
39
+ # @param [String] name
40
+ # @return [Module]
41
+ def find_parser(name)
42
+ require "rpr/parser/#{name}"
43
+ Parser.const_get(:"#{name[0].upcase}#{name[1..-1]}")
44
+ rescue LoadError
45
+ raise "#{name} is unknown parser."
46
+ end
47
+
38
48
  # @param [Array<String>] args
39
49
  def parse_args(args)
40
50
  res = {
@@ -0,0 +1,12 @@
1
+ require 'rubocop'
2
+
3
+ module Rpr
4
+ module Parser
5
+ module Rubocop
6
+ def self.parse(code)
7
+ r = RuboCop::ProcessedSource.new(code, RUBY_VERSION.to_f)
8
+ return r.ast
9
+ end
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,11 @@
1
+ require 'ripper'
2
+
3
+ module Rpr
4
+ module Parser
5
+ module Sexp
6
+ def self.parse(code)
7
+ return Ripper.sexp(code)
8
+ end
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,11 @@
1
+ require 'ripper'
2
+
3
+ module Rpr
4
+ module Parser
5
+ module Tokenize
6
+ def self.parse(code)
7
+ return Ripper.tokenize(code)
8
+ end
9
+ end
10
+ end
11
+ end
data/lib/rpr/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Rpr
2
- VERSION = "0.8.0"
2
+ VERSION = "0.9.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: 0.8.0
4
+ version: 0.9.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: 2016-05-20 00:00:00.000000000 Z
11
+ date: 2016-05-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: pry
@@ -160,6 +160,9 @@ files:
160
160
  - lib/rpr/formatter/json.rb
161
161
  - lib/rpr/formatter/pp.rb
162
162
  - lib/rpr/formatter/pry.rb
163
+ - lib/rpr/parser/rubocop.rb
164
+ - lib/rpr/parser/sexp.rb
165
+ - lib/rpr/parser/tokenize.rb
163
166
  - lib/rpr/version.rb
164
167
  - rpr.gemspec
165
168
  homepage: https://github.com/pocke/rpr