xarray 0.0.1 → 0.0.2

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. data/lib/xarray.rb +25 -30
  2. data/lib/xarray/version.rb +1 -1
  3. metadata +3 -3
@@ -1,43 +1,38 @@
1
+ class XArrayValue
2
+ @@value = 0
3
+ def self.value
4
+ @@value
5
+ end
6
+
7
+ def self.value= val
8
+ @@value = val
9
+ end
10
+
11
+ end
12
+
1
13
  class Object
2
14
  def x
3
- $iter
15
+ XArrayValue.value
4
16
  end
5
17
  end
6
18
 
7
19
 
8
- class Array
9
-
10
- alias_method :old_each, :each
11
-
12
- def each params=nil
13
- prev = $iter
14
- old_each do |val|
15
- $iter = val
16
- yield val
17
- end
18
- $iter = prev
19
- end
20
+ %w(each select map).each do |method|
20
21
 
22
+ Array.class_eval %Q(
21
23
 
22
- alias_method :old_map, :map
24
+ alias_method :old_#{method}, :#{method}
23
25
 
24
- def map params=nil
25
- old_map do |val|
26
- $iter = val
27
- yield
28
- end
26
+ def #{method} params=nil
27
+ prev = XArrayValue.value
28
+ res = old_#{method} do |val|
29
+ XArrayValue.value = val
30
+ yield val
31
+ end
32
+ XArrayValue.value = prev
33
+ res
29
34
  end
30
35
 
31
-
32
- alias_method :old_select, :select
33
-
34
- def select params=nil
35
- old_select do |val|
36
- $iter = val
37
- yield
38
- end
39
- end
36
+ )
40
37
  end
41
38
 
42
-
43
-
@@ -1,3 +1,3 @@
1
1
  module Xarray
2
- VERSION = "0.0.1"
2
+ VERSION = "0.0.2"
3
3
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: xarray
3
3
  version: !ruby/object:Gem::Version
4
- hash: 29
4
+ hash: 27
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
8
  - 0
9
- - 1
10
- version: 0.0.1
9
+ - 2
10
+ version: 0.0.2
11
11
  platform: ruby
12
12
  authors:
13
13
  - Alexey Novikov