db_clustering 0.1.3 → 0.1.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: fd3b7bcdb353b3fd1d085b5bb075e5b02dea36ea
4
- data.tar.gz: 9db7afbffbbecc8b640a6d9b64d5a1e8cb6dbdd9
3
+ metadata.gz: 8901dbfe4c461163864eecc8934ca87e7e3485cf
4
+ data.tar.gz: 200614749469e8548535f9d5b2095e641354b00d
5
5
  SHA512:
6
- metadata.gz: a6ad3e64f5f518e46adb2e6ec92d4f0763bdfb5bb5f34c8c69b2ecbd7be9fcf655ab75a0a11665d3204dee43461c033885d25dc33ea3a2f6a803e91837fb49dc
7
- data.tar.gz: 9bf0973f2e4b5beffc70e19877d85a03bb8a3a9ea463563edb4ff7580e8c49d75ea88ff52c7d807a49cb3bd12eac5c92f6c958ff6b46caf326a691a9468cc462
6
+ metadata.gz: 90931ba87de5fa19325f4965f166ad62a2650dac55789b7e66e4308b1e6b00bc1331a77e91e5013f0f65492272be1f2966d89bd8e6ebe89343b05858c85145d1
7
+ data.tar.gz: 5857b3d7f4926a0a7b96f711b93ee3f4ab0fb8442430fb66f279188a359ff2ef691cd67bbd2f7eeaab0f83e46dc9330089a44d3645b8fb7a5e9a3040c91a605f
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.3
1
+ 0.1.4
@@ -2,11 +2,11 @@
2
2
  # DO NOT EDIT THIS FILE DIRECTLY
3
3
  # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
4
  # -*- encoding: utf-8 -*-
5
- # stub: db_clustering 0.1.3 ruby lib
5
+ # stub: db_clustering 0.1.4 ruby lib
6
6
 
7
7
  Gem::Specification.new do |s|
8
8
  s.name = "db_clustering"
9
- s.version = "0.1.3"
9
+ s.version = "0.1.4"
10
10
 
11
11
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
12
12
  s.require_paths = ["lib"]
@@ -28,18 +28,15 @@ module DbClustering
28
28
  else
29
29
  cluster = point.cluster
30
30
  end
31
- expand_cluster(cluster: cluster, neighbors: neighbors)
32
- end
33
-
34
- end
35
- end
36
31
 
37
- def expand_cluster(cluster:, neighbors:)
38
- # Important: If neighbors do not include point itself, then point must be added to cluster, too.
39
- neighbors.each do |neighbor|
40
- if !neighbor.visited?
41
- cluster.add(neighbor)
32
+ neighbors.each do |neighbor|
33
+ if !neighbor.visited?
34
+ cluster.add(neighbor)
35
+ end
36
+ end
42
37
  end
38
+
39
+ yield(point)
43
40
  end
44
41
  end
45
42
 
@@ -2,10 +2,11 @@ module DbClustering
2
2
  module Models
3
3
  class Cluster
4
4
 
5
- attr_accessor :points
5
+ attr_accessor :points, :id
6
6
 
7
7
  def initialize
8
8
  @points = []
9
+ @id = SecureRandom.urlsafe_base64(3, false)
9
10
  end
10
11
 
11
12
  def add(point)
data/lib/models/vector.rb CHANGED
@@ -16,7 +16,7 @@ module DbClustering
16
16
  if @hash
17
17
  if other_vector
18
18
  shared_keys = @hash.keys & other_vector.hash.keys
19
- @hash.select{ |k,v| shared_keys.include?(k) }.sort.map{ |arr| arr.last }
19
+ @hash.select{ |k,v| !k.nil? && shared_keys.include?(k) }.sort.map{ |arr| arr.last }
20
20
  else
21
21
  @hash.values
22
22
  end
@@ -27,4 +27,4 @@ module DbClustering
27
27
 
28
28
  end
29
29
  end
30
- end
30
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: db_clustering
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.3
4
+ version: 0.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Cihat Gündüz