metric_fu 4.5.1 → 4.5.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.
checksums.yaml CHANGED
@@ -1,15 +1,7 @@
1
1
  ---
2
- !binary "U0hBMQ==":
3
- metadata.gz: !binary |-
4
- OGFmOWRmZTljYTI4ZGNjMDZmNTk4ZGU3ZWUzMjlmMjc0M2ZhMDI1Yw==
5
- data.tar.gz: !binary |-
6
- NWM3YjY3MDk2MDFkZmQ1MjYzODM0NDkxZGFhOTE1NjQ1OTYxMDNkZg==
7
- !binary "U0hBNTEy":
8
- metadata.gz: !binary |-
9
- NjdlNzUyN2YyMzI4NzU2NDU3ODJkOWQxNWEyM2IyN2NkZmRjODRlZDk4ZjA0
10
- ODQ4NjdmMzEyMzI2MzkyYjRmMTE2ZjY0ZWM0NTBlZjJmYzY2ZTFiNjcxZGQ2
11
- NTk0MzJhMTA3NjM5MzkxOTM5YzJkODc0MmNmMGMxMWI5YWEyMDE=
12
- data.tar.gz: !binary |-
13
- OTI2NGFkMzZjYzAzYTljYTBlNmUyZDBjMDQ4ZTlkY2UyZjQ4NTdiMWUwMDYz
14
- NzI4ZTZhYzA0Y2ViOTUxOGUyN2MxNTAzNTQ2YWE4MGQ3YjFiNDVlMGY4Zjdi
15
- NTBmNjJhNDk0MmU0ZTVlYTg4ZmZjZTc3MmMzZjZiOTYwZGZiMDA=
2
+ SHA1:
3
+ metadata.gz: 46897614ca929038813939aee14aa38e21431508
4
+ data.tar.gz: cc2c7c8b8e2f56cd7c21f1d9c48075de60ec1697
5
+ SHA512:
6
+ metadata.gz: 7da5faf38132acc88c0f438c7a5c280f2c6329667e2d94e91480b9a5990f3fc2a1dac4900769c8ef095a6c74af02271f765aec63401ecb77576724a90aba2706
7
+ data.tar.gz: 999e1ca52251e8c5398348969b8c6dae0334cb3f432e9cc0225ac17b8c367c1384aa992b090d75e5c85d125b4c2faf579b8dab5dd43d60d8d060e175c84ff1e0
Binary file
data.tar.gz.sig CHANGED
Binary file
data/HISTORY.md CHANGED
@@ -10,6 +10,11 @@ As such, a _Feature_ would map to either major or minor. A _bug fix_ to a patch.
10
10
  * Fixes
11
11
  * Misc
12
12
 
