descendants_tracker 0.0.1 → 0.0.4

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.
Files changed (42) hide show
  1. checksums.yaml +7 -0
  2. data/.rspec +5 -0
  3. data/.ruby-gemset +1 -0
  4. data/.travis.yml +24 -13
  5. data/CONTRIBUTING.md +10 -0
  6. data/Gemfile +3 -51
  7. data/Gemfile.devtools +71 -0
  8. data/LICENSE +2 -1
  9. data/README.md +22 -64
  10. data/Rakefile +2 -6
  11. data/config/devtools.yml +4 -0
  12. data/config/flay.yml +2 -2
  13. data/config/flog.yml +1 -1
  14. data/config/mutant.yml +3 -0
  15. data/config/{site.reek → reek.yml} +64 -49
  16. data/config/rubocop.yml +62 -0
  17. data/descendants_tracker.gemspec +8 -6
  18. data/lib/descendants_tracker/version.rb +7 -2
  19. data/lib/descendants_tracker.rb +30 -6
  20. data/spec/spec_helper.rb +25 -6
  21. data/spec/support/config_alias.rb +2 -0
  22. data/spec/unit/descendants_tracker/add_descendant_spec.rb +11 -9
  23. data/spec/unit/descendants_tracker/descendants_spec.rb +4 -2
  24. data/spec/unit/descendants_tracker/inherited_spec.rb +26 -0
  25. metadata +75 -91
  26. data/.rvmrc +0 -1
  27. data/config/roodi.yml +0 -18
  28. data/spec/shared/command_method_behavior.rb +0 -7
  29. data/spec/shared/each_method_behaviour.rb +0 -15
  30. data/spec/shared/hash_method_behavior.rb +0 -17
  31. data/spec/shared/idempotent_method_behavior.rb +0 -7
  32. data/spec/shared/invertible_method_behaviour.rb +0 -9
  33. data/tasks/metrics/ci.rake +0 -9
  34. data/tasks/metrics/flay.rake +0 -45
  35. data/tasks/metrics/flog.rake +0 -49
  36. data/tasks/metrics/heckle.rake +0 -208
  37. data/tasks/metrics/metric_fu.rake +0 -31
  38. data/tasks/metrics/reek.rake +0 -21
  39. data/tasks/metrics/roodi.rake +0 -19
  40. data/tasks/metrics/yardstick.rake +0 -25
  41. data/tasks/spec.rake +0 -60
  42. data/tasks/yard.rake +0 -11
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: c74464d200e35dda22a63eaf72795285f109b8fd
4
+ data.tar.gz: 755e09b06bf6717c22e434efd893ed692127211b
5
+ SHA512:
6
+ metadata.gz: 1fe1cec3ee6cfcbc631fbc94b1a8a2097f530cccfb54d1ebea2197b9c879c1944d4daba19b84bba95fdd8e03f08a6d72ea83bf72c1f5aef962986ea541010487
7
+ data.tar.gz: d1d4fab6614f0e2c99cd29efb725faada0ff53aed1c2144ae26291bdfbb39ed966c3ee342575b76ea27780357cbe3d470118ad66e32c9f5049626af45f866b5e
data/.rspec ADDED
@@ -0,0 +1,5 @@
1
+ --color
2
+ --format progress
3
+ --order random
4
+ --profile
5
+ --warnings
data/.ruby-gemset ADDED
@@ -0,0 +1 @@
1
+ descendants_tracker
data/.travis.yml CHANGED
@@ -1,19 +1,30 @@
1
1
  language: ruby
2
2
  before_install: gem install bundler
3
- bundler_args: --without yard guard
4
- script: "bundle exec rake spec"
3
+ bundler_args: --without yard guard benchmarks
4
+ script: "bundle exec rake ci:metrics"
5
5
  rvm:
6
- - 1.8.7
7
- - 1.9.2
8
6
  - 1.9.3
9
- - jruby-18mode
10
- - jruby-19mode
11
- - rbx-18mode
12
- - rbx-19mode
13
- - ree
7
+ - 2.0.0
8
+ - 2.1.0
9
+ - 2.1.1
14
10
  - ruby-head
