tco_method 0.0.2 → 0.0.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +0 -0
- data/.travis.yml +0 -0
- data/Gemfile +0 -0
- data/Guardfile +0 -0
- data/LICENSE +1 -1
- data/README.md +16 -2
- data/Rakefile +0 -0
- data/lib/tco_method.rb +0 -0
- data/lib/tco_method/method_info.rb +0 -0
- data/lib/tco_method/mixin.rb +0 -0
- data/lib/tco_method/version.rb +1 -1
- data/tco_method.gemspec +0 -0
- data/test/test_helper.rb +3 -1
- data/test/test_helpers/factorial_stack_buster_helper.rb +0 -0
- data/test/test_helpers/stack_busters/factorial_stack_buster.rb +0 -0
- data/test/test_helpers/stack_busters/vanilla_stack_buster.rb +0 -0
- data/test/test_helpers/vanilla_stack_buster_helper.rb +0 -0
- data/test/test_helpers/vm_stack_helper.rb +0 -0
- data/test/unit/method_info_test.rb +0 -0
- data/test/unit/mixin_test.rb +0 -0
- data/test/unit/tco_method_test.rb +0 -0
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c162423abdee7bafdeeb615df37a1f4d21a8332c
|
4
|
+
data.tar.gz: c6dd3bf952c683b79d01ef86cefb40db6357de61
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 225afc368495954db3365a65de50da85d7ac3a447bc69759d443e98e946478e9faad145bc4f1eb3aeaa7800d82b235886dbd8ab6b59f472f9758f6e7d8de4a1a
|
7
|
+
data.tar.gz: fe4000e731423ab4ee245c8256d567899e7d880e81caf5b1985822f17bd1687d81e5abae7f988ae688db7fde0e806cf00228fd6418a9dbc07345526466625cfe
|
data/.gitignore
CHANGED
File without changes
|
data/.travis.yml
CHANGED
File without changes
|
data/Gemfile
CHANGED
File without changes
|
data/Guardfile
CHANGED
File without changes
|
data/LICENSE
CHANGED
data/README.md
CHANGED
@@ -8,8 +8,9 @@
|
|
8
8
|
|
9
9
|
Provides `TCOMethod::Mixin` for extending Classes and Modules with helper methods
|
10
10
|
to facilitate evaluating code and some types of methods with tail call
|
11
|
-
optimization enabled. Also provides `TCOMethod.tco_eval` providing a
|
12
|
-
easy means to evaluate code strings with tail call optimization
|
11
|
+
optimization enabled in MRI Ruby. Also provides `TCOMethod.tco_eval` providing a
|
12
|
+
direct and easy means to evaluate code strings with tail call optimization
|
13
|
+
enabled.
|
13
14
|
|
14
15
|
## Installation
|
15
16
|
|
@@ -162,3 +163,16 @@ I'm sure there are more and I will document them here as I come across them.
|
|
162
163
|
3. Commit your changes (`git commit -am 'Add some feature'`)
|
163
164
|
4. Push to the branch (`git push origin my-new-feature`)
|
164
165
|
5. Create a new Pull Request
|
166
|
+
|
167
|
+
## Reference
|
168
|
+
|
169
|
+
- Class annotations are based on [Nithin Bekal's blog post *Tail Call
|
170
|
+
Optimization in Ruby*](http://nithinbekal.com/posts/ruby-tco/) which follows
|
171
|
+
his efforts to create a method decorator to recompile methods with tail call
|
172
|
+
optimization
|
173
|
+
- For more background on how tail call optimization is implemented in MRI Ruby,
|
174
|
+
see [Danny Guinther's *Tail Call Optimization in Ruby: Deep Dive*](http://blog.tdg5.com/tail-call-optimization-ruby-deep-dive/)
|
175
|
+
- For those on flavors of Ruby other than MRI, check out [Magnus Holm's *Tailin'
|
176
|
+
Ruby*](http://timelessrepo.com/tailin-ruby) for some insight into how else
|
177
|
+
tail call optimization (or at least tail call optimization like behavior) can
|
178
|
+
be achieved in Ruby
|
data/Rakefile
CHANGED
File without changes
|
data/lib/tco_method.rb
CHANGED
File without changes
|
File without changes
|
data/lib/tco_method/mixin.rb
CHANGED
File without changes
|
data/lib/tco_method/version.rb
CHANGED
data/tco_method.gemspec
CHANGED
File without changes
|
data/test/test_helper.rb
CHANGED
@@ -1,9 +1,11 @@
|
|
1
1
|
if ENV["CI"]
|
2
2
|
require "simplecov"
|
3
3
|
require "coveralls"
|
4
|
-
Coveralls.wear!
|
5
4
|
SimpleCov.formatter = Coveralls::SimpleCov::Formatter
|
6
5
|
SimpleCov.root(File.expand_path("../..", __FILE__))
|
6
|
+
SimpleCov.start do
|
7
|
+
add_filter "test"
|
8
|
+
end
|
7
9
|
end
|
8
10
|
|
9
11
|
require "minitest/autorun"
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
data/test/unit/mixin_test.rb
CHANGED
File without changes
|
File without changes
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: tco_method
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Danny Guinther
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-03-
|
11
|
+
date: 2015-03-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: method_source
|
@@ -100,7 +100,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
100
100
|
version: '0'
|
101
101
|
requirements: []
|
102
102
|
rubyforge_project:
|
103
|
-
rubygems_version: 2.
|
103
|
+
rubygems_version: 2.4.5
|
104
104
|
signing_key:
|
105
105
|
specification_version: 4
|
106
106
|
summary: Simplifies creating tail call optimized procs/lambdas/methods in Ruby.
|