verveine-ruby 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- data/README.markdown +16 -0
- data/bin/verveine-ruby +27 -0
- data/verveine-ruby.gemspec +20 -0
- metadata +66 -0
data/README.markdown
ADDED
@@ -0,0 +1,16 @@
|
|
1
|
+
This is a quick hack to get statistics on method visibility in Ruby code, using [Yard][].
|
2
|
+
It generates a very minimal [FAMIX][] file for loading into [Moose][].
|
3
|
+
|
4
|
+
## Installation and usage
|
5
|
+
|
6
|
+
Get the code, then
|
7
|
+
|
8
|
+
gem install yard
|
9
|
+
./verveine-ruby $RUBY_CODE_DIRECTORY > file.famix
|
10
|
+
|
11
|
+
It was hastily hacked with Yard 0.8.4 on Ruby 1.9.3.
|
12
|
+
|
13
|
+
[yard]: http://yardoc.org/
|
14
|
+
[famix]: http://www.moosetechnology.org/docs/famix
|
15
|
+
[moose]: http://www.moosetechnology.org
|
16
|
+
|
data/bin/verveine-ruby
ADDED
@@ -0,0 +1,27 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
require 'yard'
|
4
|
+
|
5
|
+
root = ARGV.first || '.'
|
6
|
+
exit 1 unless File.directory? root
|
7
|
+
|
8
|
+
logger = YARD::Logger.instance STDERR
|
9
|
+
|
10
|
+
famix_id = 0
|
11
|
+
files = 0
|
12
|
+
puts '('
|
13
|
+
Dir.glob "#{root}/**/*.rb" do |f|
|
14
|
+
files = files + 1
|
15
|
+
logger.puts "parsing #{f}..."
|
16
|
+
YARD.parse f
|
17
|
+
|
18
|
+
YARD::Registry.all(:method).each do |m|
|
19
|
+
famix_id = famix_id+1
|
20
|
+
puts "(FAMIX.Method (id: #{famix_id}) (name '#{m.name}') (modifiers '#{m.visibility}'))"
|
21
|
+
end
|
22
|
+
YARD::Registry.clear
|
23
|
+
end
|
24
|
+
puts ')'
|
25
|
+
|
26
|
+
logger.puts "Phew, done! #{famix_id} methods in #{files} files"
|
27
|
+
|
@@ -0,0 +1,20 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
Gem::Specification.new do |s|
|
4
|
+
s.name = "verveine-ruby"
|
5
|
+
s.version = "0.0.1"
|
6
|
+
s.date = "2013-02-05"
|
7
|
+
s.homepage = "https://github.com/cdlm/verveine-ruby"
|
8
|
+
s.summary = "FAMIX export of method visibility statistics in Ruby code"
|
9
|
+
|
10
|
+
s.authors = [ "Damien Pollet", "Damien Cassou" ]
|
11
|
+
s.email = "damien.pollet@inria.fr"
|
12
|
+
|
13
|
+
s.files = Dir['bin/**/*'] + [
|
14
|
+
'verveine-ruby.gemspec',
|
15
|
+
'README.markdown'
|
16
|
+
]
|
17
|
+
s.executables = [ 'verveine-ruby' ]
|
18
|
+
|
19
|
+
s.add_runtime_dependency('yard')
|
20
|
+
end
|
metadata
ADDED
@@ -0,0 +1,66 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: verveine-ruby
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.1
|
5
|
+
prerelease:
|
6
|
+
platform: ruby
|
7
|
+
authors:
|
8
|
+
- Damien Pollet
|
9
|
+
- Damien Cassou
|
10
|
+
autorequire:
|
11
|
+
bindir: bin
|
12
|
+
cert_chain: []
|
13
|
+
date: 2013-02-05 00:00:00.000000000 Z
|
14
|
+
dependencies:
|
15
|
+
- !ruby/object:Gem::Dependency
|
16
|
+
name: yard
|
17
|
+
requirement: !ruby/object:Gem::Requirement
|
18
|
+
none: false
|
19
|
+
requirements:
|
20
|
+
- - ! '>='
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: '0'
|
23
|
+
type: :runtime
|
24
|
+
prerelease: false
|
25
|
+
version_requirements: !ruby/object:Gem::Requirement
|
26
|
+
none: false
|
27
|
+
requirements:
|
28
|
+
- - ! '>='
|
29
|
+
- !ruby/object:Gem::Version
|
30
|
+
version: '0'
|
31
|
+
description:
|
32
|
+
email: damien.pollet@inria.fr
|
33
|
+
executables:
|
34
|
+
- verveine-ruby
|
35
|
+
extensions: []
|
36
|
+
extra_rdoc_files: []
|
37
|
+
files:
|
38
|
+
- bin/verveine-ruby
|
39
|
+
- verveine-ruby.gemspec
|
40
|
+
- README.markdown
|
41
|
+
homepage: https://github.com/cdlm/verveine-ruby
|
42
|
+
licenses: []
|
43
|
+
post_install_message:
|
44
|
+
rdoc_options: []
|
45
|
+
require_paths:
|
46
|
+
- lib
|
47
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
48
|
+
none: false
|
49
|
+
requirements:
|
50
|
+
- - ! '>='
|
51
|
+
- !ruby/object:Gem::Version
|
52
|
+
version: '0'
|
53
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
54
|
+
none: false
|
55
|
+
requirements:
|
56
|
+
- - ! '>='
|
57
|
+
- !ruby/object:Gem::Version
|
58
|
+
version: '0'
|
59
|
+
requirements: []
|
60
|
+
rubyforge_project:
|
61
|
+
rubygems_version: 1.8.23
|
62
|
+
signing_key:
|
63
|
+
specification_version: 3
|
64
|
+
summary: FAMIX export of method visibility statistics in Ruby code
|
65
|
+
test_files: []
|
66
|
+
has_rdoc:
|