imagen 0.1.3 → 0.1.4
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 +5 -5
- data/lib/imagen/ast/builder.rb +14 -0
- data/lib/imagen/ast/parser.rb +28 -0
- data/lib/imagen/node.rb +6 -2
- data/lib/imagen/version.rb +1 -1
- metadata +5 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: dd2abfa3ac968c14a9bbfabbd1dfbbb53512e874
|
4
|
+
data.tar.gz: d1f28df309ae470eb2ce03e48d66b1c7f70966b8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: fa11acb0c204fb8377a9e418a184755092f7e81065e84a42dbfeea9963b1df946aa55796f4913a959bb9d8f3c2fbab51b1d672696972b75aa459df61cd4b04ae
|
7
|
+
data.tar.gz: 7f078ca350a97cfe3b52505749c401554df2d5a1ed56893eb6ee5192a6d48f7ef25d33534eaa45c19521e6467fde1beb80ba8ee08e1042e1569eca3cad1b96b8
|
@@ -0,0 +1,14 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Imagen
|
4
|
+
module AST
|
5
|
+
# An AST Builder for ruby parser.
|
6
|
+
class Builder < ::Parser::Builders::Default
|
7
|
+
# This is a work around for parsing ruby code that with invlalid UTF-8
|
8
|
+
# https://github.com/whitequark/parser/issues/283
|
9
|
+
def string_value(token)
|
10
|
+
value(token)
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'parser/current'
|
4
|
+
require 'imagen/ast/builder'
|
5
|
+
|
6
|
+
module Imagen
|
7
|
+
module AST
|
8
|
+
module Parser
|
9
|
+
def self.parse_file(filename)
|
10
|
+
parse(File.read(filename), filename)
|
11
|
+
end
|
12
|
+
|
13
|
+
def self.parse(input, file = '(string)')
|
14
|
+
buffer = ::Parser::Source::Buffer.new(file)
|
15
|
+
buffer.source = input
|
16
|
+
default_parser.parse(buffer)
|
17
|
+
end
|
18
|
+
|
19
|
+
def self.default_parser
|
20
|
+
::Parser::CurrentRuby.new(AST::Builder.new).tap do |parser|
|
21
|
+
diagnostics = parser.diagnostics
|
22
|
+
diagnostics.all_errors_are_fatal = true
|
23
|
+
diagnostics.ignore_warnings = true
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
data/lib/imagen/node.rb
CHANGED
@@ -1,5 +1,9 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
+
require 'parser/current'
|
4
|
+
require 'imagen/ast/parser'
|
5
|
+
require 'imagen/ast/builder'
|
6
|
+
|
3
7
|
module Imagen
|
4
8
|
module Node
|
5
9
|
# Abstract base class
|
@@ -64,7 +68,7 @@ module Imagen
|
|
64
68
|
attr_reader :dir
|
65
69
|
|
66
70
|
def build_from_file(path)
|
67
|
-
Imagen::Visitor.traverse(Parser
|
71
|
+
Imagen::Visitor.traverse(Imagen::AST::Parser.parse_file(path), self)
|
68
72
|
rescue Parser::SyntaxError => err
|
69
73
|
warn "#{path}: #{err} #{err.message}"
|
70
74
|
self
|
@@ -74,7 +78,7 @@ module Imagen
|
|
74
78
|
@dir = dir
|
75
79
|
list_files.each do |path|
|
76
80
|
begin
|
77
|
-
Imagen::Visitor.traverse(Parser
|
81
|
+
Imagen::Visitor.traverse(Imagen::AST::Parser.parse_file(path), self)
|
78
82
|
rescue Parser::SyntaxError => err
|
79
83
|
warn "#{path}: #{err} #{err.message}"
|
80
84
|
end
|
data/lib/imagen/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: imagen
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jan Grodowski
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-
|
11
|
+
date: 2018-08-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: parser
|
@@ -149,6 +149,8 @@ files:
|
|
149
149
|
- imagen_rb.gemspec
|
150
150
|
- lib/.gitkeep
|
151
151
|
- lib/imagen.rb
|
152
|
+
- lib/imagen/ast/builder.rb
|
153
|
+
- lib/imagen/ast/parser.rb
|
152
154
|
- lib/imagen/clone.rb
|
153
155
|
- lib/imagen/node.rb
|
154
156
|
- lib/imagen/remote_builder.rb
|
@@ -175,7 +177,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
175
177
|
version: '0'
|
176
178
|
requirements: []
|
177
179
|
rubyforge_project:
|
178
|
-
rubygems_version: 2.
|
180
|
+
rubygems_version: 2.6.14.1
|
179
181
|
signing_key:
|
180
182
|
specification_version: 4
|
181
183
|
summary: Codebase as structure of locatable classes and methods based on the Ruby
|