array_extend 0.0.1 → 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.
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # ArrayExtend
2
2
 
3
- TODO: Write a gem description
3
+ Extend ruby Array. No override.
4
4
 
5
5
  ## Installation
6
6
 
@@ -18,7 +18,47 @@ Or install it yourself as:
18
18
 
19
19
  ## Usage
20
20
 
21
- TODO: Write usage instructions here
21
+ * after(val)
22
+
23
+ Return the value after the one pass in argument
24
+
25
+ Demo
26
+
27
+ ["hello", "world"].after("hello") #=> "world"
28
+ ["hello", "world"].after("world") #=> nil
29
+ ["hello", "world"].after("none") #=> nil
30
+
31
+ Code
32
+
33
+ def after val
34
+ self[index(val) + 1] if self.include? val
35
+ end
36
+
37
+
38
+ * stealth_delete! *vals
39
+ * stealth_delete *vals
40
+
41
+ Delete value(s) passed by, but return the array instead of the deleted value
42
+
43
+ Demo
44
+
45
+ ["ruby", "the", "programmer", "best", "friend"].stealth_delete! "ruby"
46
+ #=> ["the", "programmer", "best", "friend"]
47
+
48
+ ["ruby", "the", "programmer", "best", "friend"].stealth_delete! "ruby", "best", "programmer"
49
+ #=> ["the", "friend"]
50
+
51
+ ["ruby", "the", "programmer", "best", "friend"].stealth_delete! "hello"
52
+ #=> ["ruby", "the", "programmer", "best", "friend"]
53
+
54
+ Code
55
+
56
+ def stealth_delete! *vals
57
+ vals.each do |val|
58
+ delete val
59
+ end
60
+ return self
61
+ end
22
62
 
23
63
  ## Contributing
24
64
 
@@ -4,9 +4,9 @@ require File.expand_path('../lib/array_extend/version', __FILE__)
4
4
  Gem::Specification.new do |gem|
5
5
  gem.authors = ["Thomas Petrachi"]
6
6
  gem.email = ["thomas.petrachi@vodeclic.com"]
7
- gem.description = %q{in dev : extend ruby array}
8
- gem.summary = %q{in dev : list added methods}
9
- gem.homepage = ""
7
+ gem.description = %q{Extend ruby Array. No override.}
8
+ gem.summary = %q{Adding methods [:after, :stealth_delete]}
9
+ gem.homepage = "https://github.com/petrachi/array_extend"
10
10
 
11
11
  gem.files = `git ls-files`.split($\)
12
12
  gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
@@ -1,19 +1,21 @@
1
1
  require "array_extend/version"
2
2
 
3
3
  class Array
4
- def stealth_delete! *args
5
- delete *args
6
- return self
4
+ # returns the value after the given value. wraps around. defaults to first element in array.
5
+ def after val
6
+ self[index(val) + 1] if self.include? val
7
7
  end
8
8
 
9
- def stealth_delete_from_collection! collection
10
- collection.each do |val|
9
+ # delete value(s) but return self instead of deleted value
10
+ def stealth_delete! *vals
11
+ vals.each do |val|
11
12
  delete val
12
13
  end
13
14
  return self
14
15
  end
15
16
 
16
- ["stealth_delete", "stealth_delete_from_collection"].each do |method_name|
17
+ # duplicate method without self modification
18
+ [:stealth_delete].each do |method_name|
17
19
  define_method method_name do |*args|
18
20
  array = self.dup
19
21
  eval "array.#{ method_name }! *args"
@@ -1,3 +1,3 @@
1
1
  module ArrayExtend
2
- VERSION = "0.0.1"
2
+ VERSION = "1.0.0"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: array_extend
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 1.0.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,9 +9,9 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-09-27 00:00:00.000000000 Z
12
+ date: 2012-09-29 00:00:00.000000000 Z
13
13
  dependencies: []
14
- description: ! 'in dev : extend ruby array'
14
+ description: Extend ruby Array. No override.
15
15
  email:
16
16
  - thomas.petrachi@vodeclic.com
17
17
  executables: []
@@ -26,7 +26,7 @@ files:
26
26
  - array_extend.gemspec
27
27
  - lib/array_extend.rb
28
28
  - lib/array_extend/version.rb
29
- homepage: ''
29
+ homepage: https://github.com/petrachi/array_extend
30
30
  licenses: []
31
31
  post_install_message:
32
32
  rdoc_options: []
@@ -49,5 +49,5 @@ rubyforge_project:
49
49
  rubygems_version: 1.8.24
50
50
  signing_key:
51
51
  specification_version: 3
52
- summary: ! 'in dev : list added methods'
52
+ summary: Adding methods [:after, :stealth_delete]
53
53
  test_files: []