ice_nine 0.8.0 → 0.9.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (44) hide show
  1. checksums.yaml +15 -0
  2. data/.rspec +5 -0
  3. data/.travis.yml +23 -12
  4. data/Gemfile +3 -65
  5. data/Gemfile.devtools +55 -0
  6. data/Rakefile +2 -6
  7. data/config/devtools.yml +2 -0
  8. data/config/flay.yml +2 -2
  9. data/config/flog.yml +1 -1
  10. data/config/mutant.yml +3 -0
  11. data/config/{site.reek → reek.yml} +63 -48
  12. data/config/rubocop.yml +62 -0
  13. data/config/yardstick.yml +1 -1
  14. data/lib/ice_nine.rb +1 -0
  15. data/lib/ice_nine/freezer.rb +3 -6
  16. data/lib/ice_nine/freezer/hash.rb +3 -2
  17. data/lib/ice_nine/freezer/module.rb +10 -0
  18. data/lib/ice_nine/support/recursion_guard.rb +5 -5
  19. data/lib/ice_nine/version.rb +1 -1
  20. data/spec/integration/ice_nine/class_methods/deep_freeze_spec.rb +16 -16
  21. data/spec/spec_helper.rb +18 -11
  22. data/spec/unit/ice_nine/class_methods/deep_freeze_spec.rb +2 -2
  23. data/spec/unit/ice_nine/freezer/array/class_methods/deep_freeze_spec.rb +1 -1
  24. data/spec/unit/ice_nine/freezer/class_methods/{element_reference_spec.rb → element_reader_spec.rb} +55 -4
  25. data/spec/unit/ice_nine/freezer/hash/class_methods/deep_freeze_spec.rb +12 -12
  26. data/spec/unit/ice_nine/freezer/module/class_methods/deep_freeze_spec.rb +24 -0
  27. data/spec/unit/ice_nine/freezer/no_freeze/class_methods/deep_freeze_spec.rb +1 -1
  28. data/spec/unit/ice_nine/freezer/object/class_methods/deep_freeze_spec.rb +1 -1
  29. data/spec/unit/ice_nine/freezer/range/class_methods/deep_freeze_spec.rb +2 -2
  30. data/spec/unit/ice_nine/freezer/struct/class_methods/deep_freeze_spec.rb +1 -1
  31. data/spec/unit/ice_nine/recursion_guard/class_methods/guard_spec.rb +2 -2
  32. metadata +16 -24
  33. data/spec/rcov.opts +0 -7
  34. data/spec/spec.opts +0 -3
  35. data/spec/support/heckle.rb +0 -8
  36. data/tasks/metrics/ci.rake +0 -9
  37. data/tasks/metrics/flay.rake +0 -45
  38. data/tasks/metrics/flog.rake +0 -44
  39. data/tasks/metrics/heckle.rake +0 -207
  40. data/tasks/metrics/metric_fu.rake +0 -31
  41. data/tasks/metrics/roodi.rake +0 -19
  42. data/tasks/metrics/yardstick.rake +0 -25
  43. data/tasks/spec.rake +0 -60
  44. data/tasks/yard.rake +0 -11