13
+ ### MetricFu [4.5.2 / 2013-11-07](https://github.com/metricfu/metric_fu/compare/v4.4.4...v4.5.2)
14
+
15
+ * Misc
16
+ * Exclude etc dir from built gem; save 1.1MB by not including erd.png. (Benjamin Fleischer, #173)
17
+
13
18
  ### MetricFu [4.5.1 / 2013-11-07](https://github.com/metricfu/metric_fu/compare/v4.4.4...v4.5.1)
14
19
 
15
20
  * Features
@@ -0,0 +1 @@
1
+ a1ff91abb134992e958518efddea3faaee87d987d4f7d6190a065eff5647514b9e58d16c78db061f42a53429f1647f47f3efda1bc75f746a342b9ba50bf72b1c
@@ -1,44 +1,188 @@
1
- # see http://blog.jayfields.com/2008/02/rake-task-overwriting.html
2
- desc 'override bundler release task'
3
- task :release => ['build'] do
4
- STDOUT.puts "Running Bundler Release Task Override"
5
- Rake::Task['checksum'].invoke
6
- end
7
- require 'bundler/gem_tasks'
1
+ # encoding: utf-8
2
+ require 'rubygems'
3
+ require 'digest/sha2'
8
4
 
9
- GEMSPEC = Bundler::GemHelper.gemspec
5
+ GEM_TASKS = Class.new(Rake::TaskLib) do
6
+ include Rake::DSL if defined? Rake::DSL
7
+ attr_reader :base
8
+ def initialize
9
+ @base = File.expand_path('../..', __FILE__)
10
+ @gemspec_path = File.join(base, 'metric_fu.gemspec')
11
+ @gemspec = Gem::Specification.load(@gemspec_path)
12
+ end
10
13
 
11
- desc 'Builds and signs a new Gem'
12
- task :signed_build => [:build] do
13
- name = "#{GEMSPEC.name}-#{GEMSPEC.version}.gem"
14
- path = File.join(File.expand_path('../../pkg', __FILE__), name)
14
+ def install
15
+ built_gem_path = nil
15
16
 
16
- sh("gem sign #{path}")
17
+ desc "Build #{built_gem_name} into the pkg directory."
18
+ task 'build' do
19
+ built_gem_path = build_gem
20
+ end
17
21
 
18
- Rake::Task['checksum'].invoke
19
- end
20
- require 'digest/sha2'
22
+ desc "Build and install #{built_gem_name} into system gems."
23
+ task 'install' => 'build' do
24
+ install_gem(built_gem_path)
25
+ end
21
26
 
22
- desc 'Creates a SHA512 checksum of the current version'
23
- task :checksum do
24
- checksums = File.expand_path('../../checksum', __FILE__)
25
- name = "#{GEMSPEC.name}-#{GEMSPEC.version}.gem"
26
- path = File.join(File.expand_path('../../pkg', __FILE__), name)
27
+ desc 'Creates and commits a SHA512 checksum of the current version built gem'
28
+ task 'checksum' => 'build' do
29
+ add_checksum(built_gem_path)
30
+ end
27
31
 
28
- checksum_name = File.basename(path) + '.sha512'
29
- checksum = Digest::SHA512.new.hexdigest(File.read(path))
32
+ desc "Create tag #{version_tag} and build and push #{built_gem_name} to Rubygems"
33
+ task 'release' => 'checksum' do
34
+ release_gem(built_gem_path)
35
+ end
30
36
 
31
- File.open(File.join(checksums, checksum_name), 'w') do |handle|
32
- handle.write(checksum)
33
37
  end
34
- end
35
38
 
36
- desc 'Creates a Git tag for the current version'
37
- task :tag do
38
- version = MetricFu::VERSION
39
+ def build_gem
40
+ file_name = nil
41
+ sh("gem build -V '#{@gemspec_path}'") { |out, code|
42
+ file_name = File.basename(built_gem_path)
43
+ FileUtils.mkdir_p(File.join(base, 'pkg'))
44
+ FileUtils.mv(built_gem_path, 'pkg')
45
+ STDOUT.puts "#{name} #{version} built to pkg/#{file_name}."
46
+ }
47
+ File.join(base, 'pkg', file_name)
48
+ end
49
+
50
+ def install_gem(built_gem_path=nil)
51
+ built_gem_path ||= build_gem
52
+ out, _ = sh_with_code("gem install '#{built_gem_path}' --local")
53
+ raise "Couldn't install gem, run `gem install #{built_gem_path}' for more detailed output" unless out[/Successfully installed/]
54
+ STDOUT.puts "#{name} (#{version}) installed."
55
+ end
39
56
 
40
- sh %Q{git tag -a -m "Version #{version}" -s #{version}}
41
- end
57
+ def add_checksum(built_gem_path=nil)
58
+ guard_clean
59
+ built_gem_path ||= build_gem
60
+ checksum_file = File.join(checksums, checksum_name)
61
+ File.open(checksum_file, 'w') do |handle|
62
+ handle.write(gem_checksum(built_gem_path))
63
+ end
64
+ sh_with_code("git add #{checksum_file} && git commit -m 'Add checksum for #{built_gem_name}'")
65
+ end
66
+
67
+ def checksums
68
+ File.expand_path('../../checksum', __FILE__)
69
+ end
70
+
71
+ def checksum_name
72
+ File.basename(built_gem_name) + '.sha512'
73
+ end
74
+
75
+ def gem_checksum(built_gem_path)
76
+ checksum(File.read(built_gem_path))
77
+ end
78
+
79
+ def checksum(content)
80
+ Digest::SHA512.new.hexdigest(content)
81
+ end
82
+
83
+ def release_gem(built_gem_path=nil)
84
+ guard_clean
85
+ built_gem_path ||= build_gem
86
+ add_checksum(built_gem_path) #unless already hashed?
87
+ tag_version { git_push } unless already_tagged?
88
+ rubygem_push(built_gem_path) if gem_push?
89
+ end
90
+
91
+ protected
92
+
93
+ def rubygem_push(path)
94
+ if Pathname.new("~/.gem/credentials").expand_path.exist?
95
+ sh("gem push '#{path}'")
96
+ STDOUT.puts "Pushed #{name} #{version} to rubygems.org."
97
+ else
98
+ raise "Your rubygems.org credentials aren't set. Run `gem push` to set them."
99
+ end
100
+ end
101
+
102
+ def built_gem_path
103
+ Dir[File.join(base, "#{name}-*.gem")].sort_by{|f| File.mtime(f)}.last
104
+ end
105
+
106
+ def git_push
107
+ perform_git_push
108
+ perform_git_push ' --tags'
109
+ STDOUT.puts "Pushed git commits and tags."
110
+ end
111
+
112
+ def perform_git_push(options = '')
113
+ cmd = "git push #{options}"
114
+ out, code = sh_with_code(cmd)
115
+ raise "Couldn't git push. `#{cmd}' failed with the following output:\n\n#{out}\n" unless code == 0
116
+ end
117
+
118
+ def already_tagged?
119
+ if sh('git tag').split(/\n/).include?(version_tag)
120
+ STDOUT.puts "Tag #{version_tag} has already been created."
121
+ true
122
+ end
123
+ end
124
+
125
+ def guard_clean
126
+ clean? && committed? or raise("There are files that need to be committed first.")
127
+ end
128
+
129
+ def clean?
130
+ sh_with_code("git diff --exit-code")[1] == 0
131
+ end
132
+
133
+ def committed?
134
+ sh_with_code("git diff-index --quiet --cached HEAD")[1] == 0
135
+ end
136
+
137
+ def tag_version
138
+ sh "git tag -a -m \"Version #{version}\" #{version_tag}"
139
+ STDOUT.puts "Tagged #{version_tag}."
140
+ yield if block_given?
141
+ rescue
142
+ STDERR.puts "Untagging #{version_tag} due to error."
143
+ sh_with_code "git tag -d #{version_tag}"
144
+ raise
145
+ end
146
+
147
+ def version
148
+ @gemspec.version
149
+ end
150
+
151
+ def version_tag
152
+ "v#{version}"
153
+ end
154
+
155
+ def name
156
+ @gemspec.name
157
+ end
158
+
159
+ def built_gem_name
160
+ "#{name}-#{version}.gem"
161
+ end
162
+
163
+ def sh(cmd, &block)
164
+ out, code = sh_with_code(cmd, &block)
165
+ code == 0 ? out : raise(out.empty? ? "Running `#{cmd}' failed. Run this command directly for more detailed output." : out)
166
+ end
167
+
168
+ def sh_with_code(cmd, &block)
169
+ cmd << " 2>&1"
170
+ outbuf = ''
171
+ p cmd
172
+ Dir.chdir(base) {
173
+ outbuf = `#{cmd}`
174
+ if $? == 0
175
+ block.call(outbuf) if block
176
+ end
177
+ }
178
+ [outbuf, $?]
179
+ end
180
+
181
+ def gem_push?
182
+ ! %w{n no nil false off 0}.include?(ENV['gem_push'].to_s.downcase)
183
+ end
184
+
185
+ end.new.install
42
186
 
43
187
  desc 'Extracts TODO tags and the likes'
44
188
  task :todo do
@@ -1,3 +1,3 @@
1
1
  module MetricFu
2
- VERSION = '4.5.1'
2
+ VERSION = '4.5.2'
3
3
  end
@@ -22,10 +22,15 @@ Gem::Specification.new do |s|
22
22
  s.required_ruby_version = ">= 1.9.0"
23
23
  s.required_rubygems_version = ">= 1.3.6"
24
24
 
25
- s.files = `git ls-files`.split($\)
26
- s.test_files = s.files.grep(%r{^(test|spec|features)/})
25
+ tracked_files = `git ls-files`.split($\)
26
+ excluded_dirs = %r{\Aetc}
27
+ files = tracked_files.reject{|file| file[excluded_dirs] }
28
+ test_files = files.grep(%r{^(test|spec|features)/})
29
+ executables = files.grep(%r{^bin/}).map{ |f| File.basename(f) }
30
+ s.files = files
31
+ s.test_files = test_files
32
+ s.executables = executables
27
33
  s.default_executable = %q{metric_fu}
28
- s.executables = s.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
29
34
  s.require_paths = ["lib"]
30
35
 
31
36
  s.has_rdoc = true
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: metric_fu
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.5.1
4
+ version: 4.5.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jake Scruggs
@@ -19,43 +19,36 @@ authors:
19
19
  autorequire:
20
20
  bindir: bin
21
21
  cert_chain:
22
- - !binary |-
23
- LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURqakNDQW5hZ0F3SUJB
24
- Z0lCQVRBTkJna3Foa2lHOXcwQkFRVUZBREJHTVF3d0NnWURWUVFEREFOa1pY
25
- WXgKSVRBZkJnb0praWFKay9Jc1pBRVpGaEZpWlc1cVlXMXBibVpzWldselky
26
- aGxjakVUTUJFR0NnbVNKb21UOGl4awpBUmtXQTJOdmJUQWVGdzB4TXpFeE1E
27
- Y3lNVFEwTURCYUZ3MHhOREV4TURjeU1UUTBNREJhTUVZeEREQUtCZ05WCkJB
28
- TU1BMlJsZGpFaE1COEdDZ21TSm9tVDhpeGtBUmtXRVdKbGJtcGhiV2x1Wm14
29
- bGFYTmphR1Z5TVJNd0VRWUsKQ1pJbWlaUHlMR1FCR1JZRFkyOXRNSUlCSWpB
30
- TkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUJDZ0tDQVFFQQpuY1pGdTdW
31
- TWJsaUlCaGlHajZKNWFLWFN1SEY2Z1hadUE4Z2twZ003ZGdWemtMaHV1ZDZo
32
- U1lYb0M4VVpJcitNCk45aHZWL0YyRjNnTGxqMko3YUxIcjhDMGZvcjRLVmpj
33
- NU4vYjI0OXZHb0g5bklsMHFaVkUzcUkrUjdNSWRZbE8KT05vZUhnaXltU0t5
34
- c3NDekdGUnp2OFpWcnBXdVVtY0IzcWl4YjZkMmFpdjFrY3NaWm5Malk0RU81
35
- alZXOVg5MgpkOVZNdU5kWVl0WjBsODhwcm1VTSsxZlZmYURkWStLR3JpZ2Vm
36
- ZkhVR0QwajdwSE9ablJDWUt3R0hHLzdOa2c4CjB2RXRZVkJLU3BISVFUaEJN
37
- V1hJUXU2OWdJcHI2QW1RZC9rVm5oZWpBZFFndnNEejQzbjloNWladnJ3Y2Vk
38
- V1kKeDJ3eitGclVkSnpaWmhpdFVGR3Jud0lEQVFBQm80R0dNSUdETUFrR0Ex
39
- VWRFd1FDTUFBd0N3WURWUjBQQkFRRApBZ1N3TUIwR0ExVWREZ1FXQkJUR3dH
40
- SnR5bzhuVW9SdXhiWWZjSTVienVITDN6QWtCZ05WSFJFRUhUQWJnUmxrClpY
41
- WkFZbVZ1YW1GdGFXNW1iR1ZwYzJOb1pYSXVZMjl0TUNRR0ExVWRFZ1FkTUJ1
42
- QkdXUmxka0JpWlc1cVlXMXAKYm1ac1pXbHpZMmhsY2k1amIyMHdEUVlKS29a
43
- SWh2Y05BUUVGQlFBRGdnRUJBSS9neXpjRm40WHZyelhocUtXYwp6TFViT3Aw
44
- MzQ5clZJRjZmMFBsUXZmM1pKWlM3NkhLWjJFcVNRSnd6cGNBYm95cHZzUldr
45
- MGtWbU93dnphZTRZCmJCMGFjMld1UmY3QW50Uzg0VmtaUW1JLzFBSXhrYVFV
46
- SVF2SEphY2F3OHlKS05nZ2JEQkt1Z0hqY3JJV1dnMlYKdkR2eWp2Sng0c1FG
47
- cEo4NExTRGJBVmtCOTJZYVA2Q1V3b2VYd3Jjc3Z2ZnJ2bzl4NUFrQkVDejlL
48
- WkdENTMyZwpvNzhQNFdteklXTGdhbjVHSXlORnRHeENzWUF1ZytoMGpuQzR5
49
- dWphdUtxcjhoS0RMdTRLK3F1Q0dqWC82TEw2CldPTno5dlQ2aDA1M2tIWllN
50
- cmQ0R3MvTmRhQTR0SlN4cmhabFhkYWpBbS8wdkFPekxJcVVISFFrM1IwdGY3
51
- YVkKZC93PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==
52
- date: 2013-11-07 00:00:00.000000000 Z
22
+ - |
23
+ -----BEGIN CERTIFICATE-----
24
+ MIIDjjCCAnagAwIBAgIBATANBgkqhkiG9w0BAQUFADBGMQwwCgYDVQQDDANkZXYx
25
+ ITAfBgoJkiaJk/IsZAEZFhFiZW5qYW1pbmZsZWlzY2hlcjETMBEGCgmSJomT8ixk
26
+ ARkWA2NvbTAeFw0xMzExMDcyMTQ0MDBaFw0xNDExMDcyMTQ0MDBaMEYxDDAKBgNV
27
+ BAMMA2RldjEhMB8GCgmSJomT8ixkARkWEWJlbmphbWluZmxlaXNjaGVyMRMwEQYK
28
+ CZImiZPyLGQBGRYDY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA
29
+ ncZFu7VMbliIBhiGj6J5aKXSuHF6gXZuA8gkpgM7dgVzkLhuud6hSYXoC8UZIr+M
30
+ N9hvV/F2F3gLlj2J7aLHr8C0for4KVjc5N/b249vGoH9nIl0qZVE3qI+R7MIdYlO
31
+ ONoeHgiymSKyssCzGFRzv8ZVrpWuUmcB3qixb6d2aiv1kcsZZnLjY4EO5jVW9X92
32
+ d9VMuNdYYtZ0l88prmUM+1fVfaDdY+KGrigeffHUGD0j7pHOZnRCYKwGHG/7Nkg8
33
+ 0vEtYVBKSpHIQThBMWXIQu69gIpr6AmQd/kVnhejAdQgvsDz43n9h5iZvrwcedWY
34
+ x2wz+FrUdJzZZhitUFGrnwIDAQABo4GGMIGDMAkGA1UdEwQCMAAwCwYDVR0PBAQD
35
+ AgSwMB0GA1UdDgQWBBTGwGJtyo8nUoRuxbYfcI5bzuHL3zAkBgNVHREEHTAbgRlk
36
+ ZXZAYmVuamFtaW5mbGVpc2NoZXIuY29tMCQGA1UdEgQdMBuBGWRldkBiZW5qYW1p
37
+ bmZsZWlzY2hlci5jb20wDQYJKoZIhvcNAQEFBQADggEBAI/gyzcFn4XvrzXhqKWc
38
+ zLUbOp0349rVIF6f0PlQvf3ZJZS76HKZ2EqSQJwzpcAboypvsRWk0kVmOwvzae4Y
39
+ bB0ac2WuRf7AntS84VkZQmI/1AIxkaQUIQvHJacaw8yJKNggbDBKugHjcrIWWg2V
40
+ vDvyjvJx4sQFpJ84LSDbAVkB92YaP6CUwoeXwrcsvvfrvo9x5AkBECz9KZGD532g
41
+ o78P4WmzIWLgan5GIyNFtGxCsYAug+h0jnC4yujauKqr8hKDLu4K+quCGjX/6LL6
42
+ WONz9vT6h053kHZYMrd4Gs/NdaA4tJSxrhZlXdajAm/0vAOzLIqUHHQk3R0tf7aY
43
+ d/w=
44
+ -----END CERTIFICATE-----
45
+ date: 2013-11-08 00:00:00.000000000 Z
53
46
  dependencies:
54
47
  - !ruby/object:Gem::Dependency
55
48
  name: flay
56
49
  requirement: !ruby/object:Gem::Requirement
57
50
  requirements:
58
- - - ! '>='
51
+ - - '>='
59
52
  - !ruby/object:Gem::Version
60
53
  version: 2.0.1
61
54
  - - ~>
@@ -65,7 +58,7 @@ dependencies:
65
58
  prerelease: false
66
59
  version_requirements: !ruby/object:Gem::Requirement
67
60
  requirements:
68
- - - ! '>='
61
+ - - '>='
69
62
  - !ruby/object:Gem::Version
70
63
  version: 2.0.1
71
64
  - - ~>
@@ -89,7 +82,7 @@ dependencies:
89
82
  name: flog
90
83
  requirement: !ruby/object:Gem::Requirement
91
84
  requirements:
92
- - - ! '>='
85
+ - - '>='
93
86
  - !ruby/object:Gem::Version
94
87
  version: 4.1.1
95
88
  - - ~>
@@ -99,7 +92,7 @@ dependencies:
99
92
  prerelease: false
100
93
  version_requirements: !ruby/object:Gem::Requirement
101
94
  requirements:
102
- - - ! '>='
95
+ - - '>='
103
96
  - !ruby/object:Gem::Version
104
97
  version: 4.1.1
105
98
  - - ~>
@@ -109,7 +102,7 @@ dependencies:
109
102
  name: reek
110
103
  requirement: !ruby/object:Gem::Requirement
111
104
  requirements:
112
- - - ! '>='
105
+ - - '>='
113
106
  - !ruby/object:Gem::Version
114
107
  version: 1.3.4
115
108
  - - ~>
@@ -119,7 +112,7 @@ dependencies:
119
112
  prerelease: false
120
113
  version_requirements: !ruby/object:Gem::Requirement
121
114
  requirements:
122
- - - ! '>='
115
+ - - '>='
123
116
  - !ruby/object:Gem::Version
124
117
  version: 1.3.4
125
118
  - - ~>
@@ -129,7 +122,7 @@ dependencies:
129
122
  name: cane
130
123
  requirement: !ruby/object:Gem::Requirement
131
124
  requirements:
132
- - - ! '>='
125
+ - - '>='
133
126
  - !ruby/object:Gem::Version
134
127
  version: 2.5.2
135
128
  - - ~>
@@ -139,7 +132,7 @@ dependencies:
139
132
  prerelease: false
140
133
  version_requirements: !ruby/object:Gem::Requirement
141
134
  requirements:
142
- - - ! '>='
135
+ - - '>='
143
136
  - !ruby/object:Gem::Version
144
137
  version: 2.5.2
145
138
  - - ~>
@@ -149,7 +142,7 @@ dependencies:
149
142
  name: rails_best_practices
150
143
  requirement: !ruby/object:Gem::Requirement
151
144
  requirements:
152
- - - ! '>='
145
+ - - '>='
153
146
  - !ruby/object:Gem::Version
154
147
  version: 1.14.3
155
148
  - - ~>
@@ -159,7 +152,7 @@ dependencies:
159
152
  prerelease: false
160
153
  version_requirements: !ruby/object:Gem::Requirement
161
154
  requirements:
162
- - - ! '>='
155
+ - - '>='
163
156
  - !ruby/object:Gem::Version
164
157
  version: 1.14.3
165
158
  - - ~>
@@ -169,14 +162,14 @@ dependencies:
169
162
  name: metric_fu-Saikuro
170
163
  requirement: !ruby/object:Gem::Requirement
171
164
  requirements:
172
- - - ! '>='
165
+ - - '>='
173
166
  - !ruby/object:Gem::Version
174
167
  version: 1.1.1.0
175
168
  type: :runtime
176
169
  prerelease: false
177
170
  version_requirements: !ruby/object:Gem::Requirement
178
171
  requirements:
179
- - - ! '>='
172
+ - - '>='
180
173
  - !ruby/object:Gem::Version
181
174
  version: 1.1.1.0
182
175
  - !ruby/object:Gem::Dependency
@@ -211,42 +204,42 @@ dependencies:
211
204
  name: redcard
212
205
  requirement: !ruby/object:Gem::Requirement
213
206
  requirements:
214
- - - ! '>='
207
+ - - '>='
215
208
  - !ruby/object:Gem::Version
216
209
  version: '0'
217
210
  type: :runtime
218
211
  prerelease: false
219
212
  version_requirements: !ruby/object:Gem::Requirement
220
213
  requirements:
221
- - - ! '>='
214
+ - - '>='
222
215
  - !ruby/object:Gem::Version
223
216
  version: '0'
224
217
  - !ruby/object:Gem::Dependency
225
218
  name: coderay
226
219
  requirement: !ruby/object:Gem::Requirement
227
220
  requirements:
228
- - - ! '>='
221
+ - - '>='
229
222
  - !ruby/object:Gem::Version
230
223
  version: '0'
231
224
  type: :runtime
232
225
  prerelease: false
233
226
  version_requirements: !ruby/object:Gem::Requirement
234
227
  requirements:
235
- - - ! '>='
228
+ - - '>='
236
229
  - !ruby/object:Gem::Version
237
230
  version: '0'
238
231
  - !ruby/object:Gem::Dependency
239
232
  name: multi_json
240
233
  requirement: !ruby/object:Gem::Requirement
241
234
  requirements:
242
- - - ! '>='
235
+ - - '>='
243
236
  - !ruby/object:Gem::Version
244
237
  version: '0'
245
238
  type: :runtime
246
239
  prerelease: false
247
240
  version_requirements: !ruby/object:Gem::Requirement
248
241
  requirements:
249
- - - ! '>='
242
+ - - '>='
250
243
  - !ruby/object:Gem::Version
251
244
  version: '0'
252
245
  description: Code metrics from Flog, Flay, Saikuro, Churn, Reek, Roodi, Code Statistics,
@@ -302,10 +295,8 @@ files:
302
295
  - checksum/metric_fu-4.4.3.gem.sha512
303
296
  - checksum/metric_fu-4.4.4.gem.sha512
304
297
  - checksum/metric_fu-4.5.0.gem.sha512
298
+ - checksum/metric_fu-4.5.1.gem.sha512
305
299
  - config/roodi_config.yml
306
- - etc/README.md
307
- - etc/erd.dot
308
- - etc/erd.png
309
300
  - gem_tasks/build.rake
310
301
  - gemfiles/Gemfile.travis
311
302
  - lib/metric_fu.rb
@@ -506,17 +497,17 @@ require_paths:
506
497
  - lib
507
498
  required_ruby_version: !ruby/object:Gem::Requirement
508
499
  requirements:
509
- - - ! '>='
500
+ - - '>='
510
501
  - !ruby/object:Gem::Version
511
502
  version: 1.9.0
512
503
  required_rubygems_version: !ruby/object:Gem::Requirement
513
504
  requirements:
514
- - - ! '>='
505
+ - - '>='
515
506
  - !ruby/object:Gem::Version
516
507
  version: 1.3.6
517
508
  requirements: []
518
509
  rubyforge_project: metric_fu
519
- rubygems_version: 2.0.8
510
+ rubygems_version: 2.0.3
520
511
  signing_key:
521
512
  specification_version: 4
522
513
  summary: A fistful of code metrics, with awesome templates and graphs
metadata.gz.sig CHANGED
Binary file
@@ -1,16 +0,0 @@
1
- # Scripts
2
-
3
- [Scripts used in this project](https://gist.github.com/bf4/7209165)
4
-
5
-
6
- Generate list of contributors in descending number of code changes
7
-
8
- ```sh
9
- ruby git-rank-contributors.rb > CONTRIBUTORS
10
- ```
11
-
12
- Generate entity diagram
13
-
14
- ```sh
15
- ruby erd.rb
16
- ```
@@ -1,173 +0,0 @@
1
- digraph classes {
2
- graph [rotate=0, rankdir="LR"]
3
- node [fillcolor="#c4ddec", style="filled", fontname="Helvetica Neue"]
4
- edge [color="#444444"]
5
- Exception [label="Exception"]
6
- MetricFu__AnalysisError [label="MetricFu::AnalysisError"]
7
- MetricFu__AnalyzerTables [label="MetricFu::AnalyzerTables"]
8
- MetricFu__CaneGenerator [label="MetricFu::CaneGenerator"]
9
- MetricFu__CaneGrapher [label="MetricFu::CaneGrapher"]
10
- MetricFu__CaneViolations__AbcComplexity [label="MetricFu::CaneViolations::AbcComplexity"]
11
- MetricFu__CaneViolations__Comment [label="MetricFu::CaneViolations::Comment"]
12
- MetricFu__CaneViolations__Documentation [label="MetricFu::CaneViolations::Documentation"]
13
- MetricFu__CaneViolations__LineStyle [label="MetricFu::CaneViolations::LineStyle"]
14
- MetricFu__CaneViolations__Others [label="MetricFu::CaneViolations::Others"]
15
- MetricFu__ChurnGenerator [label="MetricFu::ChurnGenerator"]
16
- MetricFu__ChurnHotspot [label="MetricFu::ChurnHotspot"]
17
- MetricFu__ClassMethodNode [label="MetricFu::ClassMethodNode"]
18
- MetricFu__Configuration [label="MetricFu::Configuration"]
19
- MetricFu__FlayGenerator [label="MetricFu::FlayGenerator"]
20
- MetricFu__FlayGrapher [label="MetricFu::FlayGrapher"]
21
- MetricFu__FlayHotspot [label="MetricFu::FlayHotspot"]
22
- MetricFu__FlogGenerator [label="MetricFu::FlogGenerator"]
23
- MetricFu__FlogGrapher [label="MetricFu::FlogGrapher"]
24
- MetricFu__FlogHotspot [label="MetricFu::FlogHotspot"]
25
- MetricFu__Formatter__HTML [label="MetricFu::Formatter::HTML"]
26
- MetricFu__Formatter__YAML [label="MetricFu::Formatter::YAML"]
27
- MetricFu__GemRun [label="MetricFu::GemRun"]
28
- MetricFu__GemVersion [label="MetricFu::GemVersion"]
29
- MetricFu__Generator [label="MetricFu::Generator"]
30
- MetricFu__Graph [label="MetricFu::Graph"]
31
- MetricFu__Grapher [label="MetricFu::Grapher"]
32
- MetricFu__Grouping [label="MetricFu::Grouping"]
33
- MetricFu__Hotspot [label="MetricFu::Hotspot"]
34
- MetricFu__HotspotAnalyzedProblems [label="MetricFu::HotspotAnalyzedProblems"]
35
- MetricFu__HotspotAnalyzer [label="MetricFu::HotspotAnalyzer"]
36
- MetricFu__HotspotGroupings [label="MetricFu::HotspotGroupings"]
37
- MetricFu__HotspotProblems [label="MetricFu::HotspotProblems"]
38
- MetricFu__HotspotRankedProblemLocation [label="MetricFu::HotspotRankedProblemLocation"]
39
- MetricFu__HotspotRankings [label="MetricFu::HotspotRankings"]
40
- MetricFu__HotspotsGenerator [label="MetricFu::HotspotsGenerator"]
41
- MetricFu__InstanceMethodNode [label="MetricFu::InstanceMethodNode"]
42
- MetricFu__LineNumbers [label="MetricFu::LineNumbers"]
43
- MetricFu__Loader [label="MetricFu::Loader"]
44
- MetricFu__Location [label="MetricFu::Location"]
45
- MetricFu__MethodContainer [label="MetricFu::MethodContainer"]
46
- MetricFu__Metric [label="MetricFu::Metric"]
47
- MetricFu__MetricCane [label="MetricFu::MetricCane"]
48
- MetricFu__MetricChurn [label="MetricFu::MetricChurn"]
49
- MetricFu__MetricFlay [label="MetricFu::MetricFlay"]
50
- MetricFu__MetricFlog [label="MetricFu::MetricFlog"]
51
- MetricFu__MetricHotspots [label="MetricFu::MetricHotspots"]
52
- MetricFu__MetricRailsBestPractices [label="MetricFu::MetricRailsBestPractices"]
53
- MetricFu__MetricRcov [label="MetricFu::MetricRcov"]
54
- MetricFu__MetricReek [label="MetricFu::MetricReek"]
55
- MetricFu__MetricRoodi [label="MetricFu::MetricRoodi"]
56
- MetricFu__MetricSaikuro [label="MetricFu::MetricSaikuro"]
57
- MetricFu__MetricStats [label="MetricFu::MetricStats"]
58
- MetricFu__RailsBestPracticesGenerator [label="MetricFu::RailsBestPracticesGenerator"]
59
- MetricFu__RailsBestPracticesGrapher [label="MetricFu::RailsBestPracticesGrapher"]
60
- MetricFu__Ranking [label="MetricFu::Ranking"]
61
- MetricFu__RcovGenerator [label="MetricFu::RcovGenerator"]
62
- MetricFu__RcovGenerator__Line [label="MetricFu::RcovGenerator::Line"]
63
- MetricFu__RcovGrapher [label="MetricFu::RcovGrapher"]
64
- MetricFu__RcovHotspot [label="MetricFu::RcovHotspot"]
65
- MetricFu__Record [label="MetricFu::Record"]
66
- MetricFu__ReekGenerator [label="MetricFu::ReekGenerator"]
67
- MetricFu__ReekGrapher [label="MetricFu::ReekGrapher"]
68
- MetricFu__Reporter [label="MetricFu::Reporter"]
69
- MetricFu__Result [label="MetricFu::Result"]
70
- MetricFu__RoodiGenerator [label="MetricFu::RoodiGenerator"]
71
- MetricFu__RoodiGrapher [label="MetricFu::RoodiGrapher"]
72
- MetricFu__RoodiHotspot [label="MetricFu::RoodiHotspot"]
73
- MetricFu__Run [label="MetricFu::Run"]
74
- MetricFu__SaikuroGenerator [label="MetricFu::SaikuroGenerator"]
75
- MetricFu__SaikuroHotspot [label="MetricFu::SaikuroHotspot"]
76
- MetricFu__SaikuroParsingElement [label="MetricFu::SaikuroParsingElement"]
77
- MetricFu__SaikuroScratchFile [label="MetricFu::SaikuroScratchFile"]
78
- MetricFu__SexpNode [label="MetricFu::SexpNode"]
79
- MetricFu__SingletonMethodNode [label="MetricFu::SingletonMethodNode"]
80
- MetricFu__StatsGenerator [label="MetricFu::StatsGenerator"]
81
- MetricFu__StatsGrapher [label="MetricFu::StatsGrapher"]
82
- MetricFu__StatsHotspot [label="MetricFu::StatsHotspot"]
83
- MetricFu__Table [label="MetricFu::Table"]
84
- MetricFu__Template [label="MetricFu::Template"]
85
- Object [label="Object"]
86
- RuntimeError [label="RuntimeError"]
87
- StandardError [label="StandardError"]
88
- Struct [label="Struct"]
89
- Exception -> Object
90
- MetricFu__AnalysisError -> RuntimeError
91
- MetricFu__AnalyzerTables -> Object
92
- MetricFu__CaneGenerator -> MetricFu__Generator
93
- MetricFu__CaneGrapher -> MetricFu__Grapher
94
- MetricFu__CaneViolations__AbcComplexity -> Object
95
- MetricFu__CaneViolations__Comment -> Object
96
- MetricFu__CaneViolations__Documentation -> Object
97
- MetricFu__CaneViolations__LineStyle -> Object
98
- MetricFu__CaneViolations__Others -> Object
99
- MetricFu__ChurnGenerator -> MetricFu__Generator
100
- MetricFu__ChurnHotspot -> MetricFu__Hotspot
101
- MetricFu__ClassMethodNode -> MetricFu__SexpNode
102
- MetricFu__Configuration -> Object
103
- MetricFu__FlayGenerator -> MetricFu__Generator
104
- MetricFu__FlayGrapher -> MetricFu__Grapher
105
- MetricFu__FlayHotspot -> MetricFu__Hotspot
106
- MetricFu__FlogGenerator -> MetricFu__Generator
107
- MetricFu__FlogGrapher -> MetricFu__Grapher
108
- MetricFu__FlogHotspot -> MetricFu__Hotspot
109
- MetricFu__Formatter__HTML -> Object
110
- MetricFu__Formatter__YAML -> Object
111
- MetricFu__GemRun -> Object
112
- MetricFu__GemVersion -> Object
113
- MetricFu__Generator -> Object
114
- MetricFu__Graph -> Object
115
- MetricFu__Grapher -> Object
116
- MetricFu__Grouping -> Object
117
- MetricFu__Hotspot -> Object
118
- MetricFu__HotspotAnalyzedProblems -> Object
119
- MetricFu__HotspotAnalyzer -> Object
120
- MetricFu__HotspotGroupings -> Object
121
- MetricFu__HotspotProblems -> Object
122
- MetricFu__HotspotRankedProblemLocation -> Object
123
- MetricFu__HotspotRankings -> Object
124
- MetricFu__HotspotsGenerator -> MetricFu__Generator
125
- MetricFu__InstanceMethodNode -> MetricFu__SexpNode
126
- MetricFu__LineNumbers -> Object
127
- MetricFu__Loader -> Object
128
- MetricFu__Location -> Object
129
- MetricFu__MethodContainer -> Object
130
- MetricFu__Metric -> Object
131
- MetricFu__MetricCane -> MetricFu__Metric
132
- MetricFu__MetricChurn -> MetricFu__Metric
133
- MetricFu__MetricFlay -> MetricFu__Metric
134
- MetricFu__MetricFlog -> MetricFu__Metric
135
- MetricFu__MetricHotspots -> MetricFu__Metric
136
- MetricFu__MetricRailsBestPractices -> MetricFu__Metric
137
- MetricFu__MetricRcov -> MetricFu__Metric
138
- MetricFu__MetricReek -> MetricFu__Metric
139
- MetricFu__MetricRoodi -> MetricFu__Metric
140
- MetricFu__MetricSaikuro -> MetricFu__Metric
141
- MetricFu__MetricStats -> MetricFu__Metric
142
- MetricFu__RailsBestPracticesGenerator -> MetricFu__Generator
143
- MetricFu__RailsBestPracticesGrapher -> MetricFu__Grapher
144
- MetricFu__Ranking -> Object
145
- MetricFu__RcovGenerator -> MetricFu__Generator
146
- MetricFu__RcovGenerator__Line -> Object
147
- MetricFu__RcovGrapher -> MetricFu__Grapher
148
- MetricFu__RcovHotspot -> MetricFu__Hotspot
149
- MetricFu__Record -> Object
150
- MetricFu__ReekGenerator -> MetricFu__Generator
151
- MetricFu__ReekGrapher -> MetricFu__Grapher
152
- MetricFu__Reporter -> Object
153
- MetricFu__Result -> Object
154
- MetricFu__RoodiGenerator -> MetricFu__Generator
155
- MetricFu__RoodiGrapher -> MetricFu__Grapher
156
- MetricFu__RoodiHotspot -> MetricFu__Hotspot
157
- MetricFu__Run -> Object
158
- MetricFu__SaikuroGenerator -> MetricFu__Generator
159
- MetricFu__SaikuroHotspot -> MetricFu__Hotspot
160
- MetricFu__SaikuroParsingElement -> Object
161
- MetricFu__SaikuroScratchFile -> Object
162
- MetricFu__SexpNode -> Struct
163
- MetricFu__SingletonMethodNode -> MetricFu__SexpNode
164
- MetricFu__StatsGenerator -> MetricFu__Generator
165
- MetricFu__StatsGrapher -> MetricFu__Grapher
166
- MetricFu__StatsHotspot -> MetricFu__Hotspot
167
- MetricFu__Table -> Object
168
- MetricFu__Template -> Object
169
- Object -> BasicObject
170
- RuntimeError -> StandardError
171
- StandardError -> Exception
172
- Struct -> Object
173
- }
Binary file