corefines 1.9.0 → 1.10.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/corefines/string.rb +7 -7
- data/lib/corefines/version.rb +1 -1
- data/spec/string/color_spec.rb +1 -1
- metadata +3 -8
- data/CHANGELOG.adoc +0 -62
- data/LICENSE +0 -21
- data/README.adoc +0 -217
- data/Rakefile +0 -23
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c4f2aa64f58e3be7d11dc02d322111b762bfe5fc
|
4
|
+
data.tar.gz: 283d79fe43753535b16469e15bf2413055713698
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 82a3e76586a5a45335a2838c11d108a875b2d5ff2ac9a7e92141017eac240c9c8c0e136c6c0e7fe007d889b6da92d3f78f73d878ba964cda665e714b0a101edc
|
7
|
+
data.tar.gz: a104e1756ebf9caa6621e4fc890238248e1a814dfc1ace32e36a725f3370809accb0b7fbf7354a356004af59b0b9da6a4fd4564f0c8077551274ecca1016fdd0
|
data/lib/corefines/string.rb
CHANGED
@@ -75,15 +75,15 @@ module Corefines
|
|
75
75
|
# "Sugar is sweet".color(text: 7) # => "\e[0;37;49mSugar is sweet\e[0m"
|
76
76
|
#
|
77
77
|
# @overload color(text_color)
|
78
|
-
# @param text_color [#to_sym,
|
78
|
+
# @param text_color [#to_sym, Integer] text (foreground) color (see
|
79
79
|
# {COLOR_CODES}).
|
80
80
|
#
|
81
81
|
# @overload color(opts)
|
82
|
-
# @option opts [#to_sym,
|
82
|
+
# @option opts [#to_sym, Integer] :mode text attributes (see
|
83
83
|
# {MODE_CODES}).
|
84
|
-
# @option opts [#to_sym,
|
84
|
+
# @option opts [#to_sym, Integer] :text,:fg text (foreground) color (see
|
85
85
|
# {COLOR_CODES}).
|
86
|
-
# @option opts [#to_sym,
|
86
|
+
# @option opts [#to_sym, Integer] :background,:bg background color (see
|
87
87
|
# {COLOR_CODES}).
|
88
88
|
#
|
89
89
|
# @return [String] a copy of this string colored for command line output
|
@@ -133,12 +133,12 @@ module Corefines
|
|
133
133
|
private
|
134
134
|
|
135
135
|
def self.color_code(color, offset)
|
136
|
-
return color + offset if color.is_a? ::
|
136
|
+
return color + offset if color.is_a? ::Integer
|
137
137
|
COLOR_CODES[color.to_sym] + offset if color && COLOR_CODES[color.to_sym]
|
138
138
|
end
|
139
139
|
|
140
140
|
def self.mode_code(mode)
|
141
|
-
return mode if mode.is_a? ::
|
141
|
+
return mode if mode.is_a? ::Integer
|
142
142
|
MODE_CODES[mode.to_sym] if mode
|
143
143
|
end
|
144
144
|
end
|
@@ -248,7 +248,7 @@ module Corefines
|
|
248
248
|
# "foo\n\nbar".indent(2) # => " foo\n\n bar"
|
249
249
|
# "foo\n\nbar".indent(2, nil, true) # => " foo\n \n bar"
|
250
250
|
#
|
251
|
-
# @param amount [
|
251
|
+
# @param amount [Integer] the indent size.
|
252
252
|
# @param indent_str [String, nil] the indent character to use.
|
253
253
|
# The default is +nil+, which tells the method to make a guess by
|
254
254
|
# peeking at the first indented line, and fallback to a space if
|
data/lib/corefines/version.rb
CHANGED
data/spec/string/color_spec.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: corefines
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.10.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jakub Jirutka
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2017-07-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: asciidoctor
|
@@ -104,10 +104,6 @@ executables: []
|
|
104
104
|
extensions: []
|
105
105
|
extra_rdoc_files: []
|
106
106
|
files:
|
107
|
-
- CHANGELOG.adoc
|
108
|
-
- LICENSE
|
109
|
-
- README.adoc
|
110
|
-
- Rakefile
|
111
107
|
- lib/corefines.rb
|
112
108
|
- lib/corefines/array.rb
|
113
109
|
- lib/corefines/class.rb
|
@@ -183,9 +179,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
183
179
|
version: '0'
|
184
180
|
requirements: []
|
185
181
|
rubyforge_project:
|
186
|
-
rubygems_version: 2.
|
182
|
+
rubygems_version: 2.6.11
|
187
183
|
signing_key:
|
188
184
|
specification_version: 4
|
189
185
|
summary: A collection of refinements for Ruby core classes.
|
190
186
|
test_files: []
|
191
|
-
has_rdoc: yard
|
data/CHANGELOG.adoc
DELETED
@@ -1,62 +0,0 @@
|
|
1
|
-
= Corefines Changelog
|
2
|
-
:repo-uri: https://github.com/jirutka/corefines
|
3
|
-
:doc-base-url: http://www.rubydoc.info/github/jirutka/corefines/Corefines
|
4
|
-
:issue-uri: {repo-uri}/issues
|
5
|
-
|
6
|
-
|
7
|
-
== 1.9.0 (2016-02-03)
|
8
|
-
|
9
|
-
* Add new refinement {doc-base-url}/Enumerable/MapBy[Enumerable#map_by].
|
10
|
-
|
11
|
-
|
12
|
-
== 1.8.0 (2015-07-06)
|
13
|
-
|
14
|
-
* Add new refinement {doc-base-url}/Class/Descendants[Class#descendants].
|
15
|
-
|
16
|
-
|
17
|
-
== 1.7.0 (2015-07-05)
|
18
|
-
|
19
|
-
* Add new refinement {doc-base-url}/Enumerable/MapTo[Enumerable#map_to].
|
20
|
-
* Add new refinement {doc-base-url}/Array/Wrap[Array#wrap].
|
21
|
-
* Add new refinement {doc-base-url}/Enumerable/Many[Enumerable#many?].
|
22
|
-
|
23
|
-
|
24
|
-
== 1.6.0 (2015-05-16)
|
25
|
-
|
26
|
-
* Add new refinement {doc-base-url}/String/Camelcase[String#camelcase].
|
27
|
-
* Add new refinement {doc-base-url}/String/SnakeCase[String#snake_case].
|
28
|
-
|
29
|
-
|
30
|
-
== 1.5.0 (2015-05-03)
|
31
|
-
|
32
|
-
* Rename String refinement `#to_regexp` to `#to_re` to avoid bug https://bugs.ruby-lang.org/issues/11117[#11117] in MRI.
|
33
|
-
|
34
|
-
|
35
|
-
== 1.4.0 (2015-05-03)
|
36
|
-
|
37
|
-
* Add new refinement {doc-base-url}/String/ForceUTF8[String#force_utf8].
|
38
|
-
|
39
|
-
|
40
|
-
== 1.3.0 (2015-04-29)
|
41
|
-
|
42
|
-
* Add new refinement {doc-base-url}/String/ToRegexp[String#to_regexp].
|
43
|
-
* Add new refinement {doc-base-url}/String/RelativePathFrom[String#relative_path_from].
|
44
|
-
* Add new refinement {doc-base-url}/Hash/Except[Hash#except].
|
45
|
-
* Add new refinement {doc-base-url}/Hash/Only[Hash#only].
|
46
|
-
|
47
|
-
|
48
|
-
== 1.2.0 (2015-04-27)
|
49
|
-
|
50
|
-
* Add new refinement {doc-base-url}/String/Indent[String#indent].
|
51
|
-
|
52
|
-
|
53
|
-
== 1.1.0 (2015-04-25)
|
54
|
-
|
55
|
-
* Add new refinement {doc-base-url}/String/ToB[String#to_b].
|
56
|
-
* Change alias for operator `+` from `OpPlus` to `OpAdd` and for operator `-` from `OpMinus` to `OpSub`.
|
57
|
-
* Support operators `+@` (alias `OpPlus`) and `-@` (alias `OpMinus`).
|
58
|
-
|
59
|
-
|
60
|
-
== 1.0.0 (2015-04-02)
|
61
|
-
|
62
|
-
The first stable release.
|
data/LICENSE
DELETED
@@ -1,21 +0,0 @@
|
|
1
|
-
The MIT License
|
2
|
-
|
3
|
-
Copyright 2015-2016 Jakub Jirutka <jakub@jirutka.cz>.
|
4
|
-
|
5
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
6
|
-
of this software and associated documentation files (the "Software"), to deal
|
7
|
-
in the Software without restriction, including without limitation the rights
|
8
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
9
|
-
copies of the Software, and to permit persons to whom the Software is
|
10
|
-
furnished to do so, subject to the following conditions:
|
11
|
-
|
12
|
-
The above copyright notice and this permission notice shall be included in
|
13
|
-
all copies or substantial portions of the Software.
|
14
|
-
|
15
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
16
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
17
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
18
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
19
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
20
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
21
|
-
THE SOFTWARE.
|
data/README.adoc
DELETED
@@ -1,217 +0,0 @@
|
|
1
|
-
= Corefines
|
2
|
-
Jakub Jirutka <https://github.com/jirutka[@jirutka]>
|
3
|
-
:page-layout: base
|
4
|
-
:idprefix:
|
5
|
-
ifdef::env-github[:idprefix: user-content-]
|
6
|
-
:idseparator: -
|
7
|
-
:source-language: ruby
|
8
|
-
:language: {source-language}
|
9
|
-
// custom
|
10
|
-
:gem-name: corefines
|
11
|
-
:gh-name: jirutka/{gem-name}
|
12
|
-
:gh-branch: master
|
13
|
-
:badge-style: flat
|
14
|
-
:doc-base-url: http://www.rubydoc.info/github/{gh-name}/{gh-branch}/Corefines
|
15
|
-
|
16
|
-
ifdef::env-github[]
|
17
|
-
image:https://img.shields.io/travis/{gh-name}/{gh-branch}.svg?style={badge-style}[Build Status, link="https://travis-ci.org/{gh-name}"]
|
18
|
-
image:https://img.shields.io/codeclimate/coverage/github/{gh-name}.svg?style={badge-style}[Test Coverage, link="https://codeclimate.com/github/{gh-name}"]
|
19
|
-
image:https://img.shields.io/codeclimate/github/{gh-name}.svg?style={badge-style}[Code Climate, link="https://codeclimate.com/github/{gh-name}"]
|
20
|
-
image:https://img.shields.io/gem/v/{gem-name}.svg?style={badge-style}[Gem Version, link="https://rubygems.org/gems/{gem-name}"]
|
21
|
-
image:https://img.shields.io/badge/yard-docs-blue.svg?style={badge-style}[Yard Docs, link="http://www.rubydoc.info/github/{gh-name}/{gh-branch}"]
|
22
|
-
endif::env-github[]
|
23
|
-
|
24
|
-
Corefines is a collection of general purpose _refinements_ for extending the core capabilities of Ruby’s built-in classes.
|
25
|
-
It also provides a <<compatibility-mode>> for older Ruby versions and alternative Ruby implementations that don’t support refinements (yet).
|
26
|
-
|
27
|
-
|
28
|
-
== Why refinements?
|
29
|
-
|
30
|
-
Extending core classes with so called monkey-paching pollutes the _global_ scope, so it affects all files on the `$LOAD_PATH`, i.e. whole application including used gems.
|
31
|
-
It’s not usually so big deal when you’re doing it in your application, but it’s very dangerous when used in a gem (library).
|
32
|
-
This can result in strange and hard to debug behaviour if another gem overrides a core class with the same method as your gem, but different implementation, and both gems are used together.
|
33
|
-
|
34
|
-
Refinements basically allows you to put monkey patches in an isolated namespace, so that your changes to core classes don’t affect other code.
|
35
|
-
|
36
|
-
TODO
|
37
|
-
|
38
|
-
|
39
|
-
== Installation
|
40
|
-
|
41
|
-
Add this line to your application’s Gemfile:
|
42
|
-
|
43
|
-
[source]
|
44
|
-
gem 'corefines', '~> 1.9'
|
45
|
-
|
46
|
-
or to your gemspec:
|
47
|
-
|
48
|
-
[source]
|
49
|
-
s.add_runtime_dependency 'corefines', '~> 1.9'
|
50
|
-
|
51
|
-
and then execute:
|
52
|
-
|
53
|
-
[source, sh]
|
54
|
-
$ bundle install
|
55
|
-
|
56
|
-
|
57
|
-
== Using
|
58
|
-
|
59
|
-
First, you must require `corefines` prior using:
|
60
|
-
|
61
|
-
[source]
|
62
|
-
require 'corefines'
|
63
|
-
|
64
|
-
This will _not_ activate any extensions (just register them), even when running in compatibility mode.
|
65
|
-
Extensions (refinements) are activated selectively with the method http://ruby-doc.org/core-2.2.0/Module.html#method-i-using[`using`].
|
66
|
-
|
67
|
-
Refinements are organized into modules by class which they refine, and further into submodules for individual methods.
|
68
|
-
When an extension refines multiple classes, then it’s included in a module named after their nearest common ancestor (superclass).
|
69
|
-
|
70
|
-
[source, plain]
|
71
|
-
Corefines::<CLASS>::<METHOD>
|
72
|
-
|
73
|
-
A single extension can be imported into the current scope classically, e.g.:
|
74
|
-
|
75
|
-
[source]
|
76
|
-
using Corefines::Object::ThenIf
|
77
|
-
|
78
|
-
or preferably using its “alias”:
|
79
|
-
|
80
|
-
[source]
|
81
|
-
using Corefines::Object::then_if
|
82
|
-
|
83
|
-
If you want to include all extensions for the class, then you can just import the parent module, e.g.:
|
84
|
-
|
85
|
-
[source]
|
86
|
-
using Corefines::Object
|
87
|
-
|
88
|
-
But more often you want to include multiple extensions for the class, but not all of them, e.g.:
|
89
|
-
|
90
|
-
[source]
|
91
|
-
using Corefines::Object::then_if
|
92
|
-
using Corefines::Object::in?
|
93
|
-
|
94
|
-
this can be abbreviated to:
|
95
|
-
|
96
|
-
[source]
|
97
|
-
using Corefines::Object[:then_if, :in?]
|
98
|
-
|
99
|
-
If you feel that _Corefines_ is too long, then you can also use abbreviation _CF_ instead:
|
100
|
-
|
101
|
-
[source]
|
102
|
-
using CF::Object::then_if
|
103
|
-
|
104
|
-
Refinements can be activated (with `using`) at top-level (per file), inside a class, module or a method.
|
105
|
-
|
106
|
-
|
107
|
-
== Compatibility mode
|
108
|
-
|
109
|
-
Refinements are still a young feature, so there’s a possibility that your gem or application will have to work on a Ruby platform that doesn’t fully support refinements yet.
|
110
|
-
|
111
|
-
The main Ruby implementation, https://en.wikipedia.org/wiki/Ruby_MRI[MRI] (aka CRuby), supports refinements since version 2.1.0 (https://www.ruby-lang.org/en/news/2013/12/25/ruby-2-1-0-is-released/[released in 25 Dec 2013]).
|
112
|
-
footnote:[Actually, refinements has been introduced to MRI in 2.0.0, as an experimental feature. However, its design and implementation has been changed then, so refinements in 2.0.x and 2.1+ behaves quite differently.]
|
113
|
-
Version 2.0.0 (https://www.ruby-lang.org/en/news/2013/02/24/ruby-2-0-0-p0-is-released/[released in 24 Feb 2013]) is still supported though.
|
114
|
-
http://www.jruby.org/[JRuby] doesn’t support refinements yet, it’s planned in the upcoming version 9.0.0.0 (https://github.com/jruby/jruby/issues/1062[#1062]).
|
115
|
-
http://rubini.us/[Rubinius] also doesn’t support refinements yet.
|
116
|
-
|
117
|
-
This gem is a collection of pure refinements, and yet, it works even on older Rubies that don’t support refinements.
|
118
|
-
Wait… how?
|
119
|
-
Well, when you use the gem with an older Ruby, it’s actually cheating.
|
120
|
-
Instead of locally scoped changes, it falls back to global monkey-patching.
|
121
|
-
|
122
|
-
The Corefines gem adds `refine` and `using` methods to the core classes, so you can define and use refinements just like in newer Rubies.
|
123
|
-
But internally it works very differently.
|
124
|
-
The `refine` method adds a given block to a collection of pending “refinements” inside its module.
|
125
|
-
When `using` is called _first time_ for the module, it _evaluates_ module’s “refinements” in context of the target classes (i.e. do a monkey-patch).
|
126
|
-
|
127
|
-
Not ideal indeed, but probably the best of what we can achieve.
|
128
|
-
|
129
|
-
|
130
|
-
== List of refinements
|
131
|
-
|
132
|
-
* {doc-base-url}/Array[Array]
|
133
|
-
** {doc-base-url}/Array/Second[#second]
|
134
|
-
** {doc-base-url}/Array/Third[#third]
|
135
|
-
** {doc-base-url}/Array/Wrap[.wrap]
|
136
|
-
* {doc-base-url}/Class[Class]
|
137
|
-
** {doc-base-url}/Class/Descendants[#descendants]
|
138
|
-
* {doc-base-url}/Enumerable[Enumerable]
|
139
|
-
** {doc-base-url}/Enumerable/IndexBy[#index_by]
|
140
|
-
** {doc-base-url}/Enumerable/Many[#many?]
|
141
|
-
** {doc-base-url}/Enumerable/MapBy[#map_by]
|
142
|
-
** {doc-base-url}/Enumerable/MapSend[#map_send]
|
143
|
-
** {doc-base-url}/Enumerable/MapTo[#map_to]
|
144
|
-
* {doc-base-url}/Hash[Hash]
|
145
|
-
** {doc-base-url}/Hash/OpAdd[#+]
|
146
|
-
** {doc-base-url}/Hash/Compact[#compact]
|
147
|
-
** {doc-base-url}/Hash/Compact[#compact!]
|
148
|
-
** {doc-base-url}/Hash/Except[#except]
|
149
|
-
** {doc-base-url}/Hash/Except[#except!]
|
150
|
-
** {doc-base-url}/Hash/Only[#only]
|
151
|
-
** {doc-base-url}/Hash/Only[#only!]
|
152
|
-
** {doc-base-url}/Hash/Rekey[#rekey]
|
153
|
-
** {doc-base-url}/Hash/Rekey[#rekey!]
|
154
|
-
** {doc-base-url}/Hash/SymbolizeKeys[#symbolize_keys]
|
155
|
-
** {doc-base-url}/Hash/SymbolizeKeys[#symbolize_keys!]
|
156
|
-
* {doc-base-url}/Module[Module]
|
157
|
-
** {doc-base-url}/Module/AliasClassMethod[#alias_class_method]
|
158
|
-
** {doc-base-url}/Module/AliasMethodChain[#alias_method_chain]
|
159
|
-
* {doc-base-url}/Object[Object]
|
160
|
-
** {doc-base-url}/Object/Blank[#blank?]
|
161
|
-
** {doc-base-url}/Object/DeepDup[#deep_dup]
|
162
|
-
** {doc-base-url}/Object/Else[#else]
|
163
|
-
** {doc-base-url}/Object/In[#in?]
|
164
|
-
** {doc-base-url}/Object/InstanceValues[#instance_values]
|
165
|
-
** {doc-base-url}/Object/Blank[#presence]
|
166
|
-
** {doc-base-url}/Object/Then[#then]
|
167
|
-
** {doc-base-url}/Object/ThenIf[#then_if]
|
168
|
-
** {doc-base-url}/Object/Try[#try]
|
169
|
-
** {doc-base-url}/Object/Try[#try!]
|
170
|
-
* {doc-base-url}/String[String]
|
171
|
-
** {doc-base-url}/String/Camelcase[#camelcase]
|
172
|
-
** {doc-base-url}/String/Color[#color]
|
173
|
-
** {doc-base-url}/String/Concat[#concat!]
|
174
|
-
** {doc-base-url}/String/Decolor[#decolor]
|
175
|
-
** {doc-base-url}/String/ForceUTF8[#force_utf8]
|
176
|
-
** {doc-base-url}/String/ForceUTF8[#force_utf8!]
|
177
|
-
** {doc-base-url}/String/Indent[#indent]
|
178
|
-
** {doc-base-url}/String/RelativePathFrom[#relative_path_from]
|
179
|
-
** {doc-base-url}/String/Remove[#remove]
|
180
|
-
** {doc-base-url}/String/SnakeCase[#snake_case]
|
181
|
-
** {doc-base-url}/String/ToB[#to_b]
|
182
|
-
** {doc-base-url}/String/ToRe[#to_re]
|
183
|
-
** {doc-base-url}/String/Unindent[#unindent] (alias `#strip_heredoc`)
|
184
|
-
* {doc-base-url}/Symbol[Symbol]
|
185
|
-
** {doc-base-url}/Symbol/Call[#call]
|
186
|
-
|
187
|
-
|
188
|
-
== Acknowledgement
|
189
|
-
|
190
|
-
Most of the extension methods are based on, or highly inspired from:
|
191
|
-
|
192
|
-
* https://github.com/rails/rails/tree/master/activesupport[Active Support (Ruby extensions)]
|
193
|
-
* https://github.com/rubyworks/facets[Ruby Facets]
|
194
|
-
* https://github.com/gregwebs/methodchain[methodchain]
|
195
|
-
* https://github.com/fazibear/colorize[colorize]
|
196
|
-
* https://github.com/seamusabshere/to_regexp[to_regexp]
|
197
|
-
|
198
|
-
Very useful articles about refinements and how to “trick” them:
|
199
|
-
|
200
|
-
* https://www.new-bamboo.co.uk/blog/2014/02/05/refinements-under-the-knife/[
|
201
|
-
Refinements under the knife] by https://github.com/leemachin[@leemachin]
|
202
|
-
* http://qiita.com/joker1007/items/68d066a12bc763bd2cb4[Refinement関係の小技とできない事をまとめてみた] by https://github.com/joker1007[@joker1007]
|
203
|
-
|
204
|
-
|
205
|
-
== Contributing
|
206
|
-
|
207
|
-
. Fork it.
|
208
|
-
. Create your feature branch (`git checkout -b my-new-feature`).
|
209
|
-
. Commit your changes (`git commit -am 'Add some feature'`).
|
210
|
-
. Push to the branch (`git push origin my-new-feature`).
|
211
|
-
. Create a new Pull Request.
|
212
|
-
|
213
|
-
|
214
|
-
== License
|
215
|
-
|
216
|
-
This project is licensed under http://opensource.org/licenses/MIT/[MIT License].
|
217
|
-
For the full text of the license, see the link:LICENSE[LICENSE] file.
|
data/Rakefile
DELETED
@@ -1,23 +0,0 @@
|
|
1
|
-
require 'bundler/gem_tasks'
|
2
|
-
|
3
|
-
begin
|
4
|
-
require 'rspec/core/rake_task'
|
5
|
-
|
6
|
-
RSpec::Core::RakeTask.new(:spec)
|
7
|
-
|
8
|
-
task :test => :spec
|
9
|
-
task :default => :spec
|
10
|
-
|
11
|
-
rescue LoadError => e
|
12
|
-
warn "#{e.path} is not available"
|
13
|
-
end
|
14
|
-
|
15
|
-
begin
|
16
|
-
require 'yard'
|
17
|
-
|
18
|
-
# options are defined in .yardopts
|
19
|
-
YARD::Rake::YardocTask.new(:yard)
|
20
|
-
|
21
|
-
rescue LoadError => e
|
22
|
-
warn "#{e.path} is not available"
|
23
|
-
end
|