bf4-metrical 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,5 @@
1
+ *.gem
2
+ .bundle
3
+ pkg/*
4
+ .rvmrc
5
+ tmp/
@@ -0,0 +1,4 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ # For testing that this file gets loaded
4
+ puts "Metrics config loaded"
data/.rspec ADDED
@@ -0,0 +1,3 @@
1
+ --color
2
+ --format documentation
3
+ --order rand
@@ -0,0 +1,7 @@
1
+ language: ruby
2
+ script: rspec
3
+ rvm:
4
+ - 1.9.2
5
+ - 1.9.3
6
+ - 1.8.7
7
+ - ree
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source "http://rubygems.org"
2
+
3
+ # Specify your gem's dependencies in metrical.gemspec
4
+ gemspec
@@ -0,0 +1,105 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ metrical (0.1.0.alpha)
5
+ metric_fu (~> 2.1.1)
6
+ rcov (~> 0.9)
7
+
8
+ GEM
9
+ remote: http://rubygems.org/
10
+ specs:
11
+ Saikuro (1.1.0)
12
+ activesupport (3.2.1)
13
+ i18n (~> 0.6)
14
+ multi_json (~> 1.0)
15
+ arrayfields (4.7.4)
16
+ chronic (0.3.0)
17
+ churn (0.0.15)
18
+ arrayfields (= 4.7.4)
19
+ chronic (>= 0.2.3)
20
+ chronic (>= 0.2.3)
21
+ fattr (= 2.2.0)
22
+ hirb (= 0.5.0)
23
+ hirb
24
+ jeweler (= 1.6.4)
25
+ json (= 1.6.1)
26
+ json_pure
27
+ main
28
+ main (>= 4.6.0)
29
+ map (= 4.3.0)
30
+ ruby_parser (= 2.3.1)
31
+ ruby_parser (~> 2.3)
32
+ sexp_processor (= 3.0.7)
33
+ sexp_processor (~> 3.0.3)
34
+ colored (1.2)
35
+ diff-lcs (1.1.3)
36
+ erubis (2.7.0)
37
+ fattr (2.2.0)
38
+ flay (1.4.3)
39
+ ruby_parser (~> 2.0)
40
+ sexp_processor (~> 3.0)
41
+ flog (2.5.3)
42
+ ruby_parser (~> 2.0)
43
+ sexp_processor (~> 3.0)
44
+ git (1.2.5)
45
+ hirb (0.5.0)
46
+ i18n (0.6.0)
47
+ jeweler (1.6.4)
48
+ bundler (~> 1.0)
49
+ git (>= 1.2.5)
50
+ rake
51
+ json (1.6.1)
52
+ json_pure (1.6.5)
53
+ main (4.7.1)
54
+ map (4.3.0)
55
+ metric_fu (2.1.1)
56
+ Saikuro (>= 1.1.0)
57
+ activesupport (>= 2.0.0)
58
+ chronic (~> 0.3.0)
59
+ churn (>= 0.0.7)
60
+ flay (>= 1.2.1)
61
+ flog (>= 2.3.0)
62
+ rails_best_practices (>= 0.6.4)
63
+ rcov (>= 0.8.3.3)
64
+ reek (>= 1.2.6)
65
+ roodi (>= 2.1.0)
66
+ syntax
67
+ multi_json (1.0.4)
68
+ progressbar (0.10.0)
69
+ rails_best_practices (1.7.2)
70
+ activesupport
71
+ colored
72
+ erubis
73
+ i18n
74
+ progressbar
75
+ sexp_processor
76
+ rake (0.9.2.2)
77
+ rcov (0.9.11)
78
+ reek (1.2.8)
79
+ ruby2ruby (~> 1.2)
80
+ ruby_parser (~> 2.0)
81
+ sexp_processor (~> 3.0)
82
+ roodi (2.1.0)
83
+ ruby_parser
84
+ rspec (2.8.0)
85
+ rspec-core (~> 2.8.0)
86
+ rspec-expectations (~> 2.8.0)
87
+ rspec-mocks (~> 2.8.0)
88
+ rspec-core (2.8.0)
89
+ rspec-expectations (2.8.0)
90
+ diff-lcs (~> 1.1.2)
91
+ rspec-mocks (2.8.0)
92
+ ruby2ruby (1.3.1)
93
+ ruby_parser (~> 2.0)
94
+ sexp_processor (~> 3.0)
95
+ ruby_parser (2.3.1)
96
+ sexp_processor (~> 3.0)
97
+ sexp_processor (3.0.7)
98
+ syntax (1.0.0)
99
+
100
+ PLATFORMS
101
+ ruby
102
+
103
+ DEPENDENCIES
104
+ metrical!
105
+ rspec (~> 2.8)
@@ -0,0 +1,121 @@
1
+ ## Warning: This gem is not being maintained anymore!
2
+
3
+ I work exclusively with Ruby 1.9, and most tools included don't (fully) support it.
4
+ If you want to take over the project, fork the project, and open an issue stating your intentions.
5
+
6
+ ---
7
+
8
+ # Metrical
9
+
10
+ [![Build Status](https://secure.travis-ci.org/iain/metrical.png)](http://travis-ci.org/iain/metrical)
11
+
12
+ MetricFu is awesome! Metrical strives to make it a little bit easier to get working.
13
+
14
+ ## Features
15
+
16
+ ### Cleverer defaults
17
+
18
+ Normally, RCov would work on a black-listing basis. This means that your coverage reports would
19
+ occasionally be flooded with code outside your project. No longer, because the default is now to
20
+ exclude everything and only include your `lib` and `app` directories. It also fixes some issues with
21
+ loading RSpec.
22
+
23
+ ## Usage
24
+
25
+ You're advised to install it with Bundler, because of dependency issues. Add this to your `Gemfile`:
26
+
27
+ gem 'metrical', :require => false
28
+
29
+ Then run:
30
+
31
+ bundle install
32
+
33
+ And run it:
34
+
35
+ bundle exec metrical
36
+
37
+ ## Configuration
38
+
39
+ You can configure MetricFu in a `.metrics` file in the root of your project.
40
+
41
+ MetricFu::Configuration.run do |config|
42
+ config.metrics -= [ :rcov ]
43
+ end
44
+
45
+ For more information on configuring your metrics, please visit the
46
+ [MetricFu homepage](http://metric-fu.rubyforge.org/).
47
+
48
+ You can also turn off metrics when running, for instance:
49
+
50
+ bundle exec metrical --no-rcov
51
+
52
+ The metrics you can turn on and off depend on the type of project you are in.
53
+ For instance, Rails projects also have `rails_best_practices` and `stats` as
54
+ options.
55
+
56
+ Also, Metrical tries to be smart about your Ruby version. Some metrics are not
57
+ available on Ruby 1.9 and are disabled automatically.
58
+
59
+ To see which metrics are available, run:
60
+
61
+ bundle exec metrical --help
62
+
63
+ And that's all there is too it. If you have any suggestions, ideas or bug fixes,
64
+ please drop me a line, or make a github issue.
65
+
66
+ ## Known issues
67
+
68
+ ### General lack of support of Ruby 1.9
69
+
70
+ Most tools don't handle Ruby 1.9 new syntax properly. It doesn't look like this is going to change any time soon.
71
+
72
+ ### RCov and Ruby 1.9
73
+
74
+ RCov doesn't work at all with Ruby 1.9. You should use something like
75
+ [SimpleCov](https://github.com/colszowka/simplecov). Unfortunately, it hasn't been included into
76
+ MetricFu yet. Until then, Metrical automatically disables RCov under Ruby 1.9.
77
+
78
+ ### New syntax in Ruby 1.9
79
+
80
+ Most metrics can't cope with the new syntax in Ruby 1.9. There is nothing I can do about that, or
81
+ the creator of these metrics, because the root lie in the code parser they use. Either don't use the
82
+ new syntax or exclude these metrics in your `.metrics` file.
83
+
84
+ ### Roodi vs. Psych
85
+
86
+ If you're running Ruby 1.9 with Psych as your default YAML parser (possible in 1.9.2, and the
87
+ default in 1.9.3), you might get an error message. [Read this issue](https://github.com/iain/metrical/issues/15).
88
+
89
+ ### Gem dependency issues
90
+
91
+ Metrical depends on a lot of other gems. This means that sometimes, when a new version of a gem is released,
92
+ Rubygems will load the wrong version of the gem, that might be incompatible.
93
+
94
+ If you get a message like `can't activate X, already activated Y`, or something similar, use Bundler.
95
+
96
+
97
+ ## Development
98
+
99
+ Install dependencies:
100
+
101
+ gem install bundler && bundle install
102
+
103
+ Run the specs:
104
+
105
+ rspec
106
+
107
+
108
+ ## Changelog
109
+
110
+ Version 0.1.0:
111
+
112
+ * Finally added tests and added metrical to Travis
113
+ * Add option `--no-open` to stop it from opening in the browser
114
+ * Automatically turn off RCov in Ruby 1.9.x
115
+ * Depend on RCov 0.9, so installation will work under Ruby 1.9
116
+ * Remove other dependencies, it looks like MetricFu has that covered now.
117
+ * Automatically turn off Saikuro on Ruby 1.9.x
118
+ * Add switches for every metric (run `metrical --help` to see them all)
119
+
120
+ ---
121
+ Copyright 2010-2011, [Iain Hecker](http://iain.nl) - Released under the MIT License.
@@ -0,0 +1,8 @@
1
+ require "bundler/gem_tasks"
2
+
3
+
4
+ require 'rspec/core/rake_task'
5
+
6
+ RSpec::Core::RakeTask.new(:test)
7
+
8
+ task :default => :test
@@ -0,0 +1,4 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require "metrical"
4
+ Metrical.run(ARGV.dup)
@@ -0,0 +1,78 @@
1
+ require "metrical/version"
2
+ require "metrical/options"
3
+
4
+ require 'rubygems'
5
+ require 'json'
6
+ require 'metric_fu'
7
+
8
+ # Required for RCOV
9
+ require 'active_support'
10
+ require 'active_support/core_ext'
11
+
12
+ module Metrical
13
+ extend self
14
+
15
+ def run(argv)
16
+ options = Options.parse(argv)
17
+ load_defaults
18
+ set_new_rcov_defaults
19
+ load_user_configuration
20
+ disable_metrics(options)
21
+ run_metric_fu
22
+ open_in_browser if options[:open]
23
+ end
24
+
25
+ private
26
+
27
+ def disable_metrics(options)
28
+ options[:metrics].each do |metric, chosen|
29
+ unless chosen
30
+ MetricFu.configuration.metrics -= [ metric ]
31
+ MetricFu.configuration.graphs -= [ metric ]
32
+ end
33
+ end
34
+ end
35
+
36
+ def load_defaults
37
+ MetricFu::Configuration.run {}
38
+ end
39
+
40
+ def set_new_rcov_defaults
41
+ test_files = Dir['{spec,test}/**/*_{spec,test}.rb']
42
+ MetricFu::Configuration.run do |config|
43
+ config.rcov[:test_files] = test_files
44
+ config.rcov[:rcov_opts] = [
45
+ "--sort coverage",
46
+ "--no-html",
47
+ "--text-coverage",
48
+ "--no-color",
49
+ "--profile",
50
+ "--exclude-only '.*'",
51
+ '--include-file "\Aapp,\Alib"'
52
+ ]
53
+ config.rcov[:rcov_opts] << "-Ispec" if File.exist?("spec")
54
+ end
55
+ end
56
+
57
+ def load_user_configuration
58
+ file = File.join(Dir.pwd, '.metrics')
59
+ load file if File.exist?(file)
60
+ end
61
+
62
+ def run_metric_fu
63
+ MetricFu.metrics.each {|metric| MetricFu.report.add(metric) }
64
+ MetricFu.report.save_output(MetricFu.report.to_yaml, MetricFu.base_directory, "report.yml")
65
+ MetricFu.report.save_output(MetricFu.report.to_yaml, MetricFu.data_directory, "#{Time.now.strftime("%Y%m%d")}.yml")
66
+ MetricFu.report.save_templatized_report
67
+
68
+ MetricFu.graphs.each {|graph| MetricFu.graph.add(graph, MetricFu.graph_engine) }
69
+ MetricFu.graph.generate
70
+ end
71
+
72
+ def open_in_browser
73
+ if MetricFu.report.open_in_browser?
74
+ MetricFu.report.show_in_browser(MetricFu.output_directory)
75
+ end
76
+ end
77
+
78
+ end
@@ -0,0 +1,61 @@
1
+ require 'optparse'
2
+
3
+ module Metrical
4
+ module Options
5
+
6
+ def self.defaults
7
+
8
+ defaults = {
9
+ :open => true,
10
+ :metrics => Hash.new(true)
11
+ }
12
+ defaults[:metrics][:saikuro] = version(ruby) < version("1.9")
13
+ defaults[:metrics][:rcov] = version(ruby) < version("1.9")
14
+ defaults
15
+ end
16
+
17
+ def self.version(version)
18
+ Gem::Version.new(version)
19
+ end
20
+
21
+ def self.ruby
22
+ RUBY_VERSION.dup
23
+ end
24
+
25
+ def self.metrics
26
+ MetricFu.configuration.metrics.sort_by(&:to_s)
27
+ end
28
+
29
+ def self.parse(argv)
30
+ options = defaults.dup
31
+
32
+ opts = OptionParser.new do |opts|
33
+
34
+ opts.version = Metrical::VERSION
35
+
36
+ metrics.each do |metric|
37
+
38
+ opts.on "--[no-]#{metric}", "Enables or disables #{metric.to_s.titleize} (default: #{options[:metrics][metric]})" do |option|
39
+ options[:metrics][metric] = option
40
+ end
41
+
42
+ end
43
+
44
+ opts.on "--[no-]open", "Open report in browser" do |open|
45
+ options[:open] = open
46
+ end
47
+
48
+ end
49
+
50
+ begin
51
+ opts.parse!(argv)
52
+ rescue OptionParser::InvalidOption => error
53
+ puts error.message
54
+ puts opts
55
+ exit 1
56
+ end
57
+ options
58
+ end
59
+
60
+ end
61
+ end
@@ -0,0 +1,3 @@
1
+ module Metrical
2
+ VERSION = "0.1.1"
3
+ end
@@ -0,0 +1,24 @@
1
+ # -*- encoding: utf-8 -*-
2
+ $:.push File.expand_path("../lib", __FILE__)
3
+ require "metrical/version"
4
+
5
+ Gem::Specification.new do |s|
6
+ s.name = "bf4-metrical"
7
+ s.version = Metrical::VERSION
8
+ s.authors = ["iain"]
9
+ s.email = ["iain@iain.nl"]
10
+ s.homepage = "https://github.com/iain/metrical"
11
+ s.summary = %q{Run metric_fu without making it a project dependency}
12
+ s.description = %q{MetricFu is awesome! The only problem is that it's kinda obtrusive. Metrical provides a executable so you can run metric fu on any project without making changes to the project.}
13
+
14
+ s.rubyforge_project = "metrical"
15
+
16
+ s.files = `git ls-files`.split("\n")
17
+ s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
18
+ s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
19
+ s.require_paths = ["lib"]
20
+
21
+ s.add_runtime_dependency "bf4-metric_fu", "~> 2.1.3.1"
22
+ s.add_runtime_dependency "rcov", "~> 0.9"
23
+ s.add_development_dependency "rspec", "~> 2.8"
24
+ end
@@ -0,0 +1,181 @@
1
+ require 'spec_helper'
2
+
3
+ describe Metrical::Options do
4
+
5
+ describe ".defaults" do
6
+
7
+ let(:defaults) { Metrical::Options.defaults }
8
+
9
+ context "on every Ruby version" do
10
+
11
+ it "opens the report in a browser" do
12
+ defaults[:open].should be_true
13
+ end
14
+
15
+ it "enables Flog" do
16
+ defaults[:metrics][:flog].should be_true
17
+ end
18
+
19
+ it "enables Flay" do
20
+ defaults[:metrics][:flay].should be_true
21
+ end
22
+
23
+ it "enables Reek" do
24
+ defaults[:metrics][:reek].should be_true
25
+ end
26
+
27
+ it "enables Hotspots" do
28
+ defaults[:metrics][:hotspots].should be_true
29
+ end
30
+
31
+ it "enables Rails Best Practices" do
32
+ defaults[:metrics][:rails_best_practices].should be_true
33
+ end
34
+
35
+ it "enables Churn" do
36
+ defaults[:metrics][:churn].should be_true
37
+ end
38
+
39
+ end
40
+
41
+ context "on Ruby 1.8.6" do
42
+
43
+ before { subject.stub(:ruby).and_return("1.8.6") }
44
+
45
+ it "enables Saikuro" do
46
+ defaults[:metrics][:saikuro].should be_true
47
+ end
48
+
49
+ it "enables RCov" do
50
+ defaults[:metrics][:rcov].should be_true
51
+ end
52
+
53
+ end
54
+
55
+ context "on Ruby 1.8.7" do
56
+
57
+ before { subject.stub(:ruby).and_return("1.8.7") }
58
+
59
+ it "enables Saikuro" do
60
+ defaults[:metrics][:saikuro].should be_true
61
+ end
62
+
63
+ it "enables RCov" do
64
+ defaults[:metrics][:rcov].should be_true
65
+ end
66
+
67
+ end
68
+
69
+ context "on Ruby 1.9.2" do
70
+
71
+ before { subject.stub(:ruby).and_return("1.9.2") }
72
+
73
+ it "enables Saikuro" do
74
+ defaults[:metrics][:saikuro].should be_false
75
+ end
76
+
77
+ it "disables RCov" do
78
+ defaults[:metrics][:rcov].should be_false
79
+ end
80
+
81
+ end
82
+
83
+ context "on Ruby 1.9.3" do
84
+
85
+ before { subject.stub(:ruby).and_return("1.9.3") }
86
+
87
+ it "disables Saikuro" do
88
+ defaults[:metrics][:saikuro].should be_false
89
+ end
90
+
91
+ it "disables RCov" do
92
+ defaults[:metrics][:rcov].should be_false
93
+ end
94
+
95
+ end
96
+
97
+ end
98
+
99
+ describe ".parse" do
100
+
101
+ it "turns open in browser off" do
102
+ subject.parse(["--no-open"])[:open].should be_false
103
+ end
104
+
105
+ it "turns open in browser on" do
106
+ subject.parse(["--open"])[:open].should be_true
107
+ end
108
+
109
+ # MetricFu doesn't include Saikuro on 1.9.2 (it is broken on 1.9 anyway)
110
+ # https://github.com/jscruggs/metric_fu/blob/master/lib/base/configuration.rb#L12
111
+ unless RUBY_VERSION == "1.9.2"
112
+
113
+ it "turns saikuro off" do
114
+ subject.parse(["--no-saikuro"])[:metrics][:saikuro].should be_false
115
+ end
116
+
117
+ it "turns saikuro on" do
118
+ subject.parse(["--saikuro"])[:metrics][:saikuro].should be_true
119
+ end
120
+
121
+ end
122
+
123
+ it "turns churn off" do
124
+ subject.parse(["--no-churn"])[:metrics][:churn].should be_false
125
+ end
126
+
127
+ it "turns churn on" do
128
+ subject.parse(["--churn"])[:metrics][:churn].should be_true
129
+ end
130
+
131
+ it "turns flay off" do
132
+ subject.parse(["--no-flay"])[:metrics][:flay].should be_false
133
+ end
134
+
135
+ it "turns flay on" do
136
+ subject.parse(["--flay"])[:metrics][:flay].should be_true
137
+ end
138
+
139
+ it "turns flog off" do
140
+ subject.parse(["--no-flog"])[:metrics][:flog].should be_false
141
+ end
142
+
143
+ it "turns flog on" do
144
+ subject.parse(["--flog"])[:metrics][:flog].should be_true
145
+ end
146
+
147
+ it "turns hotspots off" do
148
+ subject.parse(["--no-hotspots"])[:metrics][:hotspots].should be_false
149
+ end
150
+
151
+ it "turns hotspots on" do
152
+ subject.parse(["--hotspots"])[:metrics][:hotspots].should be_true
153
+ end
154
+
155
+ it "turns rcov off" do
156
+ subject.parse(["--no-rcov"])[:metrics][:rcov].should be_false
157
+ end
158
+
159
+ it "turns rcov on" do
160
+ subject.parse(["--rcov"])[:metrics][:rcov].should be_true
161
+ end
162
+
163
+ it "turns reek off" do
164
+ subject.parse(["--no-reek"])[:metrics][:reek].should be_false
165
+ end
166
+
167
+ it "turns reek on" do
168
+ subject.parse(["--reek"])[:metrics][:reek].should be_true
169
+ end
170
+
171
+ it "turns roodi off" do
172
+ subject.parse(["--no-roodi"])[:metrics][:roodi].should be_false
173
+ end
174
+
175
+ it "turns roodi on" do
176
+ subject.parse(["--roodi"])[:metrics][:roodi].should be_true
177
+ end
178
+
179
+ end
180
+
181
+ end
@@ -0,0 +1,46 @@
1
+ require 'spec_helper'
2
+
3
+ describe Metrical, "running" do
4
+
5
+ before do
6
+ FileUtils.rm_rf("tmp/metric_fu")
7
+ end
8
+
9
+ it "has a clean start" do
10
+ File.should_not exist("tmp/metric_fu")
11
+ end
12
+
13
+ it "loads the .metrics file" do
14
+ out = metrical
15
+ out.should include "Metrics config loaded"
16
+ end
17
+
18
+ it "creates a report yaml file" do
19
+ expect { metrical }.to create_file("tmp/metric_fu/report.yml")
20
+ end
21
+
22
+ it "creates a report html file" do
23
+ expect { metrical }.to create_file("tmp/metric_fu/output/index.html")
24
+ end
25
+
26
+ it "displays help" do
27
+ out = metrical("bundle exec metrical --help")
28
+ out.should include "Usage: metrical [options]"
29
+ end
30
+
31
+ it "displays version" do
32
+ out = metrical("bundle exec metrical --version")
33
+ out.should == "metrical #{Metrical::VERSION}"
34
+ end
35
+
36
+ it "errors on unknown flags" do
37
+ expect { metrical "--asdasdasda" }.to raise_error
38
+ end
39
+
40
+ def metrical(command = "--no-open")
41
+ results = `metrical #{command} 2>&1`
42
+ $?.to_i.should eq(0), "The command 'metrical #{command}' failed!\n\n#{results}"
43
+ results.strip
44
+ end
45
+
46
+ end
@@ -0,0 +1,34 @@
1
+ require 'bundler/setup'
2
+ require 'metrical'
3
+ require 'rspec'
4
+
5
+ RSpec::Matchers.define :create_file do |expected|
6
+
7
+ match do |block|
8
+ @before = File.exist?(expected)
9
+ block.call
10
+ @after = File.exist?(expected)
11
+ !@before && @after
12
+ end
13
+
14
+ failure_message_for_should do |block|
15
+ existed_before_message expected do
16
+ "The file #{expected.inspect} was not created"
17
+ end
18
+ end
19
+
20
+ failure_message_for_should_not do |block|
21
+ existed_before_message expected do
22
+ "The file #{expected.inspect} was created"
23
+ end
24
+ end
25
+
26
+ def existed_before_message(expected)
27
+ if @before
28
+ "The file #{expected.inspect} existed before, so this test doesn't work"
29
+ else
30
+ yield
31
+ end
32
+ end
33
+
34
+ end
metadata ADDED
@@ -0,0 +1,115 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: bf4-metrical
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.1
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - iain
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2012-10-28 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: bf4-metric_fu
16
+ requirement: !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ~>
20
+ - !ruby/object:Gem::Version
21
+ version: 2.1.3.1
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ~>
28
+ - !ruby/object:Gem::Version
29
+ version: 2.1.3.1
30
+ - !ruby/object:Gem::Dependency
31
+ name: rcov
32
+ requirement: !ruby/object:Gem::Requirement
33
+ none: false
34
+ requirements:
35
+ - - ~>
36
+ - !ruby/object:Gem::Version
37
+ version: '0.9'
38
+ type: :runtime
39
+ prerelease: false
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ~>
44
+ - !ruby/object:Gem::Version
45
+ version: '0.9'
46
+ - !ruby/object:Gem::Dependency
47
+ name: rspec
48
+ requirement: !ruby/object:Gem::Requirement
49
+ none: false
50
+ requirements:
51
+ - - ~>
52
+ - !ruby/object:Gem::Version
53
+ version: '2.8'
54
+ type: :development
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ~>
60
+ - !ruby/object:Gem::Version
61
+ version: '2.8'
62
+ description: MetricFu is awesome! The only problem is that it's kinda obtrusive. Metrical
63
+ provides a executable so you can run metric fu on any project without making changes
64
+ to the project.
65
+ email:
66
+ - iain@iain.nl
67
+ executables:
68
+ - bf4-metrical
69
+ extensions: []
70
+ extra_rdoc_files: []
71
+ files:
72
+ - .gitignore
73
+ - .metrics
74
+ - .rspec
75
+ - .travis.yml
76
+ - Gemfile
77
+ - Gemfile.lock
78
+ - README.md
79
+ - Rakefile
80
+ - bin/bf4-metrical
81
+ - lib/metrical.rb
82
+ - lib/metrical/options.rb
83
+ - lib/metrical/version.rb
84
+ - metrical.gemspec
85
+ - spec/options_spec.rb
86
+ - spec/running_spec.rb
87
+ - spec/spec_helper.rb
88
+ homepage: https://github.com/iain/metrical
89
+ licenses: []
90
+ post_install_message:
91
+ rdoc_options: []
92
+ require_paths:
93
+ - lib
94
+ required_ruby_version: !ruby/object:Gem::Requirement
95
+ none: false
96
+ requirements:
97
+ - - ! '>='
98
+ - !ruby/object:Gem::Version
99
+ version: '0'
100
+ required_rubygems_version: !ruby/object:Gem::Requirement
101
+ none: false
102
+ requirements:
103
+ - - ! '>='
104
+ - !ruby/object:Gem::Version
105
+ version: '0'
106
+ requirements: []
107
+ rubyforge_project: metrical
108
+ rubygems_version: 1.8.24
109
+ signing_key:
110
+ specification_version: 3
111
+ summary: Run metric_fu without making it a project dependency
112
+ test_files:
113
+ - spec/options_spec.rb
114
+ - spec/running_spec.rb
115
+ - spec/spec_helper.rb