mutate 1.0.0

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 (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: []