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.
Files changed (80) hide show
  1. checksums.yaml +4 -4
  2. data/.idea/greeenboii.iml +30 -25
  3. data/.idea/jsLibraryMappings.xml +6 -0
  4. data/.idea/material_theme_project_new.xml +0 -0
  5. data/.idea/modules.xml +0 -0
  6. data/.idea/vcs.xml +0 -0
  7. data/.idea/workspace.xml +189 -110
  8. data/.rubocop.sorbet.yml +0 -0
  9. data/.rubocop.yml +0 -0
  10. data/CHANGELOG.md +16 -0
  11. data/CODE_OF_CONDUCT.md +0 -0
  12. data/CONTRIBUTING.md +0 -0
  13. data/LICENSE.txt +0 -0
  14. data/Makefile +0 -0
  15. data/README.md +5 -0
  16. data/Rakefile +0 -0
  17. data/exe/greeenboii +0 -0
  18. data/ext/greeenboii/extconf.rb +0 -0
  19. data/ext/greeenboii/greeenboii.c +0 -0
  20. data/ext/greeenboii/greeenboii.h +0 -0
  21. data/greeenboii_todo.db +0 -0
  22. data/lib/greeenboii/version.rb +5 -5
  23. data/lib/greeenboii.rb +880 -235
  24. data/lib/libsql.rb +159 -0
  25. data/logs/turso_requests.log +54 -0
  26. data/logs/turso_responses.log +27 -0
  27. data/sig/greeenboii/options.rbs +0 -0
  28. data/sig/greeenboii/search.rbs +0 -0
  29. data/sig/greeenboii/todo_list.rbs +0 -0
  30. data/sig/greeenboii.rbs +0 -0
  31. data/sorbet/config +0 -0
  32. data/sorbet/rbi/annotations/.gitattributes +0 -0
  33. data/sorbet/rbi/annotations/minitest.rbi +0 -0
  34. data/sorbet/rbi/annotations/rainbow.rbi +0 -0
  35. data/sorbet/rbi/gems/.gitattributes +0 -0
  36. data/sorbet/rbi/gems/ast@2.4.2.rbi +0 -0
  37. data/sorbet/rbi/gems/benchmark@0.4.0.rbi +0 -0
  38. data/sorbet/rbi/gems/bigdecimal@3.1.9.rbi +0 -0
  39. data/sorbet/rbi/gems/cli-ui@2.3.0.rbi +0 -0
  40. data/sorbet/rbi/gems/console_table@0.3.1.rbi +0 -0
  41. data/sorbet/rbi/gems/csv@3.3.2.rbi +0 -0
  42. data/sorbet/rbi/gems/erubi@1.13.1.rbi +0 -0
  43. data/sorbet/rbi/gems/httparty@0.22.0.rbi +0 -0
  44. data/sorbet/rbi/gems/json@2.10.1.rbi +0 -0
  45. data/sorbet/rbi/gems/language_server-protocol@3.17.0.4.rbi +0 -0
  46. data/sorbet/rbi/gems/lint_roller@1.1.0.rbi +0 -0
  47. data/sorbet/rbi/gems/mini_mime@1.1.5.rbi +0 -0
  48. data/sorbet/rbi/gems/minitest@5.25.4.rbi +0 -0
  49. data/sorbet/rbi/gems/multi_xml@0.7.1.rbi +0 -0
  50. data/sorbet/rbi/gems/netrc@0.11.0.rbi +0 -0
  51. data/sorbet/rbi/gems/nokogiri@1.18.3.rbi +0 -0
  52. data/sorbet/rbi/gems/parallel@1.26.3.rbi +0 -0
  53. data/sorbet/rbi/gems/parser@3.3.7.1.rbi +0 -0
  54. data/sorbet/rbi/gems/prism@1.3.0.rbi +0 -0
  55. data/sorbet/rbi/gems/racc@1.8.1.rbi +0 -0
  56. data/sorbet/rbi/gems/rainbow@3.1.1.rbi +0 -0
  57. data/sorbet/rbi/gems/rake-compiler@1.2.9.rbi +0 -0
  58. data/sorbet/rbi/gems/rake@13.2.1.rbi +0 -0
  59. data/sorbet/rbi/gems/rbi@0.2.4.rbi +0 -0
  60. data/sorbet/rbi/gems/regexp_parser@2.10.0.rbi +0 -0
  61. data/sorbet/rbi/gems/rubocop-ast@1.38.0.rbi +0 -0
  62. data/sorbet/rbi/gems/rubocop@1.72.2.rbi +0 -0
  63. data/sorbet/rbi/gems/ruby-progressbar@1.13.0.rbi +0 -0
  64. data/sorbet/rbi/gems/spoom@1.5.4.rbi +0 -0
  65. data/sorbet/rbi/gems/sqlite3@2.6.0.rbi +0 -0
  66. data/sorbet/rbi/gems/tapioca@0.16.11.rbi +0 -0
  67. data/sorbet/rbi/gems/thor@1.3.2.rbi +0 -0
  68. data/sorbet/rbi/gems/unicode-display_width@3.1.4.rbi +0 -0
  69. data/sorbet/rbi/gems/unicode-emoji@4.0.4.rbi +0 -0
  70. data/sorbet/rbi/gems/yard-sorbet@0.9.0.rbi +0 -0
  71. data/sorbet/rbi/gems/yard@0.9.37.rbi +0 -0
  72. data/sorbet/tapioca/config.yml +0 -0
  73. data/sorbet/tapioca/require.rb +0 -0
  74. data/src/main.c +0 -0
  75. metadata +39 -9
  76. data/.idea/dataSources/28fe2501-d682-44de-9f2e-9ff4bf02ce84/storage_v2/_src_/schema/main.uQUzAA.meta +0 -2
  77. data/.idea/dataSources/28fe2501-d682-44de-9f2e-9ff4bf02ce84.xml +0 -1617
  78. data/.idea/dataSources.local.xml +0 -18
  79. data/.idea/dataSources.xml +0 -12
  80. 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
+ --------------------------------------------------------------------------------
File without changes
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
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.6
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-02-24 00:00:00.000000000 Z
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.2.0
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.6.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
@@ -1,2 +0,0 @@
1
- #n:main
2
- !<md> [0, 0, null, null, -2147483648, -2147483648]