db_clustering 0.1.3 → 0.1.4

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.
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