asktive_record 0.1.7 → 0.2.0
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 +4 -4
- data/.rubocop.yml +19 -1
- data/CHANGELOG.md +52 -1
- data/README.md +196 -114
- data/lib/asktive_record/adapters/base.rb +56 -0
- data/lib/asktive_record/adapters/openai.rb +62 -0
- data/lib/asktive_record/configuration.rb +37 -4
- data/lib/asktive_record/llm_service.rb +33 -56
- data/lib/asktive_record/log.rb +49 -0
- data/lib/asktive_record/model.rb +7 -43
- data/lib/asktive_record/prompt.rb +105 -54
- data/lib/asktive_record/query.rb +37 -26
- data/lib/asktive_record/schema_loader.rb +63 -0
- data/lib/asktive_record/service.rb +4 -50
- data/lib/asktive_record/sql_sanitizer.rb +92 -0
- data/lib/asktive_record/version.rb +1 -1
- data/lib/asktive_record.rb +36 -2
- data/lib/generators/asktive_record/templates/asktive_record_initializer.rb +29 -6
- data/sig/asktive_record.rbs +177 -1
- metadata +18 -29
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: asktive_record
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.2.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- rpossan
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2026-03-26 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: railties
|
|
@@ -16,14 +16,14 @@ dependencies:
|
|
|
16
16
|
requirements:
|
|
17
17
|
- - ">="
|
|
18
18
|
- !ruby/object:Gem::Version
|
|
19
|
-
version: '
|
|
19
|
+
version: '7.0'
|
|
20
20
|
type: :runtime
|
|
21
21
|
prerelease: false
|
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
|
23
23
|
requirements:
|
|
24
24
|
- - ">="
|
|
25
25
|
- !ruby/object:Gem::Version
|
|
26
|
-
version: '
|
|
26
|
+
version: '7.0'
|
|
27
27
|
- !ruby/object:Gem::Dependency
|
|
28
28
|
name: ruby-openai
|
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -38,34 +38,20 @@ dependencies:
|
|
|
38
38
|
- - "~>"
|
|
39
39
|
- !ruby/object:Gem::Version
|
|
40
40
|
version: '8.1'
|
|
41
|
-
- !ruby/object:Gem::Dependency
|
|
42
|
-
name: zeitwerk
|
|
43
|
-
requirement: !ruby/object:Gem::Requirement
|
|
44
|
-
requirements:
|
|
45
|
-
- - ">="
|
|
46
|
-
- !ruby/object:Gem::Version
|
|
47
|
-
version: '2.0'
|
|
48
|
-
type: :runtime
|
|
49
|
-
prerelease: false
|
|
50
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
51
|
-
requirements:
|
|
52
|
-
- - ">="
|
|
53
|
-
- !ruby/object:Gem::Version
|
|
54
|
-
version: '2.0'
|
|
55
41
|
- !ruby/object:Gem::Dependency
|
|
56
42
|
name: bundler
|
|
57
43
|
requirement: !ruby/object:Gem::Requirement
|
|
58
44
|
requirements:
|
|
59
45
|
- - ">="
|
|
60
46
|
- !ruby/object:Gem::Version
|
|
61
|
-
version: '2.
|
|
47
|
+
version: '2.4'
|
|
62
48
|
type: :development
|
|
63
49
|
prerelease: false
|
|
64
50
|
version_requirements: !ruby/object:Gem::Requirement
|
|
65
51
|
requirements:
|
|
66
52
|
- - ">="
|
|
67
53
|
- !ruby/object:Gem::Version
|
|
68
|
-
version: '2.
|
|
54
|
+
version: '2.4'
|
|
69
55
|
- !ruby/object:Gem::Dependency
|
|
70
56
|
name: rake
|
|
71
57
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -94,14 +80,11 @@ dependencies:
|
|
|
94
80
|
- - "~>"
|
|
95
81
|
- !ruby/object:Gem::Version
|
|
96
82
|
version: '3.0'
|
|
97
|
-
description: AsktiveRecord
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
the most last month?' — and get clear, human-friendly answers. AsktiveRecord translates
|
|
103
|
-
your questions into database queries using LLM behind the scenes, so you can focus
|
|
104
|
-
on what you want to know, not how to write the query.
|
|
83
|
+
description: AsktiveRecord bridges human language and database queries. It lets you
|
|
84
|
+
interact with your Rails database as if you were having a conversation with a knowledgeable
|
|
85
|
+
assistant. Instead of writing SQL or chaining ActiveRecord methods, you simply ask
|
|
86
|
+
questions in plain English (or any language) and get clear, human-friendly answers
|
|
87
|
+
powered by LLMs.
|
|
105
88
|
email:
|
|
106
89
|
- ronaldo.possan@gmail.com
|
|
107
90
|
executables: []
|
|
@@ -116,13 +99,18 @@ files:
|
|
|
116
99
|
- README.md
|
|
117
100
|
- Rakefile
|
|
118
101
|
- lib/asktive_record.rb
|
|
102
|
+
- lib/asktive_record/adapters/base.rb
|
|
103
|
+
- lib/asktive_record/adapters/openai.rb
|
|
119
104
|
- lib/asktive_record/configuration.rb
|
|
120
105
|
- lib/asktive_record/error.rb
|
|
121
106
|
- lib/asktive_record/llm_service.rb
|
|
107
|
+
- lib/asktive_record/log.rb
|
|
122
108
|
- lib/asktive_record/model.rb
|
|
123
109
|
- lib/asktive_record/prompt.rb
|
|
124
110
|
- lib/asktive_record/query.rb
|
|
111
|
+
- lib/asktive_record/schema_loader.rb
|
|
125
112
|
- lib/asktive_record/service.rb
|
|
113
|
+
- lib/asktive_record/sql_sanitizer.rb
|
|
126
114
|
- lib/asktive_record/version.rb
|
|
127
115
|
- lib/generators/asktive_record/install_generator.rb
|
|
128
116
|
- lib/generators/asktive_record/setup_generator.rb
|
|
@@ -5657,6 +5645,7 @@ metadata:
|
|
|
5657
5645
|
homepage_uri: https://github.com/rpossan/asktive_record
|
|
5658
5646
|
source_code_uri: https://github.com/rpossan/asktive_record
|
|
5659
5647
|
changelog_uri: https://github.com/rpossan/asktive_record/blob/main/CHANGELOG.md
|
|
5648
|
+
rubygems_mfa_required: 'true'
|
|
5660
5649
|
post_install_message:
|
|
5661
5650
|
rdoc_options: []
|
|
5662
5651
|
require_paths:
|
|
@@ -5665,7 +5654,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
5665
5654
|
requirements:
|
|
5666
5655
|
- - ">="
|
|
5667
5656
|
- !ruby/object:Gem::Version
|
|
5668
|
-
version: 3.
|
|
5657
|
+
version: 3.1.0
|
|
5669
5658
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
5670
5659
|
requirements:
|
|
5671
5660
|
- - ">="
|