15
- - jruby-head
11
+ - rbx-2
12
+ matrix:
13
+ include:
14
+ - rvm: jruby-19mode
15
+ env: JRUBY_OPTS="$JRUBY_OPTS --debug" # for simplecov
16
+ - rvm: jruby-20mode
17
+ env: JRUBY_OPTS="$JRUBY_OPTS --debug" # for simplecov
18
+ - rvm: jruby-21mode
19
+ env: JRUBY_OPTS="$JRUBY_OPTS --debug" # for simplecov
20
+ - rvm: jruby-head
21
+ env: JRUBY_OPTS="$JRUBY_OPTS --debug" # for simplecov
22
+ allow_failures:
23
+ - rvm: 2.1.0 # buggy runtime
24
+ fast_finish: true
16
25
  notifications:
17
- email:
18
- - dan.kubb@gmail.com
19
- - mbj@seonic.net
26
+ irc:
27
+ channels:
28
+ - irc.freenode.org#rom-rb
29
+ on_success: never
30
+ on_failure: change
data/CONTRIBUTING.md ADDED
@@ -0,0 +1,10 @@
1
+ # Contributing
2
+
3
+ * 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.
4
+ * Fork the project.
5
+ * Make your feature addition or bug fix.
6
+ * Follow this [style guide](https://github.com/dkubb/styleguide).
7
+ * 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.
8
+ * 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)
9
+ * Run "rake ci". This must pass and not show any regressions in the metrics for the code to be merged.
10
+ * Send me a pull request. Bonus points for topic branches.
data/Gemfile CHANGED
@@ -4,56 +4,8 @@ source 'https://rubygems.org'
4
4
 
5
5
  gemspec
6
6
 
7
- group :yard do
8
- gem 'yard', '~> 0.8.3'
9
- gem 'redcarpet', '~> 2.2.2', :platforms => [ :mri, :rbx ]
7
+ group :development, :test do
8
+ gem 'devtools', git: 'https://github.com/rom-rb/devtools.git'
10
9
  end
11
10
 
12
- group :guard do
13
- gem 'guard', '~> 1.5.4'
14
- gem 'guard-bundler', '~> 1.0.0'
15
- gem 'guard-rspec', '~> 1.2.1'
16
- end
17
-
18
- group :benchmarks do
19
- gem 'rbench', '~> 0.2.3'
20
- end
21
-
22
- platform :jruby do
23
- group :jruby do
24
- gem 'jruby-openssl', '~> 0.7.4'
25
- end
26
- end
27
-
28
- group :metrics do
29
- gem 'flay', '~> 1.4.3'
30
- gem 'flog', '~> 2.5.3'
31
- gem 'reek', '~> 1.2.8', :github => 'dkubb/reek'
32
- gem 'roodi', '~> 2.1.0'
33
- gem 'yardstick', '~> 0.8.0'
34
-
35
- platforms :ruby_18, :ruby_19 do
36
- # this indirectly depends on ffi which does not build on ruby-head
37
- gem 'yard-spellcheck', '~> 0.1.5'
38
- end
39
-
40
- platforms :mri_18 do
41
- gem 'arrayfields', '~> 4.7.4' # for metric_fu
42
- gem 'fattr', '~> 2.2.0' # for metric_fu
43
- gem 'heckle', '~> 1.4.3'
44
- gem 'json', '~> 1.7.3' # for metric_fu rake task
45
- gem 'map', '~> 6.2.0' # for metric_fu
46
- gem 'metric_fu', '~> 2.1.1'
47
- gem 'mspec', '~> 1.5.17'
48
- gem 'rcov', '~> 1.0.0'
49
- gem 'ruby2ruby', '= 1.2.2' # for heckle
50
- end
51
-
52
- platforms :ruby_19 do
53
- gem 'simplecov', '~> 0.7.1'
54
- end
55
-
56
- platforms :rbx do
57
- gem 'pelusa', '~> 0.2.1'
58
- end
59
- end
11
+ eval_gemfile 'Gemfile.devtools'
data/Gemfile.devtools ADDED
@@ -0,0 +1,71 @@
1
+ # encoding: utf-8
2
+
3
+ group :development do
4
+ gem 'rake', '~> 10.2.1'
5
+ gem 'rspec', '~> 2.14.1'
6
+ gem 'rspec-core', '~> 2.14.8'
7
+ gem 'yard', '~> 0.8.7.4'
8
+
9
+ platform :rbx do
10
+ gem 'rubysl-singleton', '~> 2.0.0'
11
+ end
12
+ end
13
+
14
+ group :yard do
15
+ gem 'kramdown', '~> 1.3.3'
16
+ end
17
+
18
+ group :guard do
19
+ gem 'guard', '~> 2.6.0'
20
+ gem 'guard-bundler', '~> 2.0.0'
21
+ gem 'guard-rspec', '~> 4.2.8'
22
+ gem 'guard-rubocop', '~> 1.0.2'
23
+
24
+ # file system change event handling
25
+ gem 'listen', '~> 2.7.1'
26
+ gem 'rb-fchange', '~> 0.0.6', require: false
27
+ gem 'rb-fsevent', '~> 0.9.4', require: false
28
+ gem 'rb-inotify', '~> 0.9.3', require: false
29
+
30
+ # notification handling
31
+ gem 'libnotify', '~> 0.8.2', require: false
32
+ gem 'rb-notifu', '~> 0.0.4', require: false
33
+ gem 'terminal-notifier-guard', '~> 1.5.3', require: false
34
+ end
35
+
36
+ group :metrics do
37
+ gem 'coveralls', '~> 0.7.0'
38
+ gem 'flay', '~> 2.4.0'
39
+ gem 'flog', '~> 4.2.0'
40
+ gem 'reek', '~> 1.3.7'
41
+ gem 'rubocop', '~> 0.19.1'
42
+ gem 'simplecov', '~> 0.8.2'
43
+ gem 'yardstick', '~> 0.9.9'
44
+
45
+ platforms :mri do
46
+ gem 'mutant', '~> 0.5.8'
47
+ gem 'mutant-rspec', '~> 0.5.3'
48
+ end
49
+
50
+ platforms :ruby_19, :ruby_20 do
51
+ gem 'yard-spellcheck', '~> 0.1.5'
52
+ end
53
+
54
+ platform :rbx do
55
+ gem 'json', '~> 1.8.1'
56
+ gem 'racc', '~> 1.4.11'
57
+ gem 'rubysl-logger', '~> 2.0.0'
58
+ gem 'rubysl-open-uri', '~> 2.0.0'
59
+ gem 'rubysl-prettyprint', '~> 2.0.3'
60
+ end
61
+ end
62
+
63
+ group :benchmarks do
64
+ gem 'rbench', '~> 0.2.3'
65
+ end
66
+
67
+ platform :jruby do
68
+ group :jruby do
69
+ gem 'jruby-openssl', '~> 0.8.5'
70
+ end
71
+ end
data/LICENSE CHANGED
@@ -1,4 +1,5 @@
1
- Copyright (c) 2009-2012 Dan Kubb
1
+ Copyright (c) 2012-2013 Dan Kubb (author)
2
+ Copyright (c) 2011-2012 Piotr Solnica (source maintainer)
2
3
  Copyright (c) 2012 Markus Schirp (packaging)
