ice_nine 0.7.0 → 0.8.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1 @@
1
+ ice_nine
@@ -3,16 +3,18 @@ before_install: gem install bundler
3
3
  bundler_args: --without yard guard metrics benchmarks
4
4
  script: "bundle exec rake spec"
5
5
  rvm:
6
+ - ree
6
7
  - 1.8.7
7
8
  - 1.9.2
8
9
  - 1.9.3
10
+ - 2.0.0
11
+ - ruby-head
9
12
  - jruby-18mode
10
13
  - jruby-19mode
14
+ - jruby-head
11
15
  - rbx-18mode
12
16
  - rbx-19mode
13
- - ree
14
- - ruby-head
15
- - jruby-head
16
17
  notifications:
18
+ irc: "irc.freenode.org#datamapper"
17
19
  email:
18
20
  - dan.kubb@gmail.com
@@ -0,0 +1,11 @@
1
+ Contributing
2
+ ------------
3
+
4
+ * If you want your code merged into the mainline, please discuss the proposed changes with me before doing any work on it. This library is still in early development, and the direction it is going may not always be clear. Some features may not be appropriate yet, may need to be deferred until later when the foundation for them is laid, or may be more applicable in a plugin.
5
+ * Fork the project.
6
+ * Make your feature addition or bug fix.
7
+ * Follow this [style guide](https://github.com/dkubb/styleguide).
8
+ * Add specs for it. This is important so I don't break it in a future version unintentionally. Tests must cover all branches within the code, and code must be fully covered.
9
+ * Commit, do not mess with Rakefile, version, or history. (if you want to have your own version, that is fine but bump version in a commit by itself I can ignore when I pull)
10
+ * Run "rake ci". This must pass and not show any regressions in the metrics for the code to be merged.
11
+ * Send me a pull request. Bonus points for topic branches.
data/Gemfile CHANGED
@@ -4,16 +4,23 @@ source 'https://rubygems.org'
4
4
 
5
5
  gemspec
6
6
 
7
+ group :development do
8
+ gem 'rake', '~> 10.0.4'
9
+ gem 'rspec', '~> 1.3.2'
10
+ gem 'yard', '~> 0.8.6.1'
11
+ end
12
+
7
13
  group :yard do
8
- gem 'redcarpet', '~> 2.2.2', :platforms => [ :mri, :rbx ]
14
+ gem 'kramdown', '~> 1.0.1'
9
15
  end
10
16
 
11
17
  group :guard do
12
- gem 'guard', '~> 1.6.2'
18
+ gem 'guard', '~> 1.8.0'
13
19
  gem 'guard-bundler', '~> 1.0.0'
14
20
  gem 'guard-rspec', '~> 1.2.1'
15
21
 
16
22
  # file system change event handling
23
+ gem 'listen', '~> 1.2.1'
17
24
  gem 'rb-fchange', '~> 0.0.6', :require => false
18
25
  gem 'rb-fsevent', '~> 0.9.3', :require => false
19
26
  gem 'rb-inotify', '~> 0.9.0', :require => false
@@ -25,31 +32,29 @@ group :guard do
25
32
  end
26
33
 
27
34
  group :metrics do
35
+ gem 'backports', '~> 3.3', '>= 3.3.2'
36
+ gem 'coveralls', '~> 0.6.7'
28
37
  gem 'flay', '~> 1.4.3'
29
38
  gem 'flog', '~> 2.5.3'
39
+ gem 'simplecov', '~> 0.7.1'
30
40
  gem 'roodi', '~> 2.2.0'
31
41
  gem 'yardstick', '~> 0.9.2'
32
42
 
33
- platforms :ruby_18, :ruby_19 do
34
- # this indirectly depends on ffi which does not build on ruby-head
43
+ platforms :ruby_19 do
35
44
  gem 'yard-spellcheck', '~> 0.1.5'
36
45
  end
37
46
 
38
47
  platforms :mri_18 do
39
- gem 'arrayfields', '~> 4.7.4' # for metric_fu
48
+ gem 'arrayfields', '~> 4.9.0' # for metric_fu
40
49
  gem 'fattr', '~> 2.2.0' # for metric_fu
41
50
  gem 'heckle', '~> 1.4.3'
42
- gem 'json', '~> 1.7.7' # for metric_fu rake task
43
- gem 'map', '~> 6.3.0' # for metric_fu
51
+ gem 'json', '~> 1.8.0' # for metric_fu rake task
52
+ gem 'map', '~> 6.5.1' # for metric_fu
44
53
  gem 'metric_fu', '~> 2.1.1'
45
54
  gem 'mspec', '~> 1.5.17'
55
+ gem 'rails_best_practices', '= 1.13.3' # for metric_fu
46
56
  gem 'rcov', '~> 1.0.0'
47
57
  gem 'ruby2ruby', '= 1.2.2' # for heckle
48
- gem 'rails_best_practices', '= 1.13.3' # for metric_fu
49
- end
50
-
51
- platforms :mri_19 do
52
- gem 'simplecov', '~> 0.7.1'
53
58
  end
54
59
 
55
60
  platforms :rbx do
@@ -63,6 +68,6 @@ end
63
68
 
64
69
  platform :jruby do
65
70
  group :jruby do
66
- gem 'jruby-openssl', '~> 0.8.2'
71
+ gem 'jruby-openssl', '~> 0.8.5'
67
72
  end
68
73
  end
data/LICENSE CHANGED
@@ -1,4 +1,4 @@
1
- Copyright (c) 2012 Dan Kubb
1
+ Copyright (c) 2012-2013 Dan Kubb
2
2
 
3
3
  Permission is hereby granted, free of charge, to any person obtaining
4
4
  a copy of this software and associated documentation files (the
data/README.md CHANGED
@@ -3,9 +3,17 @@ ice_nine
3
3
 
4
4
  Deep freeze ruby objects
5
5
 
6
- [![Build Status](https://secure.travis-ci.org/dkubb/ice_nine.png)](https://travis-ci.org/dkubb/ice_nine)
7
- [![Dependency Status](https://gemnasium.com/dkubb/ice_nine.png)](https://gemnasium.com/dkubb/ice_nine)
8
- [![Code Climate](https://codeclimate.com/badge.png)](https://codeclimate.com/github/dkubb/ice_nine)
6
+ [![Gem Version](https://badge.fury.io/rb/ice_nine.png)][gem]
7
+ [![Build Status](https://secure.travis-ci.org/dkubb/ice_nine.png?branch=master)][travis]
8
+ [![Dependency Status](https://gemnasium.com/dkubb/ice_nine.png)][gemnasium]
9
+ [![Code Climate](https://codeclimate.com/github/dkubb/ice_nine.png)][codeclimate]
10
+ [![Coverage Status](https://coveralls.io/repos/dkubb/ice_nine/badge.png?branch=master)][coveralls]
11
+
12
+ [gem]: https://rubygems.org/gems/ice_nine
13
+ [travis]: https://travis-ci.org/dkubb/ice_nine
14
+ [gemnasium]: https://gemnasium.com/dkubb/ice_nine
15
+ [codeclimate]: https://codeclimate.com/github/dkubb/ice_nine
16
+ [coveralls]: https://coveralls.io/r/dkubb/ice_nine
9
17
 
10
18
  Examples
11
19
  --------
@@ -50,18 +58,11 @@ $ irb -rubygems
50
58
  ```
51
59
 
52
60
  Contributing
53
- -------------
61
+ ------------
54
62
 
55
- * If you want your code merged into the mainline, please discuss the proposed changes with me before doing any work on it. This library is still in early development, and the direction it is going may not always be clear. Some features may not be appropriate yet, may need to be deferred until later when the foundation for them is laid, or may be more applicable in a plugin.
56
- * Fork the project.
57
- * Make your feature addition or bug fix.
58
- * Follow this [style guide](https://github.com/dkubb/styleguide).
59
- * Add specs for it. This is important so I don't break it in a future version unintentionally. Tests must cover all branches within the code, and code must be fully covered.
60
- * Commit, do not mess with Rakefile, version, or history. (if you want to have your own version, that is fine but bump version in a commit by itself I can ignore when I pull)
61
- * Run "rake ci". This must pass and not show any regressions in the metrics for the code to be merged.
62
- * Send me a pull request. Bonus points for topic branches.
63
+ See [CONTRIBUTING.md](CONTRIBUTING.md) for details.
63
64
 
64
65
  Copyright
65
66
  ---------
66
67
 
67
- Copyright © 2012 Dan Kubb. See LICENSE for details.
68
+ Copyright © 2012-2013 Dan Kubb. See LICENSE for details.
data/TODO CHANGED
@@ -1,3 +1,7 @@
1
1
  * Add a utility method that allows "NoFreeze" subclasses to be easily added for
2
2
  any constant.
3
3
  * Refactor the existing NoFreeze subclasses to use the method.
4
+
5
+ * Consider adding support for OpenStruct
6
+ * should freeze the singleton class too in order to prevent no new members
7
+ * being added (by new_ostruct_member)
@@ -1,2 +1,2 @@
1
1
  ---
2
- threshold: 9.4
2
+ threshold: 9.7
@@ -0,0 +1,91 @@
1
+ ---
2
+ UncommunicativeParameterName:
3
+ accept: []
4
+ exclude: []
5
+ enabled: true
6
+ reject:
7
+ - !ruby/regexp /^.$/
8
+ - !ruby/regexp /[0-9]$/
9
+ - !ruby/regexp /[A-Z]/
10
+ LargeClass:
11
+ max_methods: 1
12
+ exclude: []
13
+ enabled: true
14
+ max_instance_variables: 1
15
+ UncommunicativeMethodName:
16
+ accept: []
17
+ exclude: []
18
+ enabled: true
19
+ reject:
20
+ - !ruby/regexp /^[a-z]$/
21
+ - !ruby/regexp /[0-9]$/
22
+ - !ruby/regexp /[A-Z]/
23
+ LongParameterList:
24
+ max_params: 1
25
+ exclude: []
26
+ enabled: true
27
+ overrides: {}
28
+ FeatureEnvy:
29
+ exclude: []
30
+ enabled: true
31
+ ClassVariable:
32
+ exclude: []
33
+ enabled: true
34
+ BooleanParameter:
35
+ exclude: []
36
+ enabled: true
37
+ IrresponsibleModule:
38
+ exclude: []
39
+ enabled: true
40
+ UncommunicativeModuleName:
41
+ accept: []
42
+ exclude: []
43
+ enabled: true
44
+ reject:
45
+ - !ruby/regexp /^.$/
46
+ - !ruby/regexp /[0-9]$/
47
+ NestedIterators:
48
+ ignore_iterators: []
49
+ exclude: []
50
+ enabled: true
51
+ max_allowed_nesting: 1
52
+ LongMethod:
53
+ max_statements: 5
54
+ exclude: []
55
+ enabled: true
56
+ Duplication:
57
+ allow_calls: []
58
+ exclude: []
59
+ enabled: true
60
+ max_calls: 1
61
+ UtilityFunction:
62
+ max_helper_calls: 0
63
+ exclude: []
64
+ enabled: true
65
+ Attribute:
66
+ exclude: []
67
+ enabled: false
68
+ UncommunicativeVariableName:
69
+ accept: []
70
+ exclude: []
71
+ enabled: true
72
+ reject:
73
+ - !ruby/regexp /^.$/
74
+ - !ruby/regexp /[0-9]$/
75
+ - !ruby/regexp /[A-Z]/
76
+ SimulatedPolymorphism:
77
+ exclude: []
78
+ enabled: true
79
+ max_ifs: 1
80
+ DataClump:
81
+ exclude: []
82
+ enabled: true
83
+ max_copies: 0
84
+ min_clump_size: 0
85
+ ControlCouple:
86
+ exclude: []
87
+ enabled: true
88
+ LongYieldList:
89
+ max_params: 0
90
+ exclude: []
91
+ enabled: true
@@ -13,10 +13,8 @@ Gem::Specification.new do |gem|
13
13
 
14
14
  gem.require_paths = %w[lib]
15
15
  gem.files = `git ls-files`.split($/)
16
- gem.test_files = `git ls-files -- {spec}/{unit,integration}`.split($/)
16
+ gem.test_files = `git ls-files -- spec/{unit,integration}`.split($/)
17
17
  gem.extra_rdoc_files = %w[LICENSE README.md TODO]
18
18
 
19
- gem.add_development_dependency('rake', '~> 10.0.3')
20
- gem.add_development_dependency('rspec', '~> 1.3.2')
21
- gem.add_development_dependency('yard', '~> 0.8.4.1')
19
+ gem.add_development_dependency('bundler', '~> 1.3', '>= 1.3.5')
22
20
  end
@@ -37,7 +37,7 @@ module IceNine
37
37
  # @api public
38
38
  def self.deep_freeze(object)
39
39
  return object if object.frozen?
40
- RecursionGuard.guard(object.object_id) do
40
+ RecursionGuard.guard(object.__id__) do
41
41
  Freezer[object.class].deep_freeze(object)
42
42
  end
43
43
  end
@@ -20,7 +20,7 @@ module IceNine
20
20
  IceNine.deep_freeze(self)
21
21
  end
22
22
 
23
- end #module Object
23
+ end # module Object
24
24
  end # module CoreExt
25
25
  end # module IceNine
26
26
 
@@ -19,6 +19,7 @@ module IceNine
19
19
  #
20
20
  # @api public
21
21
  def self.deep_freeze(hash)
22
+ IceNine.deep_freeze(hash.default_proc || hash.default)
22
23
  super hash.each { |key, value|
23
24
  IceNine.deep_freeze(key)
24
25
  IceNine.deep_freeze(value)
@@ -2,7 +2,7 @@
2
2
 
3
3
  module IceNine
4
4
 
5
- # Current gem version
6
- VERSION = '0.7.0'
5
+ # Unreleased gem version
6
+ VERSION = '0.8.0'.freeze
7
7
 
8
8
  end # module IceNine
@@ -1,3 +1,5 @@
1
+ # encoding: utf-8
2
+
1
3
  require 'rbconfig'
2
4
 
3
5
  ::Config = RbConfig unless defined?(::Config)
@@ -1,3 +1,5 @@
1
+ # encoding: utf-8
2
+
1
3
  # change the heckle timeout to be 5 seconds
2
4
  if defined?(::Heckle)
3
5
  class ::Heckle
@@ -8,8 +8,46 @@ describe IceNine::Freezer::Hash, '.deep_freeze' do
8
8
 
9
9
  let(:object) { described_class }
10
10
 
11
- context 'with a Hash object' do
12
- let(:value) { { Object.new => Object.new } }
11
+ context 'with a Hash object having a default proc' do
12
+ let(:value) do
13
+ Hash.new {}.update(Object.new => Object.new)
14
+ end
15
+
16
+ it 'returns the object' do
17
+ should be(value)
18
+ end
19
+
20
+ it 'freezes the object' do
21
+ expect { subject }.to change(value, :frozen?).from(false).to(true)
22
+ end
23
+
24
+ it 'freezes the default proc' do
25
+ subject.default_proc.should be_frozen
26
+ end
27
+
28
+ it 'freezes each key in the Hash' do
29
+ subject.keys.select(&:frozen?).should == subject.keys
30
+ end
31
+
32
+ it 'freezes each value in the Hash' do
33
+ subject.values.select(&:frozen?).should == subject.values
34
+ end
35
+
36
+ if RUBY_VERSION >= '1.9' and RUBY_ENGINE == 'rbx'
37
+ it 'does not freeze the Hash state' do
38
+ subject.instance_variable_get(:@state).should_not be_frozen
39
+ end
40
+
41
+ it 'does not freeze the Hash entries' do
42
+ subject.instance_variable_get(:@entries).should_not be_frozen
43
+ end
44
+ end
45
+ end
46
+
47
+ context 'with a Hash object having a default value' do
48
+ let(:value) do
49
+ Hash.new('').update(Object.new => Object.new)
50
+ end
13
51
 
14
52
  it 'returns the object' do
15
53
  should be(value)
@@ -19,6 +57,10 @@ describe IceNine::Freezer::Hash, '.deep_freeze' do
19
57
  expect { subject }.to change(value, :frozen?).from(false).to(true)
20
58
  end
21
59
 
60
+ it 'freezes the default value' do
61
+ subject.default.should be_frozen
62
+ end
63
+
22
64
  it 'freezes each key in the Hash' do
23
65
  subject.keys.select(&:frozen?).should == subject.keys
24
66
  end
@@ -1,15 +1,15 @@
1
1
  # encoding: utf-8
2
2
 
3
- begin
4
- require 'flay'
5
- require 'yaml'
3
+ namespace :metrics do
4
+ begin
5
+ require 'flay'
6
+ require 'yaml'
6
7
 
7
- config = YAML.load_file(File.expand_path('../../../config/flay.yml', __FILE__)).freeze
8
- threshold = config.fetch('threshold').to_i
9
- total_score = config.fetch('total_score').to_f
10
- files = Flay.expand_dirs_to_files(config.fetch('path', 'lib')).sort
8
+ config = YAML.load_file(File.expand_path('../../../config/flay.yml', __FILE__)).freeze
9
+ threshold = config.fetch('threshold').to_i
10
+ total_score = config.fetch('total_score').to_f
11
+ files = Flay.expand_dirs_to_files(config.fetch('path', 'lib')).sort
11
12
 
12
- namespace :metrics do
13
13
  # original code by Marty Andrews:
14
14
  # http://blog.martyandrews.net/2009/05/enforcing-ruby-code-quality.html
15
15
  desc 'Analyze for code duplication'
@@ -37,9 +37,9 @@ begin
37
37
  raise "#{flay.masses.size} chunks of code have a duplicate mass > #{threshold}"
38
38
  end
39
39
  end
40
- end
41
- rescue LoadError
42
- task :flay do
43
- $stderr.puts 'Flay is not available. In order to run flay, you must: gem install flay'
40
+ rescue LoadError
41
+ task :flay do
42
+ $stderr.puts 'Flay is not available. In order to run flay, you must: gem install flay'
43
+ end
44
44
  end
45
45
  end
@@ -1,19 +1,14 @@
1
1
  # encoding: utf-8
2
2
 
3
- begin
4
- require 'flog'
5
- require 'yaml'
3
+ namespace :metrics do
4
+ begin
5
+ require 'backports'
6
+ require 'flog'
7
+ require 'yaml'
6
8
 
7
- class Float
8
- def round_to(n)
9
- (self * 10**n).round.to_f * 10**-n
10
- end
11
- end
12
-
13
- config = YAML.load_file(File.expand_path('../../../config/flog.yml', __FILE__)).freeze
14
- threshold = config.fetch('threshold').to_f.round_to(1)
9
+ config = YAML.load_file(File.expand_path('../../../config/flog.yml', __FILE__)).freeze
10
+ threshold = config.fetch('threshold').to_f.round(1)
15
11
 
16
- namespace :metrics do
17
12
  # original code by Marty Andrews:
18
13
  # http://blog.martyandrews.net/2009/05/enforcing-ruby-code-quality.html
19
14
  desc 'Analyze for code complexity'
@@ -21,8 +16,8 @@ begin
21
16
  flog = Flog.new
22
17
  flog.flog Array(config.fetch('path', 'lib'))
23
18
 
24
- totals = flog.totals.select { |name, score| name[-5, 5] != '#none' }.
25
- map { |name, score| [ name, score.round_to(1) ] }.
19
+ totals = flog.totals.select { |name, score| name[-5, 5] != '#none' }.
20
+ map { |name, score| [ name, score.round(1) ] }.
26
21
  sort_by { |name, score| score }
27
22
 
28
23
  if totals.any?
@@ -41,9 +36,9 @@ begin
41
36
  raise "#{bad_methods.size} methods have a flog complexity > #{threshold}"
42
37
  end
43
38
  end
44
- end
45
- rescue LoadError
46
- task :flog do
47
- $stderr.puts 'Flog is not available. In order to run flog, you must: gem install flog'
39
+ rescue LoadError
40
+ task :flog do
41
+ $stderr.puts 'Flog is not available. In order to run flog, you must: gem install flog'
42
+ end
48
43
  end
49
44
  end
@@ -5,27 +5,27 @@ $LOAD_PATH.unshift(File.expand_path('../../../lib', __FILE__))
5
5
  # original code by Ashley Moran:
6
6
  # http://aviewfromafar.net/2007/11/1/rake-task-for-heckling-your-specs
7
7
 
8
- begin
9
- require 'pathname'
10
- require 'heckle'
11
- require 'mspec'
12
- require 'mspec/utils/name_map'
13
-
14
- SKIP_METHODS = %w[ blank_slate_method_added guarded_objects ].freeze
15
-
16
- class NameMap
17
- def file_name(method, constant)
18
- map = MAP[method]
19
- name = if map
20
- map[constant] || map[:default]
21
- else
22
- method.gsub(/[?!=]\z/, '')
8
+ namespace :metrics do
9
+ begin
10
+ require 'pathname'
11
+ require 'heckle'
12
+ require 'mspec'
13
+ require 'mspec/utils/name_map'
14
+
15
+ SKIP_METHODS = %w[ blank_slate_method_added guarded_objects ].freeze
16
+
17
+ class NameMap
18
+ def file_name(method, constant)
19
+ map = MAP[method]
20
+ name = if map
21
+ map[constant] || map[:default]
22
+ else
23
+ method.gsub(/[?!=]\z/, '')
24
+ end
25
+ "#{name}_spec.rb"
23
26
  end
24
- "#{name}_spec.rb"
25
27
  end
26
- end
27
28
 
28
- namespace :metrics do
29
29
  desc 'Heckle each module and class'
30
30
  task :heckle => :coverage do
31
31
  unless Ruby2Ruby::VERSION == '1.2.2'
@@ -199,9 +199,9 @@ begin
199
199
  puts 'Well done! Your code withstood a heckling.'
200
200
  end
201
201
  end
202
- end
203
- rescue LoadError
204
- task :heckle => :coverage do
205
- $stderr.puts 'Heckle or mspec is not available. In order to run heckle, you must: gem install heckle mspec'
202
+ rescue LoadError
203
+ task :heckle => :coverage do
204
+ $stderr.puts 'Heckle or mspec is not available. In order to run heckle, you must: gem install heckle mspec'
205
+ end
206
206
  end
207
207
  end
@@ -1,19 +1,19 @@
1
1
  # encoding: utf-8
2
2
 
3
- begin
4
- require 'roodi'
5
- require 'rake/tasklib'
6
- require 'roodi_task'
3
+ namespace :metrics do
4
+ begin
5
+ require 'roodi'
6
+ require 'rake/tasklib'
7
+ require 'roodi_task'
7
8
 
8
- namespace :metrics do
9
9
  RoodiTask.new do |t|
10
10
  t.verbose = false
11
11
  t.config = File.expand_path('../../../config/roodi.yml', __FILE__)
12
12
  t.patterns = %w[ lib/**/*.rb ]
13
13
  end
14
- end
15
- rescue LoadError
16
- task :roodi do
17
- $stderr.puts 'Roodi is not available. In order to run roodi, you must: gem install roodi'
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
18
  end
19
19
  end
@@ -1,13 +1,13 @@
1
1
  # encoding: utf-8
2
2
 
3
- begin
4
- require 'yardstick/rake/measurement'
5
- require 'yardstick/rake/verify'
6
- require 'yaml'
3
+ namespace :metrics do
4
+ begin
5
+ require 'yardstick/rake/measurement'
6
+ require 'yardstick/rake/verify'
7
+ require 'yaml'
7
8
 
8
- config = YAML.load_file(File.expand_path('../../../config/yardstick.yml', __FILE__))
9
+ config = YAML.load_file(File.expand_path('../../../config/yardstick.yml', __FILE__))
9
10
 
10
- namespace :metrics do
11
11
  # yardstick_measure task
12
12
  Yardstick::Rake::Measurement.new
13
13
 
@@ -15,11 +15,11 @@ begin
15
15
  Yardstick::Rake::Verify.new do |verify|
16
16
  verify.threshold = config.fetch('threshold')
17
17
  end
18
- end
19
- rescue LoadError
20
- %w[ yardstick_measure verify_measurements ].each do |name|
21
- task name.to_s do
22
- $stderr.puts "Yardstick is not available. In order to run #{name}, you must: gem install yardstick"
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
23
  end
24
24
  end
25
25
  end
metadata CHANGED
@@ -1,88 +1,54 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: ice_nine
3
- version: !ruby/object:Gem::Version
4
- hash: 3
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.8.0
5
5
  prerelease:
6
- segments:
7
- - 0
8
- - 7
9
- - 0
10
- version: 0.7.0
11
6
  platform: ruby
12
- authors:
7
+ authors:
13
8
  - Dan Kubb
14
9
  autorequire:
15
10
  bindir: bin
16
11
  cert_chain: []
17
-
18
- date: 2013-02-16 00:00:00 Z
19
- dependencies:
20
- - !ruby/object:Gem::Dependency
21
- name: rake
22
- prerelease: false
23
- requirement: &id001 !ruby/object:Gem::Requirement
24
- none: false
25
- requirements:
26
- - - ~>
27
- - !ruby/object:Gem::Version
28
- hash: 73
29
- segments:
30
- - 10
31
- - 0
32
- - 3
33
- version: 10.0.3
34
- type: :development
35
- version_requirements: *id001
36
- - !ruby/object:Gem::Dependency
37
- name: rspec
38
- prerelease: false
39
- requirement: &id002 !ruby/object:Gem::Requirement
12
+ date: 2013-06-22 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: bundler
16
+ requirement: !ruby/object:Gem::Requirement
40
17
  none: false
41
- requirements:
18
+ requirements:
42
19
  - - ~>
43
- - !ruby/object:Gem::Version
44
- hash: 31
45
- segments:
46
- - 1
47
- - 3
48
- - 2
49
- version: 1.3.2
20
+ - !ruby/object:Gem::Version
21
+ version: '1.3'
22
+ - - ! '>='
23
+ - !ruby/object:Gem::Version
24
+ version: 1.3.5
50
25
  type: :development
51
- version_requirements: *id002
52
- - !ruby/object:Gem::Dependency
53
- name: yard
54
26
  prerelease: false
55
- requirement: &id003 !ruby/object:Gem::Requirement
27
+ version_requirements: !ruby/object:Gem::Requirement
56
28
  none: false
57
- requirements:
29
+ requirements:
58
30
  - - ~>
59
- - !ruby/object:Gem::Version
60
- hash: 29
61
- segments:
62
- - 0
63
- - 8
64
- - 4
65
- - 1
66
- version: 0.8.4.1
67
- type: :development
68
- version_requirements: *id003
31
+ - !ruby/object:Gem::Version
32
+ version: '1.3'
33
+ - - ! '>='
34
+ - !ruby/object:Gem::Version
35
+ version: 1.3.5
69
36
  description: Deep Freeze Ruby Objects
70
- email:
37
+ email:
71
38
  - dan.kubb@gmail.com
72
39
  executables: []
73
-
74
40
  extensions: []
75
-
76
- extra_rdoc_files:
41
+ extra_rdoc_files:
77
42
  - LICENSE
78
43
  - README.md
79
44
  - TODO
80
- files:
45
+ files:
81
46
  - .gitignore
82
47
  - .pelusa.yml
83
- - .rvmrc
48
+ - .ruby-gemset
84
49
  - .travis.yml
85
50
  - .yardopts
51
+ - CONTRIBUTING.md
86
52
  - Gemfile
87
53
  - Guardfile
88
54
  - LICENSE
@@ -92,6 +58,7 @@ files:
92
58
  - config/flay.yml
93
59
  - config/flog.yml
94
60
  - config/roodi.yml
61
+ - config/site.reek
95
62
  - config/yardstick.yml
96
63
  - ice_nine.gemspec
97
64
  - lib/ice_nine.rb
@@ -144,37 +111,43 @@ files:
144
111
  - tasks/yard.rake
145
112
  homepage: https://github.com/dkubb/ice_nine
146
113
  licenses: []
147
-
148
114
  post_install_message:
149
115
  rdoc_options: []
150
-
151
- require_paths:
116
+ require_paths:
152
117
  - lib
153
- required_ruby_version: !ruby/object:Gem::Requirement
118
+ required_ruby_version: !ruby/object:Gem::Requirement
154
119
  none: false
155
- requirements:
156
- - - ">="
157
- - !ruby/object:Gem::Version
158
- hash: 3
159
- segments:
160
- - 0
161
- version: "0"
162
- required_rubygems_version: !ruby/object:Gem::Requirement
120
+ requirements:
121
+ - - ! '>='
122
+ - !ruby/object:Gem::Version
123
+ version: '0'
124
+ required_rubygems_version: !ruby/object:Gem::Requirement
163
125
  none: false
164
- requirements:
165
- - - ">="
166
- - !ruby/object:Gem::Version
167
- hash: 3
168
- segments:
169
- - 0
170
- version: "0"
126
+ requirements:
127
+ - - ! '>='
128
+ - !ruby/object:Gem::Version
129
+ version: '0'
171
130
  requirements: []
172
-
173
131
  rubyforge_project:
174
132
  rubygems_version: 1.8.25
175
133
  signing_key:
176
134
  specification_version: 3
177
135
  summary: Deep Freeze Ruby Objects
178
- test_files: []
179
-
136
+ test_files:
137
+ - spec/integration/ice_nine/class_methods/deep_freeze_spec.rb
138
+ - spec/unit/ice_nine/class_methods/deep_freeze_spec.rb
139
+ - spec/unit/ice_nine/freezer/array/class_methods/deep_freeze_spec.rb
140
+ - spec/unit/ice_nine/freezer/class_methods/element_reference_spec.rb
141
+ - spec/unit/ice_nine/freezer/false_class/class_methods/deep_freeze_spec.rb
142
+ - spec/unit/ice_nine/freezer/hash/class_methods/deep_freeze_spec.rb
143
+ - spec/unit/ice_nine/freezer/nil_class/class_methods/deep_freeze_spec.rb
144
+ - spec/unit/ice_nine/freezer/no_freeze/class_methods/deep_freeze_spec.rb
145
+ - spec/unit/ice_nine/freezer/numeric/class_methods/deep_freeze_spec.rb
146
+ - spec/unit/ice_nine/freezer/object/class_methods/deep_freeze_spec.rb
147
+ - spec/unit/ice_nine/freezer/range/class_methods/deep_freeze_spec.rb
148
+ - spec/unit/ice_nine/freezer/struct/class_methods/deep_freeze_spec.rb
149
+ - spec/unit/ice_nine/freezer/symbol/class_methods/deep_freeze_spec.rb
150
+ - spec/unit/ice_nine/freezer/true_class/class_methods/deep_freeze_spec.rb
151
+ - spec/unit/ice_nine/recursion_guard/class_methods/guard_spec.rb
152
+ - spec/unit/object/deep_freeze_spec.rb
180
153
  has_rdoc:
data/.rvmrc DELETED
@@ -1 +0,0 @@
1
- rvm use @$(basename `pwd`) --create