array_pair 0.1.0 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.0
1
+ 0.2.0
@@ -0,0 +1,50 @@
1
+ # Generated by jeweler
2
+ # DO NOT EDIT THIS FILE DIRECTLY
3
+ # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
+ # -*- encoding: utf-8 -*-
5
+
6
+ Gem::Specification.new do |s|
7
+ s.name = %q{array_pair}
8
+ s.version = "0.2.0"
9
+
10
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
+ s.authors = ["Ben J Woodcroft"]
12
+ s.date = %q{2011-06-07}
13
+ s.description = %q{random useful methods for working with Ruby arrays and hashes}
14
+ s.email = %q{donttrustben near gmail.com}
15
+ s.extra_rdoc_files = [
16
+ "LICENSE",
17
+ "README.rdoc"
18
+ ]
19
+ s.files = [
20
+ ".document",
21
+ "LICENSE",
22
+ "README.rdoc",
23
+ "Rakefile",
24
+ "VERSION",
25
+ "array_pair.gemspec",
26
+ "lib/array_pair.rb",
27
+ "test/helper.rb",
28
+ "test/test_array_pair.rb"
29
+ ]
30
+ s.homepage = %q{http://github.com/wwood/array_pair}
31
+ s.require_paths = ["lib"]
32
+ s.rubygems_version = %q{1.6.1}
33
+ s.summary = %q{random useful methods for working with Ruby arrays, hashes and objects}
34
+
35
+ if s.respond_to? :specification_version then
36
+ s.specification_version = 3
37
+
38
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
39
+ s.add_development_dependency(%q<thoughtbot-shoulda>, [">= 0"])
40
+ s.add_runtime_dependency(%q<rsruby>, [">= 0"])
41
+ else
42
+ s.add_dependency(%q<thoughtbot-shoulda>, [">= 0"])
43
+ s.add_dependency(%q<rsruby>, [">= 0"])
44
+ end
45
+ else
46
+ s.add_dependency(%q<thoughtbot-shoulda>, [">= 0"])
47
+ s.add_dependency(%q<rsruby>, [">= 0"])
48
+ end
49
+ end
50
+
@@ -221,6 +221,22 @@ class Array
221
221
  end
222
222
  end
223
223
 
224
+ # Like each_lower_triangular_matrix, except iterate over 4 items at once, not 2.
225
+ def each_lower_triangular_4d_matrix
226
+ each_with_index do |e1, i1|
227
+ each_with_index do |e2, i2|
228
+ next unless i2 > i1
229
+ each_with_index do |e3, i3|
230
+ next unless i3 > i2
231
+ each_with_index do |e4, i4|
232
+ next unless i4 > i3
233
+ yield e1, e2, e3, e4
234
+ end
235
+ end
236
+ end
237
+ end
238
+ end
239
+
224
240
  # like uniq -c for unix
225
241
  def uniq_count
226
242
  hash = {}
@@ -111,6 +111,25 @@ class ArrayPairTest < Test::Unit::TestCase
111
111
  assert_equal 4, gained.length
112
112
  end
113
113
 
114
+ def test_each_lower_triangular_4d_matrix
115
+ gained = []
116
+ [].each_lower_triangular_4d_matrix { |i,j,k,l| gained.push([i,j,k,l]) }
117
+ assert_equal [], gained
118
+
119
+ gained = []
120
+ [1,2,3,4].each_lower_triangular_4d_matrix { |i,j,k,l| gained.push([i,j,k,l]) }
121
+ assert_equal [[1,2,3,4]], gained
122
+
123
+ gained = []
124
+ [1,2,3,4,5].each_lower_triangular_4d_matrix { |i,j,k,l| gained.push([i,j,k,l]) }
125
+ assert_equal [1,2,3,4], gained[0]
126
+ assert_equal [1,2,3,5], gained[1]
127
+ assert_equal [1,2,4,5], gained[2]
128
+ assert_equal [1,3,4,5], gained[3]
129
+ assert_equal [2,3,4,5], gained[4]
130
+ assert_equal 5, gained.length
131
+ end
132
+
114
133
  def test_standard_deviation
115
134
  assert_nil [].standard_deviation
116
135
  assert_equal 1.0, [1,2,3].standard_deviation
metadata CHANGED
@@ -1,7 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: array_pair
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ hash: 23
5
+ prerelease:
6
+ segments:
7
+ - 0
8
+ - 2
9
+ - 0
10
+ version: 0.2.0
5
11
  platform: ruby
6
12
  authors:
7
13
  - Ben J Woodcroft
@@ -9,29 +15,37 @@ autorequire:
9
15
  bindir: bin
10
16
  cert_chain: []
11
17
 
12
- date: 2010-02-16 00:00:00 +11:00
18
+ date: 2011-06-07 00:00:00 +10:00
13
19
  default_executable:
14
20
  dependencies:
15
21
  - !ruby/object:Gem::Dependency
16
22
  name: thoughtbot-shoulda
17
- type: :development
18
- version_requirement:
19
- version_requirements: !ruby/object:Gem::Requirement
23
+ prerelease: false
24
+ requirement: &id001 !ruby/object:Gem::Requirement
25
+ none: false
20
26
  requirements:
21
27
  - - ">="
22
28
  - !ruby/object:Gem::Version
29
+ hash: 3
30
+ segments:
31
+ - 0
23
32
  version: "0"
24
- version:
33
+ type: :development
34
+ version_requirements: *id001
25
35
  - !ruby/object:Gem::Dependency
26
36
  name: rsruby
27
- type: :runtime
28
- version_requirement:
29
- version_requirements: !ruby/object:Gem::Requirement
37
+ prerelease: false
38
+ requirement: &id002 !ruby/object:Gem::Requirement
39
+ none: false
30
40
  requirements:
31
41
  - - ">="
32
42
  - !ruby/object:Gem::Version
43
+ hash: 3
44
+ segments:
45
+ - 0
33
46
  version: "0"
34
- version:
47
+ type: :runtime
48
+ version_requirements: *id002
35
49
  description: random useful methods for working with Ruby arrays and hashes
36
50
  email: donttrustben near gmail.com
37
51
  executables: []
@@ -43,11 +57,11 @@ extra_rdoc_files:
43
57
  - README.rdoc
44
58
  files:
45
59
  - .document
46
- - .gitignore
47
60
  - LICENSE
48
61
  - README.rdoc
49
62
  - Rakefile
50
63
  - VERSION
64
+ - array_pair.gemspec
51
65
  - lib/array_pair.rb
52
66
  - test/helper.rb
53
67
  - test/test_array_pair.rb
@@ -56,29 +70,34 @@ homepage: http://github.com/wwood/array_pair
56
70
  licenses: []
57
71
 
58
72
  post_install_message:
59
- rdoc_options:
60
- - --charset=UTF-8
73
+ rdoc_options: []
74
+
61
75
  require_paths:
62
76
  - lib
63
77
  required_ruby_version: !ruby/object:Gem::Requirement
78
+ none: false
64
79
  requirements:
65
80
  - - ">="
66
81
  - !ruby/object:Gem::Version
82
+ hash: 3
83
+ segments:
84
+ - 0
67
85
  version: "0"
68
- version:
69
86
  required_rubygems_version: !ruby/object:Gem::Requirement
87
+ none: false
70
88
  requirements:
71
89
  - - ">="
72
90
  - !ruby/object:Gem::Version
91
+ hash: 3
92
+ segments:
93
+ - 0
73
94
  version: "0"
74
- version:
75
95
  requirements: []
76
96
 
77
97
  rubyforge_project:
78
- rubygems_version: 1.3.5
98
+ rubygems_version: 1.6.1
79
99
  signing_key:
80
100
  specification_version: 3
81
101
  summary: random useful methods for working with Ruby arrays, hashes and objects
82
- test_files:
83
- - test/helper.rb
84
- - test/test_array_pair.rb
102
+ test_files: []
103
+
data/.gitignore DELETED
@@ -1,21 +0,0 @@
1
- ## MAC OS
2
- .DS_Store
3
-
4
- ## TEXTMATE
5
- *.tmproj
6
- tmtags
7
-
8
- ## EMACS
9
- *~
10
- \#*
11
- .\#*
12
-
13
- ## VIM
14
- *.swp
15
-
16
- ## PROJECT::GENERAL
17
- coverage
18
- rdoc
19
- pkg
20
-
21
- ## PROJECT::SPECIFIC