qodex-rails 0.1.11 → 0.1.12
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/README.md +1 -1
- data/lib/qodex/rails/version.rb +1 -1
- data/lib/qodex-rails/configuration.rb +3 -2
- data/lib/qodex-rails/middleware.rb +13 -4
- data/lib/qodex-rails/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a262b4d3d39e45f79225e099292a23a4ce9252e868417e5c8d8afa5cd241612d
|
4
|
+
data.tar.gz: 236f581a2dac8c015f7e8fe89345ed666c251d6a84bceaff03f4d762e8e4fb57
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c7601c3ee35b8553318cf90c13c04d893ef86aacda9cf1b87d5a3cd1b4933f67eca99484a455cd70c1cb9ccb343c0408e964a2e228c7f6f02d743d658915eca8
|
7
|
+
data.tar.gz: 878eb28294a829db2065d43e7d3c07f352d75ff5825607cf1e24b100fb4f9e22f59292f279114adfe287197a124ff659268fb5dcf61f7e116a8222599d645599
|
data/README.md
CHANGED
@@ -22,7 +22,7 @@ If bundler is not being used to manage dependencies, install the gem by executin
|
|
22
22
|
# Your configuration settings for qodex-rails in the staging environment
|
23
23
|
project_name = Rails.application.class.module_parent_name rescue 'qodex'
|
24
24
|
config.collection_name = "#{project_name}-#{Rails.env}" # Name of the collection where logs will be stored
|
25
|
-
config.
|
25
|
+
config.allowed_environments = ['staging', 'production'] # Default value is staging if not set. Add production to enable in production
|
26
26
|
config.api_key = 'Your API Key'
|
27
27
|
end
|
28
28
|
|
data/lib/qodex/rails/version.rb
CHANGED
@@ -1,11 +1,12 @@
|
|
1
1
|
module QodexRails
|
2
2
|
class Configuration
|
3
|
-
attr_accessor :collection_name, :api_key, :
|
3
|
+
attr_accessor :collection_name, :api_key, :allowed_environments, :frequency
|
4
4
|
|
5
5
|
def initialize
|
6
6
|
@collection_name = nil
|
7
7
|
@api_key = nil
|
8
|
-
@
|
8
|
+
@allowed_environments = ['staging']
|
9
|
+
@frequency = 'medium'
|
9
10
|
end
|
10
11
|
end
|
11
12
|
end
|
@@ -7,14 +7,14 @@ module QodexRails
|
|
7
7
|
def initialize(app)
|
8
8
|
@app = app
|
9
9
|
@mutex = Mutex.new # Mutex for thread-safe logging
|
10
|
+
@allowed_environments = QodexRails.configuration.allowed_environments || ['staging']
|
11
|
+
@frequency = QodexRails.configuration.frequency || 'low'
|
10
12
|
end
|
11
13
|
|
12
14
|
def call(env)
|
13
|
-
|
14
|
-
is_staging = Rails.env.staging?
|
15
|
-
enabled_in_production = Rails.env.production? && QodexRails.configuration.enabled_in_production
|
16
15
|
|
17
|
-
|
16
|
+
# Check if the current environment is allowed
|
17
|
+
return @app.call(env) unless @allowed_environments.include?(Rails.env)
|
18
18
|
|
19
19
|
# Exit early if collection_name or api_key are not configured
|
20
20
|
unless QodexRails.configuration.collection_name && QodexRails.configuration.api_key
|
@@ -22,6 +22,15 @@ module QodexRails
|
|
22
22
|
return @app.call(env)
|
23
23
|
end
|
24
24
|
|
25
|
+
# Decide whether to log based on frequency setting
|
26
|
+
random_number = rand(20) + 1
|
27
|
+
case @frequency
|
28
|
+
when 'low'
|
29
|
+
return @app.call(env) unless random_number == 1
|
30
|
+
when 'medium'
|
31
|
+
return @app.call(env) unless random_number <= 4
|
32
|
+
end
|
33
|
+
|
25
34
|
# Print the initializer keys to the output
|
26
35
|
# Rails.logger.info "QodexRails Initializer Keys: Collection Name: #{QodexRails.configuration.collection_name}, API Key: #{QodexRails.configuration.api_key}"
|
27
36
|
|
data/lib/qodex-rails/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: qodex-rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.12
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- sid
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-
|
11
|
+
date: 2023-11-02 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: Intercept your rails application to power Qodex.ai AI copilot.
|
14
14
|
email:
|