@@ -1,31 +0,0 @@
1
- # encoding: utf-8
2
-
3
- begin
4
- require 'metric_fu'
5
- require 'json'
6
-
7
- # XXX: temporary hack until metric_fu is fixed
8
- MetricFu::Saikuro.class_eval { include FileUtils }
9
-
10
- MetricFu::Configuration.run do |config|
11
- config.rcov = {
12
- :environment => 'test',
13
- :test_files => %w[ spec/**/*_spec.rb ],
14
- :rcov_opts => %w[
15
- --sort coverage
16
- --no-html
17
- --text-coverage
18
- --no-color
19
- --profile
20
- --exclude spec/,^/
21
- --include lib:spec
22
- ],
23
- }
24
- end
25
- rescue LoadError
26
- namespace :metrics do
27
- task :all do
28
- $stderr.puts 'metric_fu is not available. In order to run metrics:all, you must: gem install metric_fu'
29
- end
30
- end
31
- end
@@ -1,19 +0,0 @@
1
- # encoding: utf-8
2
-
3
- namespace :metrics do
4
- begin
5
- require 'roodi'
6
- require 'rake/tasklib'
7
- require 'roodi_task'
8
-
9
- RoodiTask.new do |t|
10
- t.verbose = false
11
- t.config = File.expand_path('../../../config/roodi.yml', __FILE__)
12
- t.patterns = %w[ lib/**/*.rb ]
13
- end
14
- rescue LoadError
15
- task :roodi do
16
- $stderr.puts 'Roodi is not available. In order to run roodi, you must: gem install roodi'
17
- end
18
- end
19
- end
@@ -1,25 +0,0 @@
1
- # encoding: utf-8
2
-
3
- namespace :metrics do
4
- begin
5
- require 'yardstick/rake/measurement'
6
- require 'yardstick/rake/verify'
7
- require 'yaml'
8
-
9
- config = YAML.load_file(File.expand_path('../../../config/yardstick.yml', __FILE__))
10
-
11
- # yardstick_measure task
12
- Yardstick::Rake::Measurement.new
13
-
14
- # verify_measurements task
15
- Yardstick::Rake::Verify.new do |verify|
16
- verify.threshold = config.fetch('threshold')
17
- end
18
- rescue LoadError
19
- %w[ yardstick_measure verify_measurements ].each do |name|
20
- task name.to_s do
21
- $stderr.puts "Yardstick is not available. In order to run #{name}, you must: gem install yardstick"
22
- end
23
- end
24
- end
25
- end
@@ -1,60 +0,0 @@
1
- # encoding: utf-8
2
-
3
- spec_defaults = lambda do |spec|
4
- spec.ruby_opts = %w[ -r./spec/support/config_alias ]
5
- spec.spec_opts << '--options' << 'spec/spec.opts'
6
- end
7
-
8
- begin
9
- require 'spec/rake/spectask'
10
-
11
- desc 'Run all specs'
12
- task :spec => %w[ spec:unit spec:integration ]
13
-
14
- namespace :spec do
15
- desc 'Run unit specs'
16
- Spec::Rake::SpecTask.new(:unit) do |unit|
17
- spec_defaults.call(unit)
18
- unit.pattern = 'spec/unit/**/*_spec.rb'
19
- end
20
-
21
- desc 'Run integration specs'
22
- Spec::Rake::SpecTask.new(:integration) do |integration|
23
- spec_defaults.call(integration)
24
- integration.pattern = 'spec/integration/**/*_spec.rb'
25
- end
26
- end
27
- rescue LoadError
28
- %w[ spec spec:unit spec:integration ].each do |name|
29
- task name do
30
- $stderr.puts "rspec is not available. In order to run #{name}, you must: gem install rspec"
31
- end
32
- end
33
- end
34
-
35
- namespace :metrics do
36
- begin
37
- if RUBY_VERSION < '1.9'
38
- desc 'Generate code coverage'
39
- Spec::Rake::SpecTask.new(:coverage) do |rcov|
40
- spec_defaults.call(rcov)
41
- rcov.rcov = true
42
- rcov.pattern = 'spec/unit/**/*_spec.rb'
43
- rcov.rcov_opts = File.read('spec/rcov.opts').split(/\s+/)
44
- end
45
- else
46
- desc 'Generate code coverage'
47
- task :coverage do
48
- ENV['COVERAGE'] = 'true'
49
- Rake::Task['spec:unit'].execute
50
- end
51
- end
52
- rescue LoadError
53
- task :coverage do
54
- lib = RUBY_VERSION < '1.9' ? 'rcov' : 'simplecov'
55
- $stderr.puts "coverage is not available. In order to run #{lib}, you must: gem install #{lib}"
56
- end
57
- end
58
- end
59
-
60
- task :test => :spec
@@ -1,11 +0,0 @@
1
- # encoding: utf-8
2
-
3
- begin
4
- require 'yard'
5
-
6
- YARD::Rake::YardocTask.new
7
- rescue LoadError
8
- task :yard do
9
- $stderr.puts 'YARD is not available. In order to run yard, you must: gem install yard'
10
- end
11
- end