mutate 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +7 -0
  2. data/lib/mutate.rb +22 -0
  3. metadata +47 -0
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 265efefa7250af4a412042a1c9e1ea2920ec5c35
4
+ data.tar.gz: ca4d00e11a76cf6909e9711ea85b2808490e5f6a
5
+ SHA512:
6
+ metadata.gz: c76ea0d365e7c83b9f0d7a3a1a833e51623ba31fa1cf18aeb03bb9df53c6ce43ac069f91bb7c2801c4fc0990d9986ba9ee3a8d00bbda0e4f870082a8b2586530
7
+ data.tar.gz: 5963cad7a9edf3523fcd66b6bb37838abaa17f7c195cd37d1c5455197cf65aee0a0587d7c79229bcbb57af934acfa64c06684920d3f65d9a13b5bd9ab268dac3
@@ -0,0 +1,22 @@
1
+ class Object
2
+ def mutate
3
+ yield self
4
+ end
5
+
6
+ def keep
7
+ if yield self ; self ; else ; nil ; end
8
+ end
9
+
10
+ def toss
11
+ if yield self ; nil ; else ; self ; end
12
+ end
13
+
14
+ def impart object
15
+ yield object, self
16
+ end
17
+
18
+ def perform
19
+ yield self
20
+ self
21
+ end
22
+ end
metadata ADDED
@@ -0,0 +1,47 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: mutate
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.0
5
+ platform: ruby
6
+ authors:
7
+ - James Lawrence Turner
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2014-07-03 00:00:00.000000000 Z
12
+ dependencies: []
13
+ description: Adds Object#mutate (similar to Enumerable#map), Object#keep (Enumerable#select),
14
+ Object#toss (Enumerable#reject), Object#impart (Enumerable#inject). Object#tap already
15
+ exists for Enumerable#each (for side effects).
16
+ email: james@urx.com
17
+ executables: []
18
+ extensions: []
19
+ extra_rdoc_files: []
20
+ files:
21
+ - lib/mutate.rb
22
+ homepage: http://github.com/jlturner/mutate
23
+ licenses:
24
+ - MIT
25
+ metadata: {}
26
+ post_install_message:
27
+ rdoc_options: []
28
+ require_paths:
29
+ - lib
30
+ required_ruby_version: !ruby/object:Gem::Requirement
31
+ requirements:
32
+ - - ">="
33
+ - !ruby/object:Gem::Version
34
+ version: '0'
35
+ required_rubygems_version: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - ">="
38
+ - !ruby/object:Gem::Version
39
+ version: '0'
40
+ requirements: []
41
+ rubyforge_project:
42
+ rubygems_version: 2.2.2
43
+ signing_key:
44
+ specification_version: 4
45
+ summary: Allows any object use methods similar to Enumerable, but for scalar transformation
46
+ rather than vector.
47
+ test_files: []