verveine-ruby 0.0.1
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/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:
|