combo_data 0.0.3 → 0.0.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: f84bdf0a652f4b7ad5f5878c52fd2d2e2d6bdbde
4
+ data.tar.gz: 808dd5fcce7bcb875709634f03b629295834b9a3
5
+ SHA512:
6
+ metadata.gz: 7745da4f31677dcec6a9e0bdffa4d3a2982397ceaf1c074ecbb1050bcfb667d6511ebdf09bf83103942a13679633811644b6962a332e444680217ff0b92f18d5
7
+ data.tar.gz: 4955606544f64622720099eaee265d35d85330bcb4671afa4e1ed59411e978edd5e3618339c7b3d186ec7cf933cdaf834f88fc096e2a6b64ac8af28fe3fc4aec
@@ -15,9 +15,7 @@ module ComboData
15
15
 
16
16
  def combinations_summing_to(value)
17
17
  @search_value = value
18
- Timeout.timeout(@timeout) do
19
- sum_hash(@data.reject{ |v| v > @search_value}).select{ |addends, sum| sum.round(@precision) == @search_value.round(@precision) }
20
- end
18
+ sum_hash(@data.reject{ |v| v > @search_value}).select{ |addends, sum| sum.round(@precision) == @search_value.round(@precision) }
21
19
  end
22
20
 
23
21
  def pairs_with_a_difference_of(value)
@@ -33,13 +31,15 @@ module ComboData
33
31
  threads = []
34
32
  results = {}
35
33
  begin
36
- (1..@max_combination_length).each do |combination_length|
37
- threads << Thread.new(combination_length) { |n|
38
- data.combination(n){ |combo| results[combo] = combo_sum(combo) if combo_sum(combo) == @search_value }
39
- }
40
- end
41
- threads.each{ |thread| thread.join }
42
- results
34
+ Timeout.timeout(@timeout) do
35
+ (1..@max_combination_length).each do |combination_length|
36
+ threads << Thread.new(combination_length) { |n|
37
+ data.combination(n){ |combo| results[combo] = combo_sum(combo) if combo_sum(combo) == @search_value }
38
+ }
39
+ end
40
+ threads.each{ |thread| thread.join }
41
+ results
42
+ end
43
43
  rescue
44
44
  threads.each{ |thread| Thread.kill(thread) }
45
45
  raise "\nThe process timed out. \nThe current timeout is set to #{@timeout} seconds."
@@ -49,9 +49,9 @@ module ComboData
49
49
  def difference_hash(data = [])
50
50
  # only checking the differences between value pairs
51
51
  # changing the max_combination_length will have no effect here
52
- my_hash = {}
53
- data.combination(2){ |pair| my_hash[pair] = pair_diff(pair) if pair_diff(pair) == @search_value }
54
- my_hash
52
+ results = {}
53
+ data.combination(2){ |pair| results[pair] = pair_diff(pair) if pair_diff(pair) == @search_value }
54
+ results
55
55
  end
56
56
 
57
57
  def combo_sum(combo)
@@ -1,3 +1,3 @@
1
1
  module ComboData
2
- VERSION = "0.0.3"
2
+ VERSION = "0.0.4"
3
3
  end
metadata CHANGED
@@ -1,57 +1,50 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: combo_data
3
- version: !ruby/object:Gem::Version
4
- prerelease: false
5
- segments:
6
- - 0
7
- - 0
8
- - 3
9
- version: 0.0.3
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.4
10
5
  platform: ruby
11
- authors:
6
+ authors:
12
7
  - Kyle Smith
13
8
  autorequire:
14
9
  bindir: bin
15
10
  cert_chain: []
16
-
17
- date: 2013-10-15 00:00:00 -05:00
18
- default_executable:
19
- dependencies:
20
- - !ruby/object:Gem::Dependency
11
+ date: 2013-10-15 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
21
14
  name: bundler
22
- prerelease: false
23
- requirement: &id001 !ruby/object:Gem::Requirement
24
- requirements:
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
25
17
  - - ~>
26
- - !ruby/object:Gem::Version
27
- segments:
28
- - 1
29
- - 3
30
- version: "1.3"
18
+ - !ruby/object:Gem::Version
19
+ version: '1.3'
31
20
  type: :development
32
- version_requirements: *id001
33
- - !ruby/object:Gem::Dependency
34
- name: rake
35
21
  prerelease: false
36
- requirement: &id002 !ruby/object:Gem::Requirement
37
- requirements:
38
- - - ">="
39
- - !ruby/object:Gem::Version
40
- segments:
41
- - 0
42
- version: "0"
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ~>
25
+ - !ruby/object:Gem::Version
26
+ version: '1.3'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rake
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - '>='
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
43
34
  type: :development
44
- version_requirements: *id002
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - '>='
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
45
41
  description: Perform analysis of data sets.
46
- email:
42
+ email:
47
43
  - ksmith@wspackaging.com
48
44
  executables: []
49
-
50
45
  extensions: []
51
-
52
46
  extra_rdoc_files: []
53
-
54
- files:
47
+ files:
55
48
  - .gitignore
56
49
  - Gemfile
57
50
  - LICENSE.txt
@@ -61,35 +54,28 @@ files:
61
54
  - lib/combo_data.rb
62
55
  - lib/combo_data/data_set.rb
63
56
  - lib/combo_data/version.rb
64
- has_rdoc: true
65
57
  homepage: https://github.com/K-Y-L-E/combo_data
66
- licenses:
58
+ licenses:
67
59
  - MIT
60
+ metadata: {}
68
61
  post_install_message:
69
62
  rdoc_options: []
70
-
71
- require_paths:
63
+ require_paths:
72
64
  - lib
73
- required_ruby_version: !ruby/object:Gem::Requirement
74
- requirements:
75
- - - ">="
76
- - !ruby/object:Gem::Version
77
- segments:
78
- - 0
79
- version: "0"
80
- required_rubygems_version: !ruby/object:Gem::Requirement
81
- requirements:
82
- - - ">="
83
- - !ruby/object:Gem::Version
84
- segments:
85
- - 0
86
- version: "0"
65
+ required_ruby_version: !ruby/object:Gem::Requirement
66
+ requirements:
67
+ - - '>='
68
+ - !ruby/object:Gem::Version
69
+ version: '0'
70
+ required_rubygems_version: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - '>='
73
+ - !ruby/object:Gem::Version
74
+ version: '0'
87
75
  requirements: []
88
-
89
76
  rubyforge_project:
90
- rubygems_version: 1.3.6
77
+ rubygems_version: 2.0.5
91
78
  signing_key:
92
- specification_version: 3
79
+ specification_version: 4
93
80
  summary: Data Analysis
94
81
  test_files: []
95
-