broilerplate 0.0.0
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +9 -0
- data/.rspec +3 -0
- data/.travis.yml +14 -0
- data/.yardopts +2 -0
- data/Gemfile +21 -0
- data/Gemfile.devtools +68 -0
- data/README.md +36 -0
- data/Rakefile +5 -0
- data/UNLICENSE +24 -0
- data/broilerplate.gemspec +23 -0
- data/config/devtools.yml +4 -0
- data/config/flay.yml +3 -0
- data/config/flog.yml +2 -0
- data/config/mutant.yml +3 -0
- data/config/reek.yml +103 -0
- data/config/rubocop.yml +57 -0
- data/config/yardstick.yml +2 -0
- data/examples/getting_started.rb +5 -0
- data/lib/broilerplate.rb +3 -0
- data/lib/broilerplate/version.rb +5 -0
- data/spec/spec_helper.rb +25 -0
- metadata +85 -0
data/.gitignore
ADDED
data/.rspec
ADDED
data/.travis.yml
ADDED
data/.yardopts
ADDED
data/Gemfile
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
source 'https://rubygems.org'
|
4
|
+
|
5
|
+
gemspec
|
6
|
+
|
7
|
+
gem 'devtools', git: 'https://github.com/rom-rb/devtools.git'
|
8
|
+
gem 'fuubar', git: 'https://github.com/lgierth/fuubar.git',
|
9
|
+
ref: 'static-percentage'
|
10
|
+
|
11
|
+
gem 'awesome_print'
|
12
|
+
gem 'pry'
|
13
|
+
gem 'rbtrace'
|
14
|
+
|
15
|
+
platform :rbx do
|
16
|
+
gem 'rubysl', '~> 2.0'
|
17
|
+
gem 'rubinius', '~> 2.0'
|
18
|
+
end
|
19
|
+
|
20
|
+
# Added by devtools
|
21
|
+
eval_gemfile 'Gemfile.devtools'
|
data/Gemfile.devtools
ADDED
@@ -0,0 +1,68 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
group :development do
|
4
|
+
gem 'rake', '~> 10.1.0'
|
5
|
+
gem 'rspec', '~> 2.14.1'
|
6
|
+
gem 'yard', '~> 0.8.7'
|
7
|
+
|
8
|
+
platform :rbx do
|
9
|
+
gem 'rubysl-singleton', '~> 2.0.0'
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
13
|
+
group :yard do
|
14
|
+
gem 'kramdown', '~> 1.3.0'
|
15
|
+
end
|
16
|
+
|
17
|
+
group :guard do
|
18
|
+
gem 'guard', '~> 2.2.4'
|
19
|
+
gem 'guard-bundler', '~> 2.0.0'
|
20
|
+
gem 'guard-rspec', '~> 4.2.0'
|
21
|
+
gem 'guard-rubocop', '~> 1.0.0'
|
22
|
+
|
23
|
+
# file system change event handling
|
24
|
+
gem 'listen', '~> 2.4.0'
|
25
|
+
gem 'rb-fchange', '~> 0.0.6', require: false
|
26
|
+
gem 'rb-fsevent', '~> 0.9.3', require: false
|
27
|
+
gem 'rb-inotify', '~> 0.9.0', require: false
|
28
|
+
|
29
|
+
# notification handling
|
30
|
+
gem 'libnotify', '~> 0.8.0', require: false
|
31
|
+
gem 'rb-notifu', '~> 0.0.4', require: false
|
32
|
+
gem 'terminal-notifier-guard', '~> 1.5.3', require: false
|
33
|
+
end
|
34
|
+
|
35
|
+
group :metrics do
|
36
|
+
gem 'coveralls', '~> 0.7.0'
|
37
|
+
gem 'flay', '~> 2.4.0'
|
38
|
+
gem 'flog', '~> 4.2.0'
|
39
|
+
gem 'reek', '~> 1.3.2'
|
40
|
+
gem 'rubocop', '~> 0.16.0'
|
41
|
+
gem 'simplecov', '~> 0.8.2'
|
42
|
+
gem 'yardstick', '~> 0.9.7', git: 'https://github.com/dkubb/yardstick.git'
|
43
|
+
|
44
|
+
platforms :ruby_19, :ruby_20 do
|
45
|
+
gem 'mutant', '~> 0.3.0', git: 'https://github.com/mbj/mutant.git'
|
46
|
+
gem 'unparser', '~> 0.1.5',
|
47
|
+
git: 'https://github.com/mbj/unparser.git'
|
48
|
+
gem 'yard-spellcheck', '~> 0.1.5'
|
49
|
+
end
|
50
|
+
|
51
|
+
platform :rbx do
|
52
|
+
gem 'json', '~> 1.8.1'
|
53
|
+
gem 'racc', '~> 1.4.10'
|
54
|
+
gem 'rubysl-logger', '~> 2.0.0'
|
55
|
+
gem 'rubysl-open-uri', '~> 2.0.0'
|
56
|
+
gem 'rubysl-prettyprint', '~> 2.0.2'
|
57
|
+
end
|
58
|
+
end
|
59
|
+
|
60
|
+
group :benchmarks do
|
61
|
+
gem 'rbench', '~> 0.2.3'
|
62
|
+
end
|
63
|
+
|
64
|
+
platform :jruby do
|
65
|
+
group :jruby do
|
66
|
+
gem 'jruby-openssl', '~> 0.8.5'
|
67
|
+
end
|
68
|
+
end
|
data/README.md
ADDED
@@ -0,0 +1,36 @@
|
|
1
|
+
# broilerplate [![Build Status](https://travis-ci.org/lgierth/broilerplate.png?branch=master)](https://travis-ci.org/lgierth/broilerplate) [![Code Climate](https://codeclimate.com/github/lgierth/broilerplate.png)](https://codeclimate.com/github/lgierth/broilerplate) [![Coverage Status](https://coveralls.io/repos/lgierth/broilerplate/badge.png?branch=master)](https://coveralls.io/r/lgierth/broilerplate?branch=master)
|
2
|
+
|
3
|
+
If this isn't the repository "broilerplate", chances are the authors of this
|
4
|
+
repository didn't add a proper README yet and left the boilerplate (me) here.
|
5
|
+
|
6
|
+
My personal broilerplate for Ruby libraries. Fork and code ahead.
|
7
|
+
|
8
|
+
## Usage
|
9
|
+
|
10
|
+
Fork and clone, then execute:
|
11
|
+
|
12
|
+
$ bundle
|
13
|
+
|
14
|
+
To verify that everything works, run the CI task, and the included example.
|
15
|
+
|
16
|
+
$ bundle exec rake ci
|
17
|
+
$ bundle exec ruby examples/getting_started.rb
|
18
|
+
|
19
|
+
Now replace all occurences of `[Bb]roilerplate` with your library's name.
|
20
|
+
Also replace the metadata in the gemspec.
|
21
|
+
|
22
|
+
You also want to enable the Travis and Rdocinfo hooks for your GitHub repository.
|
23
|
+
|
24
|
+
## Unlicense
|
25
|
+
|
26
|
+
broilerplate is free and unencumbered public domain software. For more
|
27
|
+
information, see [unlicense.org](http://unlicense.org/) or the accompanying
|
28
|
+
UNLICENSE file.
|
29
|
+
|
30
|
+
## Contributing
|
31
|
+
|
32
|
+
1. Fork it
|
33
|
+
2. Create your feature branch (`git checkout -b my-new-feature`)
|
34
|
+
3. Commit your changes (`git commit -am 'Add some feature'`)
|
35
|
+
4. Push to the branch (`git push origin my-new-feature`)
|
36
|
+
5. Create new Pull Request
|
data/Rakefile
ADDED
data/UNLICENSE
ADDED
@@ -0,0 +1,24 @@
|
|
1
|
+
This is free and unencumbered software released into the public domain.
|
2
|
+
|
3
|
+
Anyone is free to copy, modify, publish, use, compile, sell, or
|
4
|
+
distribute this software, either in source code form or as a compiled
|
5
|
+
binary, for any purpose, commercial or non-commercial, and by any
|
6
|
+
means.
|
7
|
+
|
8
|
+
In jurisdictions that recognize copyright laws, the author or authors
|
9
|
+
of this software dedicate any and all copyright interest in the
|
10
|
+
software to the public domain. We make this dedication for the benefit
|
11
|
+
of the public at large and to the detriment of our heirs and
|
12
|
+
successors. We intend this dedication to be an overt act of
|
13
|
+
relinquishment in perpetuity of all present and future rights to this
|
14
|
+
software under copyright law.
|
15
|
+
|
16
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
17
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
18
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
19
|
+
IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
|
20
|
+
OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
|
21
|
+
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
22
|
+
OTHER DEALINGS IN THE SOFTWARE.
|
23
|
+
|
24
|
+
For more information, please refer to <http://unlicense.org/>
|
@@ -0,0 +1,23 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
lib = File.expand_path('../lib', __FILE__)
|
4
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
5
|
+
require 'broilerplate/version'
|
6
|
+
|
7
|
+
Gem::Specification.new do |spec|
|
8
|
+
spec.name = 'broilerplate'
|
9
|
+
spec.version = Broilerplate::VERSION
|
10
|
+
spec.authors = ['Lars Gierth']
|
11
|
+
spec.email = ['larsg@systemli.org']
|
12
|
+
spec.description = %q{My personal Ruby boilerplate}
|
13
|
+
spec.summary = %q{My personal boilerplate for Ruby libraries. Fork and code ahead.}
|
14
|
+
spec.homepage = 'https://github.com/lgierth/boilerplate'
|
15
|
+
spec.license = 'Public Domain'
|
16
|
+
|
17
|
+
spec.files = `git ls-files`.split($/)
|
18
|
+
spec.test_files = spec.files.grep(%r{^spec/})
|
19
|
+
spec.require_paths = ['lib']
|
20
|
+
spec.executables = spec.files.grep(%r{^bin/})
|
21
|
+
|
22
|
+
spec.add_development_dependency 'rspec'
|
23
|
+
end
|
data/config/devtools.yml
ADDED
data/config/flay.yml
ADDED
data/config/flog.yml
ADDED
data/config/mutant.yml
ADDED
data/config/reek.yml
ADDED
@@ -0,0 +1,103 @@
|
|
1
|
+
---
|
2
|
+
Attribute:
|
3
|
+
enabled: true
|
4
|
+
exclude: []
|
5
|
+
BooleanParameter:
|
6
|
+
enabled: true
|
7
|
+
exclude: []
|
8
|
+
ClassVariable:
|
9
|
+
enabled: true
|
10
|
+
exclude: []
|
11
|
+
ControlParameter:
|
12
|
+
enabled: true
|
13
|
+
exclude: []
|
14
|
+
DataClump:
|
15
|
+
enabled: true
|
16
|
+
exclude: []
|
17
|
+
max_copies: 2
|
18
|
+
min_clump_size: 2
|
19
|
+
DuplicateMethodCall:
|
20
|
+
enabled: true
|
21
|
+
exclude: []
|
22
|
+
max_calls: 1
|
23
|
+
allow_calls: []
|
24
|
+
FeatureEnvy:
|
25
|
+
enabled: true
|
26
|
+
exclude: []
|
27
|
+
IrresponsibleModule:
|
28
|
+
enabled: true
|
29
|
+
exclude: []
|
30
|
+
LongParameterList:
|
31
|
+
enabled: true
|
32
|
+
exclude: []
|
33
|
+
max_params: 2
|
34
|
+
overrides:
|
35
|
+
initialize:
|
36
|
+
max_params: 3
|
37
|
+
LongYieldList:
|
38
|
+
enabled: true
|
39
|
+
exclude: []
|
40
|
+
max_params: 2
|
41
|
+
NestedIterators:
|
42
|
+
enabled: true
|
43
|
+
exclude: []
|
44
|
+
max_allowed_nesting: 1
|
45
|
+
ignore_iterators: []
|
46
|
+
NilCheck:
|
47
|
+
enabled: true
|
48
|
+
exclude: []
|
49
|
+
RepeatedConditional:
|
50
|
+
enabled: true
|
51
|
+
exclude: []
|
52
|
+
max_ifs: 1
|
53
|
+
TooManyInstanceVariables:
|
54
|
+
enabled: true
|
55
|
+
exclude: []
|
56
|
+
max_instance_variables: 3
|
57
|
+
TooManyMethods:
|
58
|
+
enabled: true
|
59
|
+
exclude: []
|
60
|
+
max_methods: 10
|
61
|
+
TooManyStatements:
|
62
|
+
enabled: true
|
63
|
+
exclude:
|
64
|
+
- each
|
65
|
+
max_statements: 2
|
66
|
+
UncommunicativeMethodName:
|
67
|
+
enabled: true
|
68
|
+
exclude: []
|
69
|
+
reject:
|
70
|
+
- !ruby/regexp /^[a-z]$/
|
71
|
+
- !ruby/regexp /[0-9]$/
|
72
|
+
- !ruby/regexp /[A-Z]/
|
73
|
+
accept: []
|
74
|
+
UncommunicativeModuleName:
|
75
|
+
enabled: true
|
76
|
+
exclude: []
|
77
|
+
reject:
|
78
|
+
- !ruby/regexp /^.$/
|
79
|
+
- !ruby/regexp /[0-9]$/
|
80
|
+
accept: []
|
81
|
+
UncommunicativeParameterName:
|
82
|
+
enabled: true
|
83
|
+
exclude: []
|
84
|
+
reject:
|
85
|
+
- !ruby/regexp /^.$/
|
86
|
+
- !ruby/regexp /[0-9]$/
|
87
|
+
- !ruby/regexp /[A-Z]/
|
88
|
+
accept: []
|
89
|
+
UncommunicativeVariableName:
|
90
|
+
enabled: true
|
91
|
+
exclude: []
|
92
|
+
reject:
|
93
|
+
- !ruby/regexp /^.$/
|
94
|
+
- !ruby/regexp /[0-9]$/
|
95
|
+
- !ruby/regexp /[A-Z]/
|
96
|
+
accept: []
|
97
|
+
UnusedParameters:
|
98
|
+
enabled: true
|
99
|
+
exclude: []
|
100
|
+
UtilityFunction:
|
101
|
+
enabled: true
|
102
|
+
exclude: []
|
103
|
+
max_helper_calls: 0
|
data/config/rubocop.yml
ADDED
@@ -0,0 +1,57 @@
|
|
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
|
+
# Limit line length
|
28
|
+
LineLength:
|
29
|
+
Max: 79
|
30
|
+
|
31
|
+
# Disable documentation checking until a class needs to be documented once
|
32
|
+
Documentation:
|
33
|
+
Enabled: false
|
34
|
+
|
35
|
+
# Do not favor modifier if/unless usage when you have a single-line body
|
36
|
+
IfUnlessModifier:
|
37
|
+
Enabled: false
|
38
|
+
|
39
|
+
# Allow case equality operator (in limited use within the specs)
|
40
|
+
CaseEquality:
|
41
|
+
Enabled: false
|
42
|
+
|
43
|
+
# Constants do not always have to use SCREAMING_SNAKE_CASE
|
44
|
+
ConstantName:
|
45
|
+
Enabled: false
|
46
|
+
|
47
|
+
# Not all trivial readers/writers can be defined with attr_* methods
|
48
|
+
TrivialAccessors:
|
49
|
+
Enabled: false
|
50
|
+
|
51
|
+
# Allow empty lines around body
|
52
|
+
EmptyLinesAroundBody:
|
53
|
+
Enabled: false
|
54
|
+
|
55
|
+
SignalException:
|
56
|
+
# Valid values are: semantic, only_raise and only_fail
|
57
|
+
EnforcedStyle: only_raise
|
data/lib/broilerplate.rb
ADDED
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,25 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
if ENV['COVERAGE'] == 'true'
|
4
|
+
require 'simplecov'
|
5
|
+
require 'coveralls'
|
6
|
+
|
7
|
+
SimpleCov.formatter = SimpleCov::Formatter::MultiFormatter[
|
8
|
+
SimpleCov::Formatter::HTMLFormatter,
|
9
|
+
Coveralls::SimpleCov::Formatter
|
10
|
+
]
|
11
|
+
|
12
|
+
SimpleCov.start do
|
13
|
+
command_name 'spec:unit'
|
14
|
+
|
15
|
+
add_filter 'config'
|
16
|
+
add_filter 'spec'
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
require 'broilerplate'
|
21
|
+
|
22
|
+
require 'awesome_print'
|
23
|
+
require 'pry'
|
24
|
+
|
25
|
+
require 'devtools/spec_helper'
|
metadata
ADDED
@@ -0,0 +1,85 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: broilerplate
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.0
|
5
|
+
prerelease:
|
6
|
+
platform: ruby
|
7
|
+
authors:
|
8
|
+
- Lars Gierth
|
9
|
+
autorequire:
|
10
|
+
bindir: bin
|
11
|
+
cert_chain: []
|
12
|
+
date: 2014-01-04 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: rspec
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
18
|
+
requirements:
|
19
|
+
- - ! '>='
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: '0'
|
22
|
+
type: :development
|
23
|
+
prerelease: false
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ! '>='
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '0'
|
30
|
+
description: My personal Ruby boilerplate
|
31
|
+
email:
|
32
|
+
- larsg@systemli.org
|
33
|
+
executables: []
|
34
|
+
extensions: []
|
35
|
+
extra_rdoc_files: []
|
36
|
+
files:
|
37
|
+
- .gitignore
|
38
|
+
- .rspec
|
39
|
+
- .travis.yml
|
40
|
+
- .yardopts
|
41
|
+
- Gemfile
|
42
|
+
- Gemfile.devtools
|
43
|
+
- README.md
|
44
|
+
- Rakefile
|
45
|
+
- UNLICENSE
|
46
|
+
- broilerplate.gemspec
|
47
|
+
- config/devtools.yml
|
48
|
+
- config/flay.yml
|
49
|
+
- config/flog.yml
|
50
|
+
- config/mutant.yml
|
51
|
+
- config/reek.yml
|
52
|
+
- config/rubocop.yml
|
53
|
+
- config/yardstick.yml
|
54
|
+
- examples/getting_started.rb
|
55
|
+
- lib/broilerplate.rb
|
56
|
+
- lib/broilerplate/version.rb
|
57
|
+
- spec/spec_helper.rb
|
58
|
+
homepage: https://github.com/lgierth/boilerplate
|
59
|
+
licenses:
|
60
|
+
- Public Domain
|
61
|
+
post_install_message:
|
62
|
+
rdoc_options: []
|
63
|
+
require_paths:
|
64
|
+
- lib
|
65
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
66
|
+
none: false
|
67
|
+
requirements:
|
68
|
+
- - ! '>='
|
69
|
+
- !ruby/object:Gem::Version
|
70
|
+
version: '0'
|
71
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
72
|
+
none: false
|
73
|
+
requirements:
|
74
|
+
- - ! '>='
|
75
|
+
- !ruby/object:Gem::Version
|
76
|
+
version: '0'
|
77
|
+
requirements: []
|
78
|
+
rubyforge_project:
|
79
|
+
rubygems_version: 1.8.23
|
80
|
+
signing_key:
|
81
|
+
specification_version: 3
|
82
|
+
summary: My personal boilerplate for Ruby libraries. Fork and code ahead.
|
83
|
+
test_files:
|
84
|
+
- spec/spec_helper.rb
|
85
|
+
has_rdoc:
|