rpr 0.8.0 → 0.9.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.
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