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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c8e7c8249409adc8de47a8555086b640d715b3efa3fb674a6c816330cfa92002
4
- data.tar.gz: e6cbd949bfe1859b150e00b14d310d549e68fa018bad5a12eefa6d14d7adb5fc
3
+ metadata.gz: a262b4d3d39e45f79225e099292a23a4ce9252e868417e5c8d8afa5cd241612d
4
+ data.tar.gz: 236f581a2dac8c015f7e8fe89345ed666c251d6a84bceaff03f4d762e8e4fb57
5
5
  SHA512:
6
- metadata.gz: ef9e17cbe5f8d6899c13b28221d673dc90597232501fcb37aa8d7a4c1e5c67706312d38af792618d9f6825803481ee8847b35b936c0e3b501e1c4feb8e40fb35
7
- data.tar.gz: bfd3cbfec0187b9cb6dcd457ec5fdf5733dfe641b2327600eae950c2a8e5da64ee8092417d1da52623bc60171302daa43505f320d00193c5d96b0222d71f9310
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.enabled_in_production = false # Set to true to enable in production
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
 
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Qodex
4
4
  module Rails
5
- VERSION = "0.1.11"
5
+ VERSION = "0.1.12"
6
6
  end
7
7
  end
@@ -1,11 +1,12 @@
1
1
  module QodexRails
2
2
  class Configuration
3
- attr_accessor :collection_name, :api_key, :enabled_in_production
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
- @enabled_in_production = false
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
- return @app.call(env) unless is_staging || enabled_in_production
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
 
@@ -1,3 +1,3 @@
1
1
  module QodexRails
2
- VERSION = "0.1.11"
2
+ VERSION = "0.1.12"
3
3
  end
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.11
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-10-11 00:00:00.000000000 Z
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: