codetree 0.0.1 → 0.0.2
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.
- data/bin/codetree +1 -1
- data/codetree.gemspec +10 -10
- data/lib/codetree.rb +32 -18
- data/lib/codetree/version.rb +1 -1
- data/spec/codetree_spec.rb +95 -0
- data/spec/init_spec.rb +1 -0
- data/spec/spec_helper.rb +16 -0
- metadata +98 -53
- checksums.yaml +0 -7
- data/bin/#codetree# +0 -23
data/bin/codetree
CHANGED
@@ -26,4 +26,4 @@ end.parse!
|
|
26
26
|
|
27
27
|
|
28
28
|
codetree = Codetree::ParseTree.new(Dir['lib/*/*/*/*.rb'] + Dir['lib/*/*/*.rb'] + Dir['lib/*/*.rb'] + Dir['lib/*.rb'])
|
29
|
-
codetree.print_tree detail
|
29
|
+
codetree.print_tree :detail => $detail, :flat => $flat, :quiet => $quiet
|
data/codetree.gemspec
CHANGED
@@ -8,7 +8,7 @@ Gem::Specification.new do |spec|
|
|
8
8
|
spec.version = Codetree::VERSION
|
9
9
|
spec.authors = ["Romain GEORGES"]
|
10
10
|
spec.email = ["romain@ultragreen.net"]
|
11
|
-
spec.description = %q{Scan code to map methods
|
11
|
+
spec.description = %q{Scan code to map methods or classes or modules and build tree of modules namespaces}
|
12
12
|
spec.summary = %q{Usefull tools for code audit commands}
|
13
13
|
spec.homepage = "http://www.ultragreen.net"
|
14
14
|
spec.license = "BSD"
|
@@ -19,14 +19,14 @@ Gem::Specification.new do |spec|
|
|
19
19
|
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
20
20
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
21
21
|
spec.require_paths = ["lib"]
|
22
|
-
spec.
|
23
|
-
spec.add_development_dependency
|
24
|
-
spec.add_development_dependency
|
25
|
-
spec.add_development_dependency
|
26
|
-
spec.add_development_dependency
|
27
|
-
spec.add_development_dependency
|
28
|
-
spec.add_development_dependency
|
29
|
-
spec.add_development_dependency
|
30
|
-
|
22
|
+
spec.add_runtime_dependency 'ruby_parser', '~> 0'
|
23
|
+
spec.add_development_dependency 'rake', '~> 10.1', '>= 10.1.0'
|
24
|
+
spec.add_development_dependency 'rspec', '~> 2.14', '>= 2.14.1'
|
25
|
+
spec.add_development_dependency 'yard', '~> 0.8', '>= 0.8.7.2'
|
26
|
+
spec.add_development_dependency 'rdoc', '~> 4.0', '>= 4.0.1'
|
27
|
+
spec.add_development_dependency 'roodi', '~> 3.1', '>= 3.1.1'
|
28
|
+
spec.add_development_dependency 'code_statistics', '~> 0.2', '>= 0.2.13'
|
29
|
+
spec.add_development_dependency 'yard-rspec', '~> 0.1'
|
30
|
+
|
31
31
|
|
32
32
|
end
|
data/lib/codetree.rb
CHANGED
@@ -14,18 +14,24 @@ module Codetree
|
|
14
14
|
attr_reader :line
|
15
15
|
attr_reader :name
|
16
16
|
|
17
|
-
def initialize(type
|
18
|
-
@type = type
|
19
|
-
@ancestors = ancestors
|
20
|
-
@scope = scope
|
21
|
-
@name = name
|
22
|
-
@line = line
|
17
|
+
def initialize(_options = { :type => :defn, :ancestors => [], :scope => :none, :name => "", :line => 0 })
|
18
|
+
@type = _options[:type] || :defn
|
19
|
+
@ancestors = _options[:ancestors] || []
|
20
|
+
@scope = _options[:scope] || :none
|
21
|
+
@name = _options[:name] || ""
|
22
|
+
@line = _options[:line] || 0
|
23
23
|
end
|
24
24
|
|
25
|
+
# @!group Virtual Scopeors
|
26
|
+
|
25
27
|
def ancestor
|
26
28
|
return @ancestors.last
|
27
29
|
end
|
30
|
+
|
31
|
+
# @!endgroup
|
28
32
|
|
33
|
+
|
34
|
+
|
29
35
|
def render
|
30
36
|
return name.to_s if self.ancestors == []
|
31
37
|
case type
|
@@ -36,6 +42,7 @@ module Codetree
|
|
36
42
|
end
|
37
43
|
end
|
38
44
|
|
45
|
+
# @!endgroup
|
39
46
|
|
40
47
|
end
|
41
48
|
|
@@ -66,8 +73,9 @@ module Codetree
|
|
66
73
|
|
67
74
|
|
68
75
|
|
69
|
-
def format_operator(name, detail
|
76
|
+
def format_operator(name, _options = {:detail => :full})
|
70
77
|
res = ""
|
78
|
+
_options[:detail] ||= :full
|
71
79
|
scope = {
|
72
80
|
:private => { :full => "Private ", :medium => '-', :light => ''},
|
73
81
|
:public => { :full => "Public ", :medium => "+", :light => ''},
|
@@ -83,14 +91,17 @@ module Codetree
|
|
83
91
|
operator.ancestors.each do |ancestor|
|
84
92
|
res += @operators[ancestor].render
|
85
93
|
end
|
86
|
-
res = scope[operator.scope][detail] + type[operator.type][detail] + res + operator.render
|
94
|
+
res = scope[operator.scope][_options[:detail]] + type[operator.type][_options[:detail]] + res + operator.render
|
87
95
|
end
|
88
96
|
return res
|
89
97
|
end
|
90
98
|
|
91
99
|
|
92
|
-
def print_tree(detail
|
93
|
-
|
100
|
+
def print_tree(_options = { :detail => :medium, :flat => false, :quiet => false})
|
101
|
+
_options[:detail] ||= :medium
|
102
|
+
_options[:flat] ||= false
|
103
|
+
_options[:quiet] ||= false
|
104
|
+
print_subtree(@root,0, _options )
|
94
105
|
end
|
95
106
|
|
96
107
|
|
@@ -116,14 +127,14 @@ module Codetree
|
|
116
127
|
|
117
128
|
|
118
129
|
def register_operator(nodetype, name, linenr, ancestors)
|
119
|
-
@operators[name] = Codetree::Operator::new(type
|
130
|
+
@operators[name] = Codetree::Operator::new({ :type => nodetype, :name => name, :line => linenr, :ancestors => ancestors })
|
120
131
|
@operators_index[@curr_position.to_s] = [nodetype, name]
|
121
132
|
end
|
122
133
|
|
123
134
|
def define_scopes!
|
124
135
|
@operators.each do |name,item|
|
125
136
|
unless item.ancestor.nil? then
|
126
|
-
klass = eval "#{format_operator item.ancestor, detail
|
137
|
+
klass = eval "#{format_operator item.ancestor, :detail => :light}"
|
127
138
|
if item.type == :defn then
|
128
139
|
item.scope = :private if klass.private_method_defined? name
|
129
140
|
item.scope = :protected if klass.protected_method_defined? name
|
@@ -157,18 +168,21 @@ module Codetree
|
|
157
168
|
|
158
169
|
|
159
170
|
|
160
|
-
def print_subtree(item, level, detail
|
171
|
+
def print_subtree(item, level, _options = { :detail => :full, :flat => false, :quiet => false})
|
172
|
+
_options[:flat] ||= false
|
173
|
+
_options[:detail] ||= :full
|
174
|
+
_options[:quiet] ||= false
|
161
175
|
items = @tree[item]
|
162
176
|
unless items == nil
|
163
|
-
indent = (flat)? '': level > 0 ? sprintf("%#{level * 2}s", " ") : ""
|
164
|
-
node = (quiet)? "":"* "
|
177
|
+
indent = (_options[:flat])? '': level > 0 ? sprintf("%#{level * 2}s", " ") : ""
|
178
|
+
node = (_options[:quiet])? "":"* "
|
165
179
|
items.each do |operator|
|
166
|
-
if detail == :none then
|
180
|
+
if _options[:detail] == :none then
|
167
181
|
puts "#{indent}#{node}#{operator.name}"
|
168
182
|
else
|
169
|
-
puts "#{indent}#{node}#{format_operator operator.name, detail:
|
183
|
+
puts "#{indent}#{node}#{format_operator operator.name, :detail => _options[:detail]}"
|
170
184
|
end
|
171
|
-
print_subtree(operator, level + 1,
|
185
|
+
print_subtree(operator, level + 1, _options)
|
172
186
|
end
|
173
187
|
end
|
174
188
|
end
|
data/lib/codetree/version.rb
CHANGED
@@ -0,0 +1,95 @@
|
|
1
|
+
require './lib/codetree.rb'
|
2
|
+
|
3
|
+
|
4
|
+
describe Codetree do
|
5
|
+
|
6
|
+
before :all do
|
7
|
+
|
8
|
+
end
|
9
|
+
|
10
|
+
subject { Codetree }
|
11
|
+
specify { subject.should be_an_instance_of Module }
|
12
|
+
context Codetree::Operator do
|
13
|
+
subject { Codetree::Operator }
|
14
|
+
specify { subject.should be_an_instance_of Class }
|
15
|
+
context "#initialize" do
|
16
|
+
it "should be possible to instanciate an Operator" do
|
17
|
+
$operator = subject.new name: :test, type: :defn, ancestors: [:Module, :Class], line: 10, scope: :public
|
18
|
+
$operator.instance_variable_get(:@name).should eq :test
|
19
|
+
$operator.instance_variable_get(:@type).should eq :defn
|
20
|
+
$operator.instance_variable_get(:@ancestors).should == [:Module, :Class]
|
21
|
+
$operator.instance_variable_get(:@line).should == 10
|
22
|
+
$operator.instance_variable_get(:@scope).should eq :public
|
23
|
+
end
|
24
|
+
end
|
25
|
+
context "Accessors" do
|
26
|
+
it "should respond to #name" do
|
27
|
+
$operator.respond_to?(:name).should be_true
|
28
|
+
$operator.name.should eq :test
|
29
|
+
end
|
30
|
+
it "should not respond to #name=" do
|
31
|
+
$operator.respond_to?(:name=).should be_false
|
32
|
+
end
|
33
|
+
it "should respond to #type" do
|
34
|
+
$operator.respond_to?(:type).should be_true
|
35
|
+
$operator.type.should eq :defn
|
36
|
+
end
|
37
|
+
it "should not respond to #type=" do
|
38
|
+
$operator.respond_to?(:type=).should be_false
|
39
|
+
end
|
40
|
+
it "should respond to #ancestors" do
|
41
|
+
$operator.respond_to?(:ancestors).should be_true
|
42
|
+
$operator.ancestors.should == [:Module, :Class]
|
43
|
+
end
|
44
|
+
it "should not respond to #ancestors=" do
|
45
|
+
$operator.respond_to?(:ancestors=).should be_false
|
46
|
+
end
|
47
|
+
it "should respond to #line" do
|
48
|
+
$operator.respond_to?(:line).should be_true
|
49
|
+
$operator.line.should == 10
|
50
|
+
end
|
51
|
+
it "should not respond to #line=" do
|
52
|
+
$operator.respond_to?(:line=).should be_false
|
53
|
+
end
|
54
|
+
it "should respond to #scope" do
|
55
|
+
$operator.respond_to?(:scope).should be_true
|
56
|
+
$operator.scope.should eq :public
|
57
|
+
end
|
58
|
+
it "should respond to #scope==" do
|
59
|
+
$operator.respond_to?(:scope=).should be_true
|
60
|
+
$operator.scope = :private
|
61
|
+
$operator.scope.should eq :private
|
62
|
+
end
|
63
|
+
end
|
64
|
+
context "#ancestor" do
|
65
|
+
it "should return the last ancestor of the instance variable @ancestors" do
|
66
|
+
$operator.ancestor.should eq :Class
|
67
|
+
end
|
68
|
+
end
|
69
|
+
|
70
|
+
context "#render" do
|
71
|
+
it "should return a correct formatted String depending of the type and if ancestors empty" do
|
72
|
+
subject.new(name: :test, type: :defn, ancestors: [], line: 10, scope: :public).render.should eq 'test'
|
73
|
+
subject.new(name: :test, type: :defs, ancestors: [], line: 10, scope: :public).render.should eq 'test'
|
74
|
+
subject.new(name: :Test, type: :class, ancestors: [], line: 10, scope: :public).render.should eq 'Test'
|
75
|
+
subject.new(name: :Test, type: :module, ancestors: [], line: 10, scope: :public).render.should eq 'Test'
|
76
|
+
subject.new(name: :Test, type: :module, ancestors: [:Module, :Class], line: 10, scope: :public).render.should eq '::Test'
|
77
|
+
subject.new(name: :Test, type: :class, ancestors: [:Module, :Class], line: 10, scope: :public).render.should eq '::Test'
|
78
|
+
subject.new(name: :test, type: :defn, ancestors: [:Module, :Class], line: 10, scope: :public).render.should eq '#test'
|
79
|
+
subject.new(name: :test, type: :defs, ancestors: [:Module, :Class], line: 10, scope: :public).render.should eq '.test'
|
80
|
+
end
|
81
|
+
end
|
82
|
+
|
83
|
+
end
|
84
|
+
context Codetree::ParseTree do
|
85
|
+
subject { Codetree::ParseTree }
|
86
|
+
specify { subject.should be_an_instance_of Class }
|
87
|
+
end
|
88
|
+
after :all do
|
89
|
+
|
90
|
+
end
|
91
|
+
end
|
92
|
+
|
93
|
+
|
94
|
+
|
95
|
+
|
data/spec/init_spec.rb
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
require "spec_helper"
|
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,16 @@
|
|
1
|
+
# This file was generated by the `rspec --init` command. Conventionally, all
|
2
|
+
# specs live under a `spec` directory, which RSpec adds to the `$LOAD_PATH`.
|
3
|
+
# Require this file using `require "spec_helper.rb"` to ensure that it is only
|
4
|
+
# loaded once.
|
5
|
+
#
|
6
|
+
# See http://rubydoc.info/gems/rspec-core/RSpec/Core/Configuration
|
7
|
+
RSpec.configure do |config|
|
8
|
+
config.treat_symbols_as_metadata_keys_with_true_values = true
|
9
|
+
config.run_all_when_everything_filtered = true
|
10
|
+
config.filter_run :focus
|
11
|
+
end
|
12
|
+
|
13
|
+
require 'rubygems'
|
14
|
+
require 'rspec'
|
15
|
+
|
16
|
+
|
metadata
CHANGED
@@ -1,148 +1,186 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: codetree
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
|
+
prerelease:
|
5
6
|
platform: ruby
|
6
7
|
authors:
|
7
8
|
- Romain GEORGES
|
8
9
|
autorequire:
|
9
10
|
bindir: bin
|
10
11
|
cert_chain: []
|
11
|
-
date:
|
12
|
+
date: 2014-05-02 00:00:00.000000000 Z
|
12
13
|
dependencies:
|
13
14
|
- !ruby/object:Gem::Dependency
|
14
15
|
name: ruby_parser
|
15
16
|
requirement: !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
16
18
|
requirements:
|
17
|
-
- -
|
19
|
+
- - ~>
|
18
20
|
- !ruby/object:Gem::Version
|
19
21
|
version: '0'
|
20
22
|
type: :runtime
|
21
23
|
prerelease: false
|
22
24
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
23
26
|
requirements:
|
24
|
-
- -
|
27
|
+
- - ~>
|
25
28
|
- !ruby/object:Gem::Version
|
26
29
|
version: '0'
|
27
30
|
- !ruby/object:Gem::Dependency
|
28
|
-
name:
|
31
|
+
name: rake
|
29
32
|
requirement: !ruby/object:Gem::Requirement
|
33
|
+
none: false
|
30
34
|
requirements:
|
31
35
|
- - ~>
|
32
36
|
- !ruby/object:Gem::Version
|
33
|
-
version: '1
|
37
|
+
version: '10.1'
|
38
|
+
- - ! '>='
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: 10.1.0
|
34
41
|
type: :development
|
35
42
|
prerelease: false
|
36
43
|
version_requirements: !ruby/object:Gem::Requirement
|
44
|
+
none: false
|
37
45
|
requirements:
|
38
46
|
- - ~>
|
39
47
|
- !ruby/object:Gem::Version
|
40
|
-
version: '1
|
41
|
-
- !
|
42
|
-
name: rake
|
43
|
-
requirement: !ruby/object:Gem::Requirement
|
44
|
-
requirements:
|
45
|
-
- - '>='
|
48
|
+
version: '10.1'
|
49
|
+
- - ! '>='
|
46
50
|
- !ruby/object:Gem::Version
|
47
|
-
version:
|
48
|
-
type: :development
|
49
|
-
prerelease: false
|
50
|
-
version_requirements: !ruby/object:Gem::Requirement
|
51
|
-
requirements:
|
52
|
-
- - '>='
|
53
|
-
- !ruby/object:Gem::Version
|
54
|
-
version: '0'
|
51
|
+
version: 10.1.0
|
55
52
|
- !ruby/object:Gem::Dependency
|
56
53
|
name: rspec
|
57
54
|
requirement: !ruby/object:Gem::Requirement
|
55
|
+
none: false
|
58
56
|
requirements:
|
59
|
-
- -
|
57
|
+
- - ~>
|
60
58
|
- !ruby/object:Gem::Version
|
61
|
-
version: '
|
59
|
+
version: '2.14'
|
60
|
+
- - ! '>='
|
61
|
+
- !ruby/object:Gem::Version
|
62
|
+
version: 2.14.1
|
62
63
|
type: :development
|
63
64
|
prerelease: false
|
64
65
|
version_requirements: !ruby/object:Gem::Requirement
|
66
|
+
none: false
|
65
67
|
requirements:
|
66
|
-
- -
|
68
|
+
- - ~>
|
67
69
|
- !ruby/object:Gem::Version
|
68
|
-
version: '
|
70
|
+
version: '2.14'
|
71
|
+
- - ! '>='
|
72
|
+
- !ruby/object:Gem::Version
|
73
|
+
version: 2.14.1
|
69
74
|
- !ruby/object:Gem::Dependency
|
70
75
|
name: yard
|
71
76
|
requirement: !ruby/object:Gem::Requirement
|
77
|
+
none: false
|
72
78
|
requirements:
|
73
|
-
- -
|
79
|
+
- - ~>
|
74
80
|
- !ruby/object:Gem::Version
|
75
|
-
version: '0'
|
81
|
+
version: '0.8'
|
82
|
+
- - ! '>='
|
83
|
+
- !ruby/object:Gem::Version
|
84
|
+
version: 0.8.7.2
|
76
85
|
type: :development
|
77
86
|
prerelease: false
|
78
87
|
version_requirements: !ruby/object:Gem::Requirement
|
88
|
+
none: false
|
79
89
|
requirements:
|
80
|
-
- -
|
90
|
+
- - ~>
|
81
91
|
- !ruby/object:Gem::Version
|
82
|
-
version: '0'
|
92
|
+
version: '0.8'
|
93
|
+
- - ! '>='
|
94
|
+
- !ruby/object:Gem::Version
|
95
|
+
version: 0.8.7.2
|
83
96
|
- !ruby/object:Gem::Dependency
|
84
97
|
name: rdoc
|
85
98
|
requirement: !ruby/object:Gem::Requirement
|
99
|
+
none: false
|
86
100
|
requirements:
|
87
|
-
- -
|
101
|
+
- - ~>
|
88
102
|
- !ruby/object:Gem::Version
|
89
|
-
version: '0'
|
103
|
+
version: '4.0'
|
104
|
+
- - ! '>='
|
105
|
+
- !ruby/object:Gem::Version
|
106
|
+
version: 4.0.1
|
90
107
|
type: :development
|
91
108
|
prerelease: false
|
92
109
|
version_requirements: !ruby/object:Gem::Requirement
|
110
|
+
none: false
|
93
111
|
requirements:
|
94
|
-
- -
|
112
|
+
- - ~>
|
95
113
|
- !ruby/object:Gem::Version
|
96
|
-
version: '0'
|
114
|
+
version: '4.0'
|
115
|
+
- - ! '>='
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: 4.0.1
|
97
118
|
- !ruby/object:Gem::Dependency
|
98
119
|
name: roodi
|
99
120
|
requirement: !ruby/object:Gem::Requirement
|
121
|
+
none: false
|
100
122
|
requirements:
|
101
|
-
- -
|
123
|
+
- - ~>
|
102
124
|
- !ruby/object:Gem::Version
|
103
|
-
version: '
|
125
|
+
version: '3.1'
|
126
|
+
- - ! '>='
|
127
|
+
- !ruby/object:Gem::Version
|
128
|
+
version: 3.1.1
|
104
129
|
type: :development
|
105
130
|
prerelease: false
|
106
131
|
version_requirements: !ruby/object:Gem::Requirement
|
132
|
+
none: false
|
107
133
|
requirements:
|
108
|
-
- -
|
134
|
+
- - ~>
|
109
135
|
- !ruby/object:Gem::Version
|
110
|
-
version: '
|
136
|
+
version: '3.1'
|
137
|
+
- - ! '>='
|
138
|
+
- !ruby/object:Gem::Version
|
139
|
+
version: 3.1.1
|
111
140
|
- !ruby/object:Gem::Dependency
|
112
141
|
name: code_statistics
|
113
142
|
requirement: !ruby/object:Gem::Requirement
|
143
|
+
none: false
|
114
144
|
requirements:
|
115
|
-
- -
|
145
|
+
- - ~>
|
116
146
|
- !ruby/object:Gem::Version
|
117
|
-
version: '0'
|
147
|
+
version: '0.2'
|
148
|
+
- - ! '>='
|
149
|
+
- !ruby/object:Gem::Version
|
150
|
+
version: 0.2.13
|
118
151
|
type: :development
|
119
152
|
prerelease: false
|
120
153
|
version_requirements: !ruby/object:Gem::Requirement
|
154
|
+
none: false
|
121
155
|
requirements:
|
122
|
-
- -
|
156
|
+
- - ~>
|
123
157
|
- !ruby/object:Gem::Version
|
124
|
-
version: '0'
|
158
|
+
version: '0.2'
|
159
|
+
- - ! '>='
|
160
|
+
- !ruby/object:Gem::Version
|
161
|
+
version: 0.2.13
|
125
162
|
- !ruby/object:Gem::Dependency
|
126
163
|
name: yard-rspec
|
127
164
|
requirement: !ruby/object:Gem::Requirement
|
165
|
+
none: false
|
128
166
|
requirements:
|
129
|
-
- -
|
167
|
+
- - ~>
|
130
168
|
- !ruby/object:Gem::Version
|
131
|
-
version: '0'
|
169
|
+
version: '0.1'
|
132
170
|
type: :development
|
133
171
|
prerelease: false
|
134
172
|
version_requirements: !ruby/object:Gem::Requirement
|
173
|
+
none: false
|
135
174
|
requirements:
|
136
|
-
- -
|
175
|
+
- - ~>
|
137
176
|
- !ruby/object:Gem::Version
|
138
|
-
version: '0'
|
139
|
-
description: Scan code to map methods
|
177
|
+
version: '0.1'
|
178
|
+
description: Scan code to map methods or classes or modules and build tree of modules
|
140
179
|
namespaces
|
141
180
|
email:
|
142
181
|
- romain@ultragreen.net
|
143
182
|
executables:
|
144
183
|
- codetree
|
145
|
-
- '#codetree#'
|
146
184
|
extensions: []
|
147
185
|
extra_rdoc_files: []
|
148
186
|
files:
|
@@ -155,30 +193,37 @@ files:
|
|
155
193
|
- codetree.gemspec
|
156
194
|
- lib/codetree.rb
|
157
195
|
- lib/codetree/version.rb
|
196
|
+
- spec/codetree_spec.rb
|
197
|
+
- spec/init_spec.rb
|
198
|
+
- spec/spec_helper.rb
|
158
199
|
- ultragreen_roodi_coding_convention.yml
|
159
|
-
- bin/#codetree#
|
160
200
|
homepage: http://www.ultragreen.net
|
161
201
|
licenses:
|
162
202
|
- BSD
|
163
|
-
metadata: {}
|
164
203
|
post_install_message:
|
165
204
|
rdoc_options: []
|
166
205
|
require_paths:
|
167
206
|
- lib
|
168
207
|
required_ruby_version: !ruby/object:Gem::Requirement
|
208
|
+
none: false
|
169
209
|
requirements:
|
170
|
-
- - '>='
|
210
|
+
- - ! '>='
|
171
211
|
- !ruby/object:Gem::Version
|
172
212
|
version: '0'
|
173
213
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
214
|
+
none: false
|
174
215
|
requirements:
|
175
|
-
- - '>='
|
216
|
+
- - ! '>='
|
176
217
|
- !ruby/object:Gem::Version
|
177
218
|
version: '0'
|
178
219
|
requirements: []
|
179
220
|
rubyforge_project:
|
180
|
-
rubygems_version:
|
221
|
+
rubygems_version: 1.8.29
|
181
222
|
signing_key:
|
182
|
-
specification_version:
|
223
|
+
specification_version: 3
|
183
224
|
summary: Usefull tools for code audit commands
|
184
|
-
test_files:
|
225
|
+
test_files:
|
226
|
+
- spec/codetree_spec.rb
|
227
|
+
- spec/init_spec.rb
|
228
|
+
- spec/spec_helper.rb
|
229
|
+
has_rdoc:
|
checksums.yaml
DELETED
@@ -1,7 +0,0 @@
|
|
1
|
-
---
|
2
|
-
SHA1:
|
3
|
-
metadata.gz: 4d91d00d736664c8259bcf21a68fc5e50393bdfb
|
4
|
-
data.tar.gz: 9ad1aff5a42d9061015a8cf6fa952df6a804e6ef
|
5
|
-
SHA512:
|
6
|
-
metadata.gz: 52ac70fe88fbb3e7cf6ba3eb10c02ab0f9d27c018201980dc28c598d6e27e8831108f7e259a5af4292e80e510409686725f4b68f92db2130332cb4cd2ca21d6f
|
7
|
-
data.tar.gz: a6fc3bd8b44e2eb0e591862be65c4398945e73f833f4ba8c5224a3133933bfd6fc85cef7cb50cd5d0a6ff7c72908fcff420feba5144482de0eac7427df6f7f7e
|
data/bin/#codetree#
DELETED
@@ -1,23 +0,0 @@
|
|
1
|
-
#!/usr/bin/env ruby
|
2
|
-
require 'codetree'
|
3
|
-
require 'optparse'
|
4
|
-
|
5
|
-
OptionParser.new do |opts|
|
6
|
-
opts.banner = "Usage: codetree [options]"
|
7
|
-
|
8
|
-
opts.on("-f", "--[no-]flat", "display flat list/tree") do |v|
|
9
|
-
$flat = v || false
|
10
|
-
end
|
11
|
-
opts.on("-d", "--detail", "Specify a detail value [:none,:light,:medium,:full]") do |v|
|
12
|
-
$detail = v || :medium
|
13
|
-
end
|
14
|
-
|
15
|
-
end.parse!
|
16
|
-
|
17
|
-
|
18
|
-
p $detail
|
19
|
-
p $flat
|
20
|
-
|
21
|
-
|
22
|
-
codetree = Codetree::ParseTree.new(Dir['lib/*/*/*/*.rb'] + Dir['lib/*/*/*.rb'] + Dir['lib/*/*.rb'] + Dir['lib/*.rb'])
|
23
|
-
codetree.print_tree detail: $detail, flat: $flat
|