greeenboii 0.1.6 → 0.1.8
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/.idea/greeenboii.iml +30 -25
- data/.idea/jsLibraryMappings.xml +6 -0
- data/.idea/material_theme_project_new.xml +0 -0
- data/.idea/modules.xml +0 -0
- data/.idea/vcs.xml +0 -0
- data/.idea/workspace.xml +189 -110
- data/.rubocop.sorbet.yml +0 -0
- data/.rubocop.yml +0 -0
- data/CHANGELOG.md +16 -0
- data/CODE_OF_CONDUCT.md +0 -0
- data/CONTRIBUTING.md +0 -0
- data/LICENSE.txt +0 -0
- data/Makefile +0 -0
- data/README.md +5 -0
- data/Rakefile +0 -0
- data/exe/greeenboii +0 -0
- data/ext/greeenboii/extconf.rb +0 -0
- data/ext/greeenboii/greeenboii.c +0 -0
- data/ext/greeenboii/greeenboii.h +0 -0
- data/greeenboii_todo.db +0 -0
- data/lib/greeenboii/version.rb +5 -5
- data/lib/greeenboii.rb +880 -235
- data/lib/libsql.rb +159 -0
- data/logs/turso_requests.log +54 -0
- data/logs/turso_responses.log +27 -0
- data/sig/greeenboii/options.rbs +0 -0
- data/sig/greeenboii/search.rbs +0 -0
- data/sig/greeenboii/todo_list.rbs +0 -0
- data/sig/greeenboii.rbs +0 -0
- data/sorbet/config +0 -0
- data/sorbet/rbi/annotations/.gitattributes +0 -0
- data/sorbet/rbi/annotations/minitest.rbi +0 -0
- data/sorbet/rbi/annotations/rainbow.rbi +0 -0
- data/sorbet/rbi/gems/.gitattributes +0 -0
- data/sorbet/rbi/gems/ast@2.4.2.rbi +0 -0
- data/sorbet/rbi/gems/benchmark@0.4.0.rbi +0 -0
- data/sorbet/rbi/gems/bigdecimal@3.1.9.rbi +0 -0
- data/sorbet/rbi/gems/cli-ui@2.3.0.rbi +0 -0
- data/sorbet/rbi/gems/console_table@0.3.1.rbi +0 -0
- data/sorbet/rbi/gems/csv@3.3.2.rbi +0 -0
- data/sorbet/rbi/gems/erubi@1.13.1.rbi +0 -0
- data/sorbet/rbi/gems/httparty@0.22.0.rbi +0 -0
- data/sorbet/rbi/gems/json@2.10.1.rbi +0 -0
- data/sorbet/rbi/gems/language_server-protocol@3.17.0.4.rbi +0 -0
- data/sorbet/rbi/gems/lint_roller@1.1.0.rbi +0 -0
- data/sorbet/rbi/gems/mini_mime@1.1.5.rbi +0 -0
- data/sorbet/rbi/gems/minitest@5.25.4.rbi +0 -0
- data/sorbet/rbi/gems/multi_xml@0.7.1.rbi +0 -0
- data/sorbet/rbi/gems/netrc@0.11.0.rbi +0 -0
- data/sorbet/rbi/gems/nokogiri@1.18.3.rbi +0 -0
- data/sorbet/rbi/gems/parallel@1.26.3.rbi +0 -0
- data/sorbet/rbi/gems/parser@3.3.7.1.rbi +0 -0
- data/sorbet/rbi/gems/prism@1.3.0.rbi +0 -0
- data/sorbet/rbi/gems/racc@1.8.1.rbi +0 -0
- data/sorbet/rbi/gems/rainbow@3.1.1.rbi +0 -0
- data/sorbet/rbi/gems/rake-compiler@1.2.9.rbi +0 -0
- data/sorbet/rbi/gems/rake@13.2.1.rbi +0 -0
- data/sorbet/rbi/gems/rbi@0.2.4.rbi +0 -0
- data/sorbet/rbi/gems/regexp_parser@2.10.0.rbi +0 -0
- data/sorbet/rbi/gems/rubocop-ast@1.38.0.rbi +0 -0
- data/sorbet/rbi/gems/rubocop@1.72.2.rbi +0 -0
- data/sorbet/rbi/gems/ruby-progressbar@1.13.0.rbi +0 -0
- data/sorbet/rbi/gems/spoom@1.5.4.rbi +0 -0
- data/sorbet/rbi/gems/sqlite3@2.6.0.rbi +0 -0
- data/sorbet/rbi/gems/tapioca@0.16.11.rbi +0 -0
- data/sorbet/rbi/gems/thor@1.3.2.rbi +0 -0
- data/sorbet/rbi/gems/unicode-display_width@3.1.4.rbi +0 -0
- data/sorbet/rbi/gems/unicode-emoji@4.0.4.rbi +0 -0
- data/sorbet/rbi/gems/yard-sorbet@0.9.0.rbi +0 -0
- data/sorbet/rbi/gems/yard@0.9.37.rbi +0 -0
- data/sorbet/tapioca/config.yml +0 -0
- data/sorbet/tapioca/require.rb +0 -0
- data/src/main.c +0 -0
- metadata +39 -9
- data/.idea/dataSources/28fe2501-d682-44de-9f2e-9ff4bf02ce84/storage_v2/_src_/schema/main.uQUzAA.meta +0 -2
- data/.idea/dataSources/28fe2501-d682-44de-9f2e-9ff4bf02ce84.xml +0 -1617
- data/.idea/dataSources.local.xml +0 -18
- data/.idea/dataSources.xml +0 -12
- data/.idea/sqldialects.xml +0 -7
data/lib/libsql.rb
ADDED
@@ -0,0 +1,159 @@
|
|
1
|
+
# lib/libsql.rb
|
2
|
+
require 'net/http'
|
3
|
+
require 'json'
|
4
|
+
require 'uri'
|
5
|
+
require 'dotenv'
|
6
|
+
|
7
|
+
module Libsql
|
8
|
+
class Database
|
9
|
+
def initialize(url:, auth_token:)
|
10
|
+
# Ensure URL has the correct endpoint path
|
11
|
+
@url = url.end_with?('/v2/pipeline') ? url : "#{url}/v2/pipeline"
|
12
|
+
@auth_token = auth_token
|
13
|
+
end
|
14
|
+
|
15
|
+
def connect
|
16
|
+
connection = Connection.new(@url, @auth_token)
|
17
|
+
yield connection if block_given?
|
18
|
+
connection
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
class Connection
|
23
|
+
def initialize(url, auth_token)
|
24
|
+
@url = url
|
25
|
+
@auth_token = auth_token
|
26
|
+
@last_changes = 0
|
27
|
+
end
|
28
|
+
|
29
|
+
def execute(query, *params)
|
30
|
+
params = params.flatten if params.is_a?(Array)
|
31
|
+
execute_stmt(query, params)
|
32
|
+
end
|
33
|
+
|
34
|
+
def execute_batch(batch_query)
|
35
|
+
# Split the batch query into individual statements
|
36
|
+
statements = batch_query.split(';').map(&:strip).reject(&:empty?)
|
37
|
+
|
38
|
+
requests = statements.map do |stmt|
|
39
|
+
{ "type" => "execute", "stmt" => { "sql" => stmt } }
|
40
|
+
end
|
41
|
+
|
42
|
+
# Add close request at the end
|
43
|
+
requests << { "type" => "close" }
|
44
|
+
|
45
|
+
execute_pipeline(requests)
|
46
|
+
end
|
47
|
+
|
48
|
+
def query(query, *params)
|
49
|
+
params = params.flatten if params.is_a?(Array)
|
50
|
+
result = execute_stmt(query, params)
|
51
|
+
QueryResult.new(result)
|
52
|
+
end
|
53
|
+
|
54
|
+
def changes
|
55
|
+
@last_changes
|
56
|
+
end
|
57
|
+
|
58
|
+
private
|
59
|
+
|
60
|
+
def execute_stmt(sql, params)
|
61
|
+
requests = [
|
62
|
+
{ "type" => "execute", "stmt" => { "sql" => sql, "args" => params } },
|
63
|
+
{ "type" => "close" }
|
64
|
+
]
|
65
|
+
|
66
|
+
execute_pipeline(requests)
|
67
|
+
end
|
68
|
+
|
69
|
+
def execute_pipeline(requests)
|
70
|
+
uri = URI(@url)
|
71
|
+
request = Net::HTTP::Post.new(uri)
|
72
|
+
request["Authorization"] = "Bearer #{@auth_token}"
|
73
|
+
request["Content-Type"] = "application/json"
|
74
|
+
|
75
|
+
request.body = JSON.generate({
|
76
|
+
"requests" => requests
|
77
|
+
})
|
78
|
+
|
79
|
+
response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: uri.scheme == 'https') do |http|
|
80
|
+
http.request(request)
|
81
|
+
end
|
82
|
+
|
83
|
+
if response.code != "200"
|
84
|
+
raise "Query failed: #{response.body}"
|
85
|
+
end
|
86
|
+
|
87
|
+
response_data = JSON.parse(response.body)
|
88
|
+
|
89
|
+
# Extract the affected row count for UPDATE/DELETE operations
|
90
|
+
if response_data["results"] &&
|
91
|
+
response_data["results"][0] &&
|
92
|
+
response_data["results"][0]["type"] == "ok" &&
|
93
|
+
response_data["results"][0]["response"] &&
|
94
|
+
response_data["results"][0]["response"]["type"] == "execute" &&
|
95
|
+
response_data["results"][0]["response"]["result"] &&
|
96
|
+
response_data["results"][0]["response"]["result"]["affected_row_count"]
|
97
|
+
@last_changes = response_data["results"][0]["response"]["result"]["affected_row_count"]
|
98
|
+
end
|
99
|
+
|
100
|
+
response_data
|
101
|
+
end
|
102
|
+
end
|
103
|
+
|
104
|
+
class QueryResult
|
105
|
+
def initialize(result)
|
106
|
+
@result = result
|
107
|
+
|
108
|
+
# Extract columns and rows from Turso's format
|
109
|
+
if @result["results"] &&
|
110
|
+
@result["results"][0] &&
|
111
|
+
@result["results"][0]["type"] == "ok" &&
|
112
|
+
@result["results"][0]["response"] &&
|
113
|
+
@result["results"][0]["response"]["type"] == "execute" &&
|
114
|
+
@result["results"][0]["response"]["result"]
|
115
|
+
|
116
|
+
result_data = @result["results"][0]["response"]["result"]
|
117
|
+
@columns = result_data["cols"] || []
|
118
|
+
@rows = result_data["rows"] || []
|
119
|
+
else
|
120
|
+
@columns = []
|
121
|
+
@rows = []
|
122
|
+
end
|
123
|
+
end
|
124
|
+
|
125
|
+
def empty?
|
126
|
+
@rows.empty?
|
127
|
+
end
|
128
|
+
|
129
|
+
def to_a
|
130
|
+
@rows
|
131
|
+
end
|
132
|
+
|
133
|
+
def close
|
134
|
+
# No-op for HTTP API
|
135
|
+
end
|
136
|
+
end
|
137
|
+
|
138
|
+
# Helper method to create a database connection using .env credentials
|
139
|
+
def self.connect_with_env
|
140
|
+
Dotenv.load
|
141
|
+
|
142
|
+
# Check for required environment variables
|
143
|
+
unless ENV['TURSO_DATABASE_URL'] && ENV['TURSO_AUTH_TOKEN']
|
144
|
+
raise "Missing TURSO_DATABASE_URL or TURSO_AUTH_TOKEN in .env file"
|
145
|
+
end
|
146
|
+
|
147
|
+
db = Database.new(
|
148
|
+
url: ENV['TURSO_DATABASE_URL'],
|
149
|
+
auth_token: ENV['TURSO_AUTH_TOKEN']
|
150
|
+
)
|
151
|
+
|
152
|
+
# If a block is given, yield connection
|
153
|
+
if block_given?
|
154
|
+
db.connect { |conn| yield conn }
|
155
|
+
else
|
156
|
+
db
|
157
|
+
end
|
158
|
+
end
|
159
|
+
end
|
@@ -0,0 +1,54 @@
|
|
1
|
+
2025-05-06 12:20:41 +0530 - REQUEST to https://greeenboii-cli-db-greeenboi.aws-ap-south-1.turso.io/v2/pipeline
|
2
|
+
SQL: CREATE TABLE IF NOT EXISTS gists (gist_id TEXT PRIMARY KEY, title TEXT NOT NULL, url TEXT NOT NULL, description TEXT, tags TEXT, created_at TEXT)
|
3
|
+
Params: []
|
4
|
+
Formatted Params: []
|
5
|
+
Payload: {"requests":[{"type":"execute","stmt":{"sql":"CREATE TABLE IF NOT EXISTS gists (gist_id TEXT PRIMARY KEY, title TEXT NOT NULL, url TEXT NOT NULL, description TEXT, tags TEXT, created_at TEXT)","args":[]}},{"type":"close"}]}
|
6
|
+
--------------------------------------------------------------------------------
|
7
|
+
2025-05-06 12:20:42 +0530 - REQUEST to https://greeenboii-cli-db-greeenboi.aws-ap-south-1.turso.io/v2/pipeline
|
8
|
+
SQL: INSERT OR REPLACE INTO gists (gist_id, title, url, description, tags, created_at) VALUES (?, ?, ?, ?, ?, ?)
|
9
|
+
Params: ["2fc9fa3eac1f0ddeb2f0b23aa21bbe4b", "compilerdesign", "https://gist.github.com/greeenboi/2fc9fa3eac1f0ddeb2f0b23aa21bbe4b", "nil", "nil", "2025-05-06 12:20:41"]
|
10
|
+
Formatted Params: [{:type=>"text", :value=>"2fc9fa3eac1f0ddeb2f0b23aa21bbe4b"}, {:type=>"text", :value=>"compilerdesign"}, {:type=>"text", :value=>"https://gist.github.com/greeenboi/2fc9fa3eac1f0ddeb2f0b23aa21bbe4b"}, {:type=>"text", :value=>"nil"}, {:type=>"text", :value=>"nil"}, {:type=>"text", :value=>"2025-05-06 12:20:41"}]
|
11
|
+
Payload: {"requests":[{"type":"execute","stmt":{"sql":"INSERT OR REPLACE INTO gists (gist_id, title, url, description, tags, created_at) VALUES (?, ?, ?, ?, ?, ?)","args":[{"type":"text","value":"2fc9fa3eac1f0ddeb2f0b23aa21bbe4b"},{"type":"text","value":"compilerdesign"},{"type":"text","value":"https://gist.github.com/greeenboi/2fc9fa3eac1f0ddeb2f0b23aa21bbe4b"},{"type":"text","value":"nil"},{"type":"text","value":"nil"},{"type":"text","value":"2025-05-06 12:20:41"}]}},{"type":"close"}]}
|
12
|
+
--------------------------------------------------------------------------------
|
13
|
+
2025-05-06 12:20:46 +0530 - REQUEST to https://greeenboii-cli-db-greeenboi.aws-ap-south-1.turso.io/v2/pipeline
|
14
|
+
SQL: CREATE TABLE IF NOT EXISTS gists (gist_id TEXT PRIMARY KEY, title TEXT NOT NULL, url TEXT NOT NULL, description TEXT, tags TEXT, created_at TEXT)
|
15
|
+
Params: []
|
16
|
+
Formatted Params: []
|
17
|
+
Payload: {"requests":[{"type":"execute","stmt":{"sql":"CREATE TABLE IF NOT EXISTS gists (gist_id TEXT PRIMARY KEY, title TEXT NOT NULL, url TEXT NOT NULL, description TEXT, tags TEXT, created_at TEXT)","args":[]}},{"type":"close"}]}
|
18
|
+
--------------------------------------------------------------------------------
|
19
|
+
2025-05-06 12:20:46 +0530 - REQUEST to https://greeenboii-cli-db-greeenboi.aws-ap-south-1.turso.io/v2/pipeline
|
20
|
+
SQL: SELECT gist_id, title, url, description, tags, created_at FROM gists ORDER BY created_at DESC
|
21
|
+
Params: []
|
22
|
+
Formatted Params: []
|
23
|
+
Payload: {"requests":[{"type":"execute","stmt":{"sql":"SELECT gist_id, title, url, description, tags, created_at FROM gists ORDER BY created_at DESC","args":[]}},{"type":"close"}]}
|
24
|
+
--------------------------------------------------------------------------------
|
25
|
+
2025-05-06 12:35:11 +0530 - REQUEST to https://greeenboii-cli-db-greeenboi.aws-ap-south-1.turso.io/v2/pipeline
|
26
|
+
SQL: SELECT 1
|
27
|
+
Params: []
|
28
|
+
Formatted Params: []
|
29
|
+
Payload: {"requests":[{"type":"execute","stmt":{"sql":"SELECT 1","args":[]}},{"type":"close"}]}
|
30
|
+
--------------------------------------------------------------------------------
|
31
|
+
2025-05-06 12:35:14 +0530 - REQUEST to https://greeenboii-cli-db-greeenboi.aws-ap-south-1.turso.io/v2/pipeline
|
32
|
+
SQL: CREATE TABLE IF NOT EXISTS gists (gist_id TEXT PRIMARY KEY, title TEXT NOT NULL, url TEXT NOT NULL, description TEXT, tags TEXT, created_at TEXT)
|
33
|
+
Params: []
|
34
|
+
Formatted Params: []
|
35
|
+
Payload: {"requests":[{"type":"execute","stmt":{"sql":"CREATE TABLE IF NOT EXISTS gists (gist_id TEXT PRIMARY KEY, title TEXT NOT NULL, url TEXT NOT NULL, description TEXT, tags TEXT, created_at TEXT)","args":[]}},{"type":"close"}]}
|
36
|
+
--------------------------------------------------------------------------------
|
37
|
+
2025-05-06 12:35:14 +0530 - REQUEST to https://greeenboii-cli-db-greeenboi.aws-ap-south-1.turso.io/v2/pipeline
|
38
|
+
SQL: SELECT gist_id, title, url, description, tags, created_at FROM gists ORDER BY created_at DESC
|
39
|
+
Params: []
|
40
|
+
Formatted Params: []
|
41
|
+
Payload: {"requests":[{"type":"execute","stmt":{"sql":"SELECT gist_id, title, url, description, tags, created_at FROM gists ORDER BY created_at DESC","args":[]}},{"type":"close"}]}
|
42
|
+
--------------------------------------------------------------------------------
|
43
|
+
2025-05-06 12:38:06 +0530 - REQUEST to https://greeenboii-cli-db-greeenboi.aws-ap-south-1.turso.io/v2/pipeline
|
44
|
+
SQL: CREATE TABLE IF NOT EXISTS gists (gist_id TEXT PRIMARY KEY, title TEXT NOT NULL, url TEXT NOT NULL, description TEXT, tags TEXT, created_at TEXT)
|
45
|
+
Params: []
|
46
|
+
Formatted Params: []
|
47
|
+
Payload: {"requests":[{"type":"execute","stmt":{"sql":"CREATE TABLE IF NOT EXISTS gists (gist_id TEXT PRIMARY KEY, title TEXT NOT NULL, url TEXT NOT NULL, description TEXT, tags TEXT, created_at TEXT)","args":[]}},{"type":"close"}]}
|
48
|
+
--------------------------------------------------------------------------------
|
49
|
+
2025-05-06 12:38:06 +0530 - REQUEST to https://greeenboii-cli-db-greeenboi.aws-ap-south-1.turso.io/v2/pipeline
|
50
|
+
SQL: SELECT gist_id, title, url, description, tags, created_at FROM gists ORDER BY created_at DESC
|
51
|
+
Params: []
|
52
|
+
Formatted Params: []
|
53
|
+
Payload: {"requests":[{"type":"execute","stmt":{"sql":"SELECT gist_id, title, url, description, tags, created_at FROM gists ORDER BY created_at DESC","args":[]}},{"type":"close"}]}
|
54
|
+
--------------------------------------------------------------------------------
|
@@ -0,0 +1,27 @@
|
|
1
|
+
2025-05-06 12:20:42 +0530 - RESPONSE (200)
|
2
|
+
Body: {"baton":null,"base_url":null,"results":[{"type":"ok","response":{"type":"execute","result":{"cols":[],"rows":[],"affected_row_count":0,"last_insert_rowid":null,"replication_index":null,"rows_read":0,"rows_written":0,"query_duration_ms":0.128}}},{"type":"ok","response":{"type":"close"}}]}
|
3
|
+
--------------------------------------------------------------------------------
|
4
|
+
2025-05-06 12:20:43 +0530 - RESPONSE (200)
|
5
|
+
Body: {"baton":null,"base_url":null,"results":[{"type":"ok","response":{"type":"execute","result":{"cols":[],"rows":[],"affected_row_count":1,"last_insert_rowid":"1","replication_index":null,"rows_read":0,"rows_written":2,"query_duration_ms":119.604}}},{"type":"ok","response":{"type":"close"}}]}
|
6
|
+
--------------------------------------------------------------------------------
|
7
|
+
2025-05-06 12:20:46 +0530 - RESPONSE (200)
|
8
|
+
Body: {"baton":null,"base_url":null,"results":[{"type":"ok","response":{"type":"execute","result":{"cols":[],"rows":[],"affected_row_count":0,"last_insert_rowid":null,"replication_index":null,"rows_read":0,"rows_written":0,"query_duration_ms":0.133}}},{"type":"ok","response":{"type":"close"}}]}
|
9
|
+
--------------------------------------------------------------------------------
|
10
|
+
2025-05-06 12:20:47 +0530 - RESPONSE (200)
|
11
|
+
Body: {"baton":null,"base_url":null,"results":[{"type":"ok","response":{"type":"execute","result":{"cols":[{"name":"gist_id","decltype":"TEXT"},{"name":"title","decltype":"TEXT"},{"name":"url","decltype":"TEXT"},{"name":"description","decltype":"TEXT"},{"name":"tags","decltype":"TEXT"},{"name":"created_at","decltype":"TEXT"}],"rows":[[{"type":"text","value":"2fc9fa3eac1f0ddeb2f0b23aa21bbe4b"},{"type":"text","value":"compilerdesign"},{"type":"text","value":"https://gist.github.com/greeenboi/2fc9fa3eac1f0ddeb2f0b23aa21bbe4b"},{"type":"text","value":"nil"},{"type":"text","value":"nil"},{"type":"text","value":"2025-05-06 12:20:41"}]],"affected_row_count":0,"last_insert_rowid":null,"replication_index":null,"rows_read":2,"rows_written":0,"query_duration_ms":0.197}}},{"type":"ok","response":{"type":"close"}}]}
|
12
|
+
--------------------------------------------------------------------------------
|
13
|
+
2025-05-06 12:35:11 +0530 - RESPONSE (200)
|
14
|
+
Body: {"baton":null,"base_url":null,"results":[{"type":"ok","response":{"type":"execute","result":{"cols":[{"name":"1","decltype":null}],"rows":[[{"type":"integer","value":"1"}]],"affected_row_count":0,"last_insert_rowid":null,"replication_index":null,"rows_read":0,"rows_written":0,"query_duration_ms":0.065}}},{"type":"ok","response":{"type":"close"}}]}
|
15
|
+
--------------------------------------------------------------------------------
|
16
|
+
2025-05-06 12:35:14 +0530 - RESPONSE (200)
|
17
|
+
Body: {"baton":null,"base_url":null,"results":[{"type":"ok","response":{"type":"execute","result":{"cols":[],"rows":[],"affected_row_count":0,"last_insert_rowid":null,"replication_index":null,"rows_read":0,"rows_written":0,"query_duration_ms":0.151}}},{"type":"ok","response":{"type":"close"}}]}
|
18
|
+
--------------------------------------------------------------------------------
|
19
|
+
2025-05-06 12:35:15 +0530 - RESPONSE (200)
|
20
|
+
Body: {"baton":null,"base_url":null,"results":[{"type":"ok","response":{"type":"execute","result":{"cols":[{"name":"gist_id","decltype":"TEXT"},{"name":"title","decltype":"TEXT"},{"name":"url","decltype":"TEXT"},{"name":"description","decltype":"TEXT"},{"name":"tags","decltype":"TEXT"},{"name":"created_at","decltype":"TEXT"}],"rows":[[{"type":"text","value":"2fc9fa3eac1f0ddeb2f0b23aa21bbe4b"},{"type":"text","value":"compilerdesign"},{"type":"text","value":"https://gist.github.com/greeenboi/2fc9fa3eac1f0ddeb2f0b23aa21bbe4b"},{"type":"text","value":"nil"},{"type":"text","value":"nil"},{"type":"text","value":"2025-05-06 12:20:41"}]],"affected_row_count":0,"last_insert_rowid":null,"replication_index":null,"rows_read":2,"rows_written":0,"query_duration_ms":0.146}}},{"type":"ok","response":{"type":"close"}}]}
|
21
|
+
--------------------------------------------------------------------------------
|
22
|
+
2025-05-06 12:38:06 +0530 - RESPONSE (200)
|
23
|
+
Body: {"baton":null,"base_url":null,"results":[{"type":"ok","response":{"type":"execute","result":{"cols":[],"rows":[],"affected_row_count":0,"last_insert_rowid":null,"replication_index":null,"rows_read":0,"rows_written":0,"query_duration_ms":0.122}}},{"type":"ok","response":{"type":"close"}}]}
|
24
|
+
--------------------------------------------------------------------------------
|
25
|
+
2025-05-06 12:38:07 +0530 - RESPONSE (200)
|
26
|
+
Body: {"baton":null,"base_url":null,"results":[{"type":"ok","response":{"type":"execute","result":{"cols":[{"name":"gist_id","decltype":"TEXT"},{"name":"title","decltype":"TEXT"},{"name":"url","decltype":"TEXT"},{"name":"description","decltype":"TEXT"},{"name":"tags","decltype":"TEXT"},{"name":"created_at","decltype":"TEXT"}],"rows":[[{"type":"text","value":"2fc9fa3eac1f0ddeb2f0b23aa21bbe4b"},{"type":"text","value":"compilerdesign"},{"type":"text","value":"https://gist.github.com/greeenboi/2fc9fa3eac1f0ddeb2f0b23aa21bbe4b"},{"type":"text","value":"nil"},{"type":"text","value":"nil"},{"type":"text","value":"2025-05-06 12:20:41"}]],"affected_row_count":0,"last_insert_rowid":null,"replication_index":null,"rows_read":2,"rows_written":0,"query_duration_ms":0.227}}},{"type":"ok","response":{"type":"close"}}]}
|
27
|
+
--------------------------------------------------------------------------------
|
data/sig/greeenboii/options.rbs
CHANGED
File without changes
|
data/sig/greeenboii/search.rbs
CHANGED
File without changes
|
File without changes
|
data/sig/greeenboii.rbs
CHANGED
File without changes
|
data/sorbet/config
CHANGED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
data/sorbet/tapioca/config.yml
CHANGED
File without changes
|
data/sorbet/tapioca/require.rb
CHANGED
File without changes
|
data/src/main.c
CHANGED
File without changes
|
metadata
CHANGED
@@ -1,13 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: greeenboii
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- greeenboi
|
8
|
+
autorequire:
|
8
9
|
bindir: exe
|
9
10
|
cert_chain: []
|
10
|
-
date: 2025-
|
11
|
+
date: 2025-05-06 00:00:00.000000000 Z
|
11
12
|
dependencies:
|
12
13
|
- !ruby/object:Gem::Dependency
|
13
14
|
name: cli-ui
|
@@ -65,6 +66,34 @@ dependencies:
|
|
65
66
|
- - "~>"
|
66
67
|
- !ruby/object:Gem::Version
|
67
68
|
version: 1.18.3
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: dotenv
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - "~>"
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: 2.8.1
|
76
|
+
type: :runtime
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - "~>"
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: 2.8.1
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: sqlite3
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - "~>"
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: 2.6.0
|
90
|
+
type: :runtime
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - "~>"
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: 2.6.0
|
68
97
|
description: Greeenboii will have several features that i will use to perform daily
|
69
98
|
tasks
|
70
99
|
email:
|
@@ -75,14 +104,10 @@ extensions:
|
|
75
104
|
- ext/greeenboii/extconf.rb
|
76
105
|
extra_rdoc_files: []
|
77
106
|
files:
|
78
|
-
- ".idea/dataSources.local.xml"
|
79
|
-
- ".idea/dataSources.xml"
|
80
|
-
- ".idea/dataSources/28fe2501-d682-44de-9f2e-9ff4bf02ce84.xml"
|
81
|
-
- ".idea/dataSources/28fe2501-d682-44de-9f2e-9ff4bf02ce84/storage_v2/_src_/schema/main.uQUzAA.meta"
|
82
107
|
- ".idea/greeenboii.iml"
|
108
|
+
- ".idea/jsLibraryMappings.xml"
|
83
109
|
- ".idea/material_theme_project_new.xml"
|
84
110
|
- ".idea/modules.xml"
|
85
|
-
- ".idea/sqldialects.xml"
|
86
111
|
- ".idea/vcs.xml"
|
87
112
|
- ".idea/workspace.xml"
|
88
113
|
- ".rubocop.sorbet.yml"
|
@@ -101,6 +126,9 @@ files:
|
|
101
126
|
- greeenboii_todo.db
|
102
127
|
- lib/greeenboii.rb
|
103
128
|
- lib/greeenboii/version.rb
|
129
|
+
- lib/libsql.rb
|
130
|
+
- logs/turso_requests.log
|
131
|
+
- logs/turso_responses.log
|
104
132
|
- sig/greeenboii.rbs
|
105
133
|
- sig/greeenboii/options.rbs
|
106
134
|
- sig/greeenboii/search.rbs
|
@@ -158,6 +186,7 @@ metadata:
|
|
158
186
|
source_code_uri: https://github.com/greeenboi/greeenboii
|
159
187
|
changelog_uri: https://github.com/greeenboi/greeenboii/blob/main/CHANGELOG.md
|
160
188
|
rubygems_mfa_required: 'true'
|
189
|
+
post_install_message:
|
161
190
|
rdoc_options: []
|
162
191
|
require_paths:
|
163
192
|
- lib
|
@@ -165,14 +194,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
165
194
|
requirements:
|
166
195
|
- - ">="
|
167
196
|
- !ruby/object:Gem::Version
|
168
|
-
version: 3.
|
197
|
+
version: 3.3.0
|
169
198
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
170
199
|
requirements:
|
171
200
|
- - ">="
|
172
201
|
- !ruby/object:Gem::Version
|
173
202
|
version: '0'
|
174
203
|
requirements: []
|
175
|
-
rubygems_version: 3.
|
204
|
+
rubygems_version: 3.5.22
|
205
|
+
signing_key:
|
176
206
|
specification_version: 4
|
177
207
|
summary: Greeenboii is a cli tool that i will use to perform all kinds of scripts
|
178
208
|
that i use daily
|