xarray 0.0.1 → 0.0.2

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