array-hooked 1.1.2 → 1.1.3

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.
@@ -18,3 +18,7 @@ Updated to use module-cluster to ensure interface encapsulation.
18
18
  == 7/9/2012
19
19
 
20
20
  Removed module-cluster dependency.
21
+
22
+ == 7/10/2012
23
+
24
+ Reverted module-cluster dependency.
@@ -1,5 +1,6 @@
1
1
 
2
2
  require 'identifies_as'
3
+ require 'module/cluster'
3
4
 
4
5
  # namespaces that have to be declared ahead of time for proper load order
5
6
  require_relative './namespaces'
@@ -9,45 +10,6 @@ require_relative './requires.rb'
9
10
 
10
11
  class ::Array::Hooked < ::Array
11
12
 
12
- #####################
13
- # undecorated_set #
14
- #####################
15
-
16
- # Alias to original :[]= method. Used to perform actual set between hooks.
17
- # @param [Fixnum] index Index at which set is taking place.
18
- # @param [Object] object Element being set.
19
- # @return [Object] Element returned.
20
- alias_method :undecorated_set, :[]=
21
-
22
- #####################
23
- # undecorated_get #
24
- #####################
25
-
26
- # Alias to original :[]= method. Used to perform actual set between hooks.
27
- # @param [Fixnum] index Index at which set is taking place.
28
- # @param [Object] object Element being set.
29
- # @return [Object] Element returned.
30
- alias_method :undecorated_get, :[]
31
-
32
- ########################
33
- # undecorated_insert #
34
- ########################
35
-
36
- # Alias to original :insert method. Used to perform actual insert between hooks.
37
- # @param [Fixnum] index Index at which insert is taking place.
38
- # @param [Array<Object>] objects Elements being inserted.
39
- # @return [Object] Element returned.
40
- alias_method :undecorated_insert, :insert
41
-
42
- ###########################
43
- # undecorated_delete_at #
44
- ###########################
45
-
46
- # Alias to original :delete method. Used to perform actual delete between hooks.
47
- # @param [Fixnum] index Index at which delete is taking place.
48
- # @return [Object] Element returned.
49
- alias_method :undecorated_delete_at, :delete_at
50
-
51
13
  include ::Array::Hooked::ArrayInterface
52
14
 
53
15
  end
@@ -2,7 +2,64 @@
2
2
  module ::Array::Hooked::ArrayInterface
3
3
 
4
4
  instances_identify_as!( ::Array::Hooked )
5
+
6
+ extend ::Module::Cluster
7
+
8
+ cluster( :hooked_array_interface ).before_include.cascade_to( :class ) do |hooked_instance|
9
+
10
+ hooked_instance.class_eval do
11
+
12
+ #####################
13
+ # undecorated_set #
14
+ #####################
15
+
16
+ # Alias to original :[]= method. Used to perform actual set between hooks.
17
+ # @param [Fixnum] index Index at which set is taking place.
18
+ # @param [Object] object Element being set.
19
+ # @return [Object] Element returned.
20
+ unless method_defined?( :undecorated_set )
21
+ alias_method :undecorated_set, :[]=
22
+ end
23
+
24
+ #####################
25
+ # undecorated_get #
26
+ #####################
27
+
28
+ # Alias to original :[]= method. Used to perform actual set between hooks.
29
+ # @param [Fixnum] index Index at which set is taking place.
30
+ # @param [Object] object Element being set.
31
+ # @return [Object] Element returned.
32
+ unless method_defined?( :undecorated_get )
33
+ alias_method :undecorated_get, :[]
34
+ end
35
+
36
+ ########################
37
+ # undecorated_insert #
38
+ ########################
39
+
40
+ # Alias to original :insert method. Used to perform actual insert between hooks.
41
+ # @param [Fixnum] index Index at which insert is taking place.
42
+ # @param [Array<Object>] objects Elements being inserted.
43
+ # @return [Object] Element returned.
44
+ unless method_defined?( :undecorated_insert )
45
+ alias_method :undecorated_insert, :insert
46
+ end
47
+
48
+ ###########################
49
+ # undecorated_delete_at #
50
+ ###########################
51
+
52
+ # Alias to original :delete method. Used to perform actual delete between hooks.
53
+ # @param [Fixnum] index Index at which delete is taking place.
54
+ # @return [Object] Element returned.
55
+ unless method_defined?( :undecorated_delete_at )
56
+ alias_method :undecorated_delete_at, :delete_at
57
+ end
58
+
59
+ end
5
60
 
61
+ end
62
+
6
63
  ################
7
64
  # initialize #
8
65
  ################
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: array-hooked
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.2
4
+ version: 1.1.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-07-09 00:00:00.000000000 Z
12
+ date: 2012-07-10 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: identifies_as
@@ -27,6 +27,22 @@ dependencies:
27
27
  - - ! '>='
28
28
  - !ruby/object:Gem::Version
29
29
  version: '0'
30
+ - !ruby/object:Gem::Dependency
31
+ name: module-cluster
32
+ requirement: !ruby/object:Gem::Requirement
33
+ none: false
34
+ requirements:
35
+ - - ! '>='
36
+ - !ruby/object:Gem::Version
37
+ version: '0'
38
+ type: :runtime
39
+ prerelease: false
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: '0'
30
46
  description: A subclass of Array that offers event hooks for pre-insert/pre-set/pre-delete,
31
47
  insert/set/delete. ::HookedArray offers implicit reference to a configuration instance.
32
48
  email: asher@ridiculouspower.com
@@ -39,7 +55,7 @@ files:
39
55
  - lib/array/namespaces.rb
40
56
  - lib/array/requires.rb
41
57
  - lib/array-hooked.rb
42
- - spec/array/hooked_spec.rb
58
+ - spec/Array/Hooked_spec.rb
43
59
  - README.md
44
60
  - CHANGELOG.rdoc
45
61
  homepage: http://rubygems.org/gems/array-hooked
@@ -53,7 +69,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
53
69
  requirements:
54
70
  - - ! '>='
55
71
  - !ruby/object:Gem::Version
56
- version: 1.9.1
72
+ version: '0'
57
73
  required_rubygems_version: !ruby/object:Gem::Requirement
58
74
  none: false
59
75
  requirements: