16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
|
# File 'lib/generators/db_config/install/install_generator.rb', line 16
def show_usage
say ""
say "=" * 70
say "DB_CONFIG INSTALLATION COMPLETE", :green
say "=" * 70
say ""
say "Run the migration:"
say " rails db:migrate", :yellow
say ""
say "Usage examples:", :green
say ""
say " # Set different types of configuration values"
say " DBConfig.set(:homepage_cta, 'Click here now!')", :cyan
say " DBConfig.write(:max_users, 1000) # alias for set", :cyan
say " DBConfig.set(:maintenance_mode, false)", :cyan
say " DBConfig.set(:allowed_countries, ['US', 'CA', 'UK'])", :cyan
say " DBConfig.set(:api_config, { endpoint: 'api.com', timeout: 30 })", :cyan
say ""
say " # Get configuration values (returns original data type)"
say " DBConfig.get(:homepage_cta)", :cyan
say " # => 'Click here now!'"
say " DBConfig.read(:allowed_countries) # alias for get", :cyan
say " # => ['US', 'CA', 'UK']"
say ""
say " # Check if configuration exists"
say " DBConfig.exist?(:page_size)", :cyan
say " # => true or false"
say ""
say " # Fetch with block - stores block result if key doesn't exist"
say " page_size = DBConfig.fetch(:page_size) { 25 }", :cyan
say " debug_mode = DBConfig.fetch(:debug_mode) { false }", :cyan
say ""
say " # Use || operator for fallback values"
say " page_size = DBConfig.get(:page_size) || 25", :cyan
say " admin_emails = DBConfig.get(:admin_emails) || []", :cyan
say ""
say " # Enable/disable eager loading for a config"
say " DBConfig.eager_load(:homepage_cta, true)", :cyan
say ""
say " # Handle missing configs"
say " begin"
say " DBConfig.get(:missing_key)"
say " rescue DBConfig::NotFoundError => e"
say " puts e.message"
say " end", :cyan
say ""
say "Supported data types: String, Integer, Float, Boolean, Array, Hash", :green
say ""
say "=" * 70
end
|