3
4
 
4
5
  Permission is hereby granted, free of charge, to any person obtaining
data/README.md CHANGED
@@ -1,41 +1,24 @@
1
- descendants_tracker
2
- ===================
1
+ # descendants_tracker
3
2
 
4
- [![Build Status](https://secure.travis-ci.org/dkubb/descendants_tracker.png?branch=master)](http://travis-ci.org/dkubb/descendants_tracker)
5
- [![Dependency Status](https://gemnasium.com/dkubb/descendants_tracker.png)](https://gemnasium.com/dkubb/descendants_tracker)
6
- [![Code Climate](https://codeclimate.com/badge.png)](https://codeclimate.com/github/dkubb/descendants_tracker)
3
+ [![Gem Version](https://badge.fury.io/rb/descendants_tracker.png)][gem]
4
+ [![Build Status](https://secure.travis-ci.org/dkubb/descendants_tracker.png?branch=master)][travis]
5
+ [![Dependency Status](https://gemnasium.com/dkubb/descendants_tracker.png)][gemnasium]
6
+ [![Code Climate](https://codeclimate.com/github/dkubb/descendants_tracker.png)][codeclimate]
7
+ [![Coverage Status](https://coveralls.io/repos/dkubb/descendants_tracker/badge.png?branch=master)][coveralls]
7
8
 
8
- Small module to track descendants in an unobtrusive way.
9
-
10
- Installation
11
- ------------
12
-
13
- With Rubygems:
14
-
15
- ```bash
16
- $ gem install descendants_tracker
17
- $ irb -rubygems
18
- >> require 'descendants_tracker'
19
- => true
20
- ```
9
+ [gem]: https://rubygems.org/gems/descendants_tracker
10
+ [travis]: https://travis-ci.org/dkubb/descendants_tracker
11
+ [gemnasium]: https://gemnasium.com/dkubb/descendants_tracker
12
+ [codeclimate]: https://codeclimate.com/github/dkubb/descendants_tracker
13
+ [coveralls]: https://coveralls.io/r/dkubb/descendants_tracker
21
14
 
22
- With git and local working copy:
23
-
24
- ```bash
25
- $ git clone git://github.com/dkubb/descendants_tracker.git
26
- $ cd descendants_tracker
27
- $ rake install
28
- $ irb -rubygems
29
- >> require 'descendants_tracker'
30
- => true
31
- ```
15
+ Small module to track descendants in an unobtrusive way.
32
16
 
33
- Examples
34
- --------
17
+ ## Examples
35
18
 
36
19
  ``` ruby
37
20
  class Foo
38
- extend Virtus::DescendantsTracker
21
+ extend DescendantsTracker
39
22
  end
40
23
 
41
24
  class Bar < Foo
@@ -44,45 +27,20 @@ end
44
27
  Foo.descendants # => [Bar]
45
28
  ```
46
29
 
47
- Credits
48
- -------
30
+ ## Credits
49
31
 
50
32
  * Dan Kubb ([dkubb](https://github.com/dkubb))
51
33
  * Piotr Solnica ([solnic](https://github.com/solnic))
52
34
  * Markus Schirp ([mbj](https://github.com/mbj))
53
35
 
54
- Contributing
55
- -------------
56
-
57
- * 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.
58
- * Fork the project.
59
- * Make your feature addition or bug fix.
60
- * Follow this [style guide](https://github.com/dkubb/styleguide).
61
- * 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.
62
- * 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)
63
- * Run "rake ci". This must pass and not show any regressions in the metrics for the code to be merged.
64
- * Send me a pull request. Bonus points for topic branc
65
-
66
- License
67
- -------
36
+ ## Contributing
68
37
 
69
- Copyright (c) 2011-2012 Dan Kubb
38
+ See [CONTRIBUTING.md](CONTRIBUTING.md) for details.
70
39
 
71
- Permission is hereby granted, free of charge, to any person obtaining
72
- a copy of this software and associated documentation files (the
73
- "Software"), to deal in the Software without restriction, including
74
- without limitation the rights to use, copy, modify, merge, publish,
75
- distribute, sublicense, and/or sell copies of the Software, and to
76
- permit persons to whom the Software is furnished to do so, subject to
77
- the following conditions:
40
+ ## Copyright
78
41
 
79
- The above copyright notice and this permission notice shall be
80
- included in all copies or substantial portions of the Software.
42
+ Copyright &copy; 2012-2013 Dan Kubb (author)
43
+ Copyright &copy; 2011-2012 Piotr Solnica (source maintainer)
44
+ Copyright &copy; 2012 Markus Schirp (packaging)
81
45
 
82
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
83
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
84
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
85
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
86
- LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
87
- OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
88
- WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
46
+ See LICENSE for details.
data/Rakefile CHANGED
@@ -1,9 +1,5 @@
1
1
  # encoding: utf-8
2
2
 
3
- require 'rake'
3
+ require 'devtools'
4
4
 
5
- require File.expand_path('../lib/descendants_tracker/version', __FILE__)
6
-
7
- FileList['tasks/**/*.rake'].each { |task| import task }
8
-
9
- task :default => :spec
5
+ Devtools.init_rake_tasks
@@ -0,0 +1,4 @@
1
+ ---
2
+ unit_test_timeout: 0.1
3
+ fail_on_branch:
4
+ - "master"
data/config/flay.yml CHANGED
@@ -1,3 +1,3 @@
1
1
  ---
2
- threshold: 6
3
- total_score: 8
2
+ threshold: 2
3
+ total_score: 4
data/config/flog.yml CHANGED
@@ -1,2 +1,2 @@
1
1
  ---
2
- threshold: 6.5
2
+ threshold: 5.5
data/config/mutant.yml ADDED
@@ -0,0 +1,3 @@
1
+ ---
2
+ name: descendants_tracker
3
+ namespace: DescendantsTracker
@@ -1,91 +1,106 @@
1
1
  ---
2
- UncommunicativeParameterName:
3
- accept: []
4
- exclude: []
2
+ Attribute:
5
3
  enabled: true
6
- reject:
7
- - !ruby/regexp /^.$/
8
- - !ruby/regexp /[0-9]$/
9
- - !ruby/regexp /[A-Z]/
10
- LargeClass:
11
- max_methods: 10
12
- exclude: []
4
+ exclude:
5
+ - DescendantsTracker
6
+ BooleanParameter:
13
7
  enabled: true
14
- max_instance_variables: 2
15
- UncommunicativeMethodName:
16
- accept: []
17
8
  exclude: []
9
+ ClassVariable:
18
10
  enabled: true
19
- reject:
20
- - !ruby/regexp /^[a-z]$/
21
- - !ruby/regexp /[0-9]$/
22
- - !ruby/regexp /[A-Z]/
23
- LongParameterList:
24
- max_params: 2 # TODO: decrease max_params to 2
25
11
  exclude: []
12
+ ControlParameter:
26
13
  enabled: true
27
- overrides: {}
28
- FeatureEnvy:
29
14
  exclude: []
15
+ DataClump:
30
16
  enabled: true
31
- ClassVariable:
32
17
  exclude: []
18
+ max_copies: 2
19
+ min_clump_size: 2
20
+ DuplicateMethodCall:
33
21
  enabled: true
34
- BooleanParameter:
35
22
  exclude: []
23
+ max_calls: 1
24
+ allow_calls: []
25
+ FeatureEnvy:
36
26
  enabled: true
27
+ exclude: []
37
28
  IrresponsibleModule:
29
+ enabled: true
38
30
  exclude: []
31
+ LongParameterList:
39
32
  enabled: true
40
- UncommunicativeModuleName:
41
- accept: []
42
33
  exclude: []
34
+ max_params: 2
35
+ overrides:
36
+ initialize:
37
+ max_params: 3
38
+ LongYieldList:
43
39
  enabled: true
44
- reject:
45
- - !ruby/regexp /^.$/
46
- - !ruby/regexp /[0-9]$/
40
+ exclude: []
41
+ max_params: 2
47
42
  NestedIterators:
43
+ enabled: true
44
+ exclude: []
45
+ max_allowed_nesting: 1
48
46
  ignore_iterators: []
47
+ NilCheck:
48
+ enabled: true
49
49
  exclude: []
50
+ RepeatedConditional:
50
51
  enabled: true
51
- max_allowed_nesting: 1
52
- LongMethod:
53
- max_statements: 7 # TODO: decrease max_statements to 5 or less
54
52
  exclude: []
53
+ max_ifs: 1
54
+ TooManyInstanceVariables:
55
55
  enabled: true
56
- Duplication:
57
- allow_calls: []
58
56
  exclude: []
57
+ max_instance_variables: 3
58
+ TooManyMethods:
59
59
  enabled: true
60
- max_calls: 1
61
- UtilityFunction:
62
- max_helper_calls: 1
63
60
  exclude: []
61
+ max_methods: 10
62
+ TooManyStatements:
63
+ enabled: true
64
+ exclude:
65
+ - DescendantsTracker#add_descendant
66
+ - DescendantsTracker#inherited
67
+ - each
68
+ max_statements: 2
69
+ UncommunicativeMethodName:
64
70
  enabled: true
65
- Attribute:
66
71
  exclude: []
67
- enabled: false
68
- UncommunicativeVariableName:
72
+ reject:
73
+ - !ruby/regexp /^[a-z]$/
74
+ - !ruby/regexp /[0-9]$/
75
+ - !ruby/regexp /[A-Z]/
69
76
  accept: []
77
+ UncommunicativeModuleName:
78
+ enabled: true
70
79
  exclude: []
80
+ reject:
81
+ - !ruby/regexp /^.$/
82
+ - !ruby/regexp /[0-9]$/
83
+ accept: []
84
+ UncommunicativeParameterName:
71
85
  enabled: true
86
+ exclude: []
72
87
  reject:
73
88
  - !ruby/regexp /^.$/
74
89
  - !ruby/regexp /[0-9]$/
75
90
  - !ruby/regexp /[A-Z]/
76
- SimulatedPolymorphism:
77
- exclude: []
91
+ accept: []
92
+ UncommunicativeVariableName:
78
93
  enabled: true
79
- max_ifs: 1
80
- DataClump:
81
94
  exclude: []
95
+ reject:
96
+ - !ruby/regexp /^.$/
97
+ - !ruby/regexp /[0-9]$/
98
+ - !ruby/regexp /[A-Z]/
99
+ accept: []
100
+ UnusedParameters:
82
101
  enabled: true
83
- max_copies: 1
84
- min_clump_size: 3
85
- ControlCouple:
86
102
  exclude: []
103
+ UtilityFunction:
87
104
  enabled: true
88
- LongYieldList:
89
- max_params: 1
90
105
  exclude: []
91
- enabled: true
106
+ max_helper_calls: 0
@@ -0,0 +1,62 @@
1
+ AllCops:
2
+ Includes:
3
+ - '**/*.rake'
4
+ - 'Gemfile'
5
+ - 'Gemfile.devtools'
6
+ Excludes:
7
+ - '**/vendor/**'
8
+ - '**/benchmarks/**'
9
+
10
+ # Avoid parameter lists longer than five parameters.
11
+ ParameterLists:
12
+ Max: 3
13
+ CountKeywordArgs: true
14
+
15
+ # Avoid more than `Max` levels of nesting.
16
+ BlockNesting:
17
+ Max: 3
18
+
19
+ # Align with the style guide.
20
+ CollectionMethods:
21
+ PreferredMethods:
22
+ collect: 'map'
23
+ inject: 'reduce'
24
+ find: 'detect'
25
+ find_all: 'select'
26
+
27
+ # Do not force public/protected/private keyword to be indented at the same
28
+ # level as the def keyword. My personal preference is to outdent these keywords
29
+ # because I think when scanning code it makes it easier to identify the
30
+ # sections of code and visually separate them. When the keyword is at the same
31
+ # level I think it sort of blends in with the def keywords and makes it harder
32
+ # to scan the code and see where the sections are.
33
+ AccessModifierIndentation:
34
+ Enabled: false
35
+
36
+ # Limit line length
37
+ LineLength:
38
+ Max: 79
39
+
40
+ # Disable documentation checking until a class needs to be documented once
41
+ Documentation:
42
+ Enabled: false
43
+
44
+ # Do not favor modifier if/unless usage when you have a single-line body
45
+ IfUnlessModifier:
46
+ Enabled: false
47
+
48
+ # Allow case equality operator (in limited use within the specs)
49
+ CaseEquality:
50
+ Enabled: false
51
+
52
+ # Constants do not always have to use SCREAMING_SNAKE_CASE
53
+ ConstantName:
54
+ Enabled: false
55
+
56
+ # Not all trivial readers/writers can be defined with attr_* methods
57
+ TrivialAccessors:
58
+ Enabled: false
59
+
60
+ # Allow empty lines around body
61
+ EmptyLinesAroundBody:
62
+ Enabled: false
@@ -1,4 +1,4 @@
1
- # -*- encoding: utf-8 -*-
1
+ # encoding: utf-8
2
2
 
3
3
  require File.expand_path('../lib/descendants_tracker/version', __FILE__)
4
4
 
@@ -6,16 +6,18 @@ Gem::Specification.new do |gem|
6
6
  gem.name = 'descendants_tracker'
7
7
  gem.version = DescendantsTracker::VERSION.dup
8
8
  gem.authors = [ 'Dan Kubb', 'Piotr Solnica', 'Markus Schirp' ]
9
- gem.email = %w[ dan.kubb@gmail.com piotr.solnica@gmail.com mbj@seonic.net ]
9
+ gem.email = %w[ dan.kubb@gmail.com piotr.solnica@gmail.com mbj@schirp-dso.com ]
10
10
  gem.description = 'Module that adds descendant tracking to a class'
11
11
  gem.summary = gem.description
12
12
  gem.homepage = 'https://github.com/dkubb/descendants_tracker'
13
+ gem.license = 'MIT'
13
14
 
14
15
  gem.require_paths = %w[lib]
15
16
  gem.files = `git ls-files`.split($/)
16
- gem.test_files = `git ls-files -- {spec}/*`.split($/)
17
- gem.extra_rdoc_files = %w[LICENSE README.md TODO]
17
+ gem.test_files = `git ls-files -- spec/unit`.split($/)
18
+ gem.extra_rdoc_files = %w[LICENSE README.md CONTRIBUTING.md TODO]
18
19
 
19
- gem.add_development_dependency('rake', '~> 10.0.2')
20
- gem.add_development_dependency('rspec', '~> 1.3.2')
20
+ gem.add_runtime_dependency('thread_safe', '~> 0.3', '>= 0.3.1')
21
+
22
+ gem.add_development_dependency('bundler', '~> 1.5', '>= 1.5.3')
21
23
  end
@@ -1,3 +1,8 @@
1
+ # encoding: utf-8
2
+
1
3
  module DescendantsTracker
2
- VERSION = '0.0.1'.freeze
3
- end
4
+
5
+ # Unreleased gem version
6
+ VERSION = '0.0.4'.freeze
7
+
8
+ end # module DescendantsTracker