array_extend 0.0.1 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
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: []