rails_ai_kit 0.1.1 → 0.1.2

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
  SHA256:
3
- metadata.gz: 01b1f21a6cc3de948b270cbd23c95911803accd689598315f655cc320fcdcc4f
4
- data.tar.gz: ec76e4cedde5863f5022bd9842e0360ecbe0e51d39d8287c83c5b83415376023
3
+ metadata.gz: e2037f291c26e83110faa8bf175c1d41e22c504019185b49cedad10a709f61db
4
+ data.tar.gz: 39a510a0b7788da34a530e24a89ad832c1402fb29b101813a76f30fd290aa05a
5
5
  SHA512:
6
- metadata.gz: 3bc4d41ca7050bc75b1f92276d1826ae43020d10b48bcd07d0fad1838c4f6dadba8f0dd262fe6a3188d2c18514a92f2dd35540ec40a99583d304fff45d585803
7
- data.tar.gz: 1ef19893af1c1a7bf6ea5be4d15da6243cb00629ff79f1bc3c6254f2bebcef1d957a7c1f9a81be5eac3cb16a2b90a2f0894c9158df0922a0fc154760d414d987
6
+ metadata.gz: ede0b9f2d61943ee974e9b89c5b40d492e2e81ed3b31a5a04031c7fb32906cc746cf6720b930d404eb293a8814caa72ecfc794b5beb8dc2b72567beadf36d8f1
7
+ data.tar.gz: 95db7112cee6a9922fc93b5fe83b053588a4b46ea7d4d3fb9166e0192873653ef8a20b134b195bb05dd20ca07942e351a9170b1581dcbf45b08af138b568ebc5
data/CHANGELOG.md CHANGED
@@ -2,6 +2,13 @@
2
2
 
3
3
  ## [Unreleased]
4
4
 
5
+ ## [0.1.2] - 2026-03-07
6
+
7
+ ### Fixed
8
+
9
+ - Compatibility with Neighbor 0.6: load label_record, classifier, and vector_classify in `ActiveSupport.on_load(:active_record)` so `has_neighbors` is available
10
+ - Use integer for `dimensions` in LabelRecord (Neighbor 0.6 does not support proc)
11
+
5
12
  ## [0.1.1] - 2026-03-07
6
13
 
7
14
  ### Fixed
@@ -7,7 +7,7 @@ module RailsAiKit
7
7
  class LabelRecord < ActiveRecord::Base
8
8
  self.table_name = "rails_ai_kit_labels"
9
9
 
10
- has_neighbors :embedding, dimensions: -> { RailsAiKit.configuration.embedding_dimensions }
10
+ has_neighbors :embedding, dimensions: RailsAiKit.configuration.embedding_dimensions
11
11
 
12
12
  validates :classifier_name, presence: true
13
13
  validates :label_name, presence: true
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module RailsAiKit
4
- VERSION = "0.1.1"
4
+ VERSION = "0.1.2"
5
5
  end
data/lib/rails_ai_kit.rb CHANGED
@@ -11,9 +11,15 @@ require_relative "rails_ai_kit/embedding_providers/base"
11
11
  require_relative "rails_ai_kit/embedding_providers/openai"
12
12
  require_relative "rails_ai_kit/embedding_providers/cohere"
13
13
  require_relative "rails_ai_kit/embedding_service"
14
- require_relative "rails_ai_kit/label_record"
15
- require_relative "rails_ai_kit/classifier"
16
- require_relative "rails_ai_kit/vector_classify"
14
+
15
+ # Load models and AR integration only after ActiveRecord (and Neighbor) are ready.
16
+ # Neighbor 0.6+ adds has_neighbors via ActiveSupport.on_load(:active_record).
17
+ ActiveSupport.on_load(:active_record) do
18
+ require_relative "rails_ai_kit/label_record"
19
+ require_relative "rails_ai_kit/classifier"
20
+ require_relative "rails_ai_kit/vector_classify"
21
+ ActiveRecord::Base.include RailsAiKit::VectorClassify
22
+ end
17
23
 
18
24
  module RailsAiKit
19
25
  # Top-level classifier using default classifier name. For custom name use Classifier.new(classifier_name: "MyClassifier").
@@ -21,8 +27,3 @@ module RailsAiKit
21
27
  Classifier.new(classifier_name: classifier_name)
22
28
  end
23
29
  end
24
-
25
- # Optional Rails integration: extend ActiveRecord so vector_classify is available.
26
- if defined?(ActiveRecord::Base)
27
- ActiveRecord::Base.include RailsAiKit::VectorClassify
28
- end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rails_ai_kit
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Rails AI Kit Contributors