rails_console_pro 0.1.0
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 +7 -0
- data/.editorconfig +12 -0
- data/.rspec +4 -0
- data/.rspec_status +240 -0
- data/.rubocop.yml +26 -0
- data/CHANGELOG.md +24 -0
- data/CONTRIBUTING.md +76 -0
- data/LICENSE.txt +22 -0
- data/QUICK_START.md +112 -0
- data/README.md +124 -0
- data/Rakefile +13 -0
- data/config/database.yml +3 -0
- data/docs/ASSOCIATION_NAVIGATION.md +85 -0
- data/docs/EXPORT.md +95 -0
- data/docs/FORMATTING.md +86 -0
- data/docs/MODEL_STATISTICS.md +72 -0
- data/docs/OBJECT_DIFFING.md +87 -0
- data/docs/SCHEMA_INSPECTION.md +60 -0
- data/docs/SQL_EXPLAIN.md +70 -0
- data/lib/generators/rails_console_pro/install_generator.rb +16 -0
- data/lib/generators/rails_console_pro/templates/rails_console_pro.rb +44 -0
- data/lib/rails_console_pro/active_record_extensions.rb +113 -0
- data/lib/rails_console_pro/association_navigator.rb +273 -0
- data/lib/rails_console_pro/base_printer.rb +74 -0
- data/lib/rails_console_pro/color_helper.rb +36 -0
- data/lib/rails_console_pro/commands/base_command.rb +17 -0
- data/lib/rails_console_pro/commands/diff_command.rb +135 -0
- data/lib/rails_console_pro/commands/explain_command.rb +118 -0
- data/lib/rails_console_pro/commands/export_command.rb +16 -0
- data/lib/rails_console_pro/commands/schema_command.rb +20 -0
- data/lib/rails_console_pro/commands/stats_command.rb +93 -0
- data/lib/rails_console_pro/commands.rb +34 -0
- data/lib/rails_console_pro/configuration.rb +219 -0
- data/lib/rails_console_pro/diff_result.rb +56 -0
- data/lib/rails_console_pro/error_handler.rb +60 -0
- data/lib/rails_console_pro/explain_result.rb +47 -0
- data/lib/rails_console_pro/format_exporter.rb +403 -0
- data/lib/rails_console_pro/global_methods.rb +42 -0
- data/lib/rails_console_pro/initializer.rb +176 -0
- data/lib/rails_console_pro/model_validator.rb +219 -0
- data/lib/rails_console_pro/paginator.rb +204 -0
- data/lib/rails_console_pro/printers/active_record_printer.rb +30 -0
- data/lib/rails_console_pro/printers/collection_printer.rb +34 -0
- data/lib/rails_console_pro/printers/diff_printer.rb +97 -0
- data/lib/rails_console_pro/printers/explain_printer.rb +151 -0
- data/lib/rails_console_pro/printers/relation_printer.rb +25 -0
- data/lib/rails_console_pro/printers/schema_printer.rb +188 -0
- data/lib/rails_console_pro/printers/stats_printer.rb +129 -0
- data/lib/rails_console_pro/pry_commands.rb +241 -0
- data/lib/rails_console_pro/pry_integration.rb +9 -0
- data/lib/rails_console_pro/railtie.rb +29 -0
- data/lib/rails_console_pro/schema_inspector_result.rb +43 -0
- data/lib/rails_console_pro/serializers/active_record_serializer.rb +18 -0
- data/lib/rails_console_pro/serializers/array_serializer.rb +31 -0
- data/lib/rails_console_pro/serializers/base_serializer.rb +25 -0
- data/lib/rails_console_pro/serializers/diff_serializer.rb +24 -0
- data/lib/rails_console_pro/serializers/explain_serializer.rb +35 -0
- data/lib/rails_console_pro/serializers/relation_serializer.rb +25 -0
- data/lib/rails_console_pro/serializers/schema_serializer.rb +121 -0
- data/lib/rails_console_pro/serializers/stats_serializer.rb +24 -0
- data/lib/rails_console_pro/services/column_stats_calculator.rb +64 -0
- data/lib/rails_console_pro/services/index_analyzer.rb +110 -0
- data/lib/rails_console_pro/services/stats_calculator.rb +40 -0
- data/lib/rails_console_pro/services/table_size_calculator.rb +43 -0
- data/lib/rails_console_pro/stats_result.rb +66 -0
- data/lib/rails_console_pro/version.rb +6 -0
- data/lib/rails_console_pro.rb +14 -0
- data/lib/tasks/rails_console_pro.rake +10 -0
- data/rails_console_pro.gemspec +60 -0
- metadata +240 -0
checksums.yaml
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
---
|
|
2
|
+
SHA256:
|
|
3
|
+
metadata.gz: 25b06c72354531b78adcf1d9bb69603cbf9bb421d1c39b657dc53cda8439b121
|
|
4
|
+
data.tar.gz: c59152f9d427c3551593df5243f75817c3994ee3d2a25f890a4ed60a76ecd7bd
|
|
5
|
+
SHA512:
|
|
6
|
+
metadata.gz: 1c00cd583678bfcd5c4b38db9cf725232b87e860bc9c6618edc7e16219b51964183ea945947fb1f7be0026be3dffb8979c1c1040a092e6ba90ae970cf854aedb
|
|
7
|
+
data.tar.gz: 7299172eaf40a86cfba2049bef2248b92c79da0152cc4d26b0ae26e3a4fe2d4253f8cfbfd3b185d98a3eb3ae53d1fa8b67b2ce96b15dca32ea2ab7a3352243eb
|
data/.editorconfig
ADDED
data/.rspec
ADDED
data/.rspec_status
ADDED
|
@@ -0,0 +1,240 @@
|
|
|
1
|
+
example_id | status | run_time |
|
|
2
|
+
---------------------------------------------------------- | ------- | --------------- |
|
|
3
|
+
./spec/rails_console_pro/commands_spec.rb[1:1:1:1] | passed | 0.00461 seconds |
|
|
4
|
+
./spec/rails_console_pro/commands_spec.rb[1:1:1:2] | passed | 0.00025 seconds |
|
|
5
|
+
./spec/rails_console_pro/commands_spec.rb[1:1:2:1] | passed | 0.00029 seconds |
|
|
6
|
+
./spec/rails_console_pro/commands_spec.rb[1:1:2:2] | passed | 0.00022 seconds |
|
|
7
|
+
./spec/rails_console_pro/commands_spec.rb[1:1:2:3] | passed | 0.00024 seconds |
|
|
8
|
+
./spec/rails_console_pro/commands_spec.rb[1:1:3:1] | passed | 0.00032 seconds |
|
|
9
|
+
./spec/rails_console_pro/commands_spec.rb[1:1:4:1] | passed | 0.00028 seconds |
|
|
10
|
+
./spec/rails_console_pro/commands_spec.rb[1:2:1:1] | passed | 0.00098 seconds |
|
|
11
|
+
./spec/rails_console_pro/commands_spec.rb[1:2:1:2] | passed | 0.0008 seconds |
|
|
12
|
+
./spec/rails_console_pro/commands_spec.rb[1:2:1:3] | passed | 0.00118 seconds |
|
|
13
|
+
./spec/rails_console_pro/commands_spec.rb[1:2:1:4] | passed | 0.0008 seconds |
|
|
14
|
+
./spec/rails_console_pro/commands_spec.rb[1:2:1:5] | passed | 0.00079 seconds |
|
|
15
|
+
./spec/rails_console_pro/commands_spec.rb[1:2:1:6] | passed | 0.00078 seconds |
|
|
16
|
+
./spec/rails_console_pro/commands_spec.rb[1:2:2:1] | passed | 0.00022 seconds |
|
|
17
|
+
./spec/rails_console_pro/commands_spec.rb[1:2:2:2] | passed | 0.00029 seconds |
|
|
18
|
+
./spec/rails_console_pro/commands_spec.rb[1:2:3:1] | passed | 0.00034 seconds |
|
|
19
|
+
./spec/rails_console_pro/commands_spec.rb[1:2:4:1] | passed | 0.00042 seconds |
|
|
20
|
+
./spec/rails_console_pro/commands_spec.rb[1:3:1:1] | passed | 0.00028 seconds |
|
|
21
|
+
./spec/rails_console_pro/commands_spec.rb[1:3:1:2] | passed | 0.00087 seconds |
|
|
22
|
+
./spec/rails_console_pro/commands_spec.rb[1:3:1:3] | passed | 0.00023 seconds |
|
|
23
|
+
./spec/rails_console_pro/commands_spec.rb[1:3:1:4] | passed | 0.0002 seconds |
|
|
24
|
+
./spec/rails_console_pro/commands_spec.rb[1:3:2:1] | passed | 0.00023 seconds |
|
|
25
|
+
./spec/rails_console_pro/commands_spec.rb[1:3:2:2] | passed | 0.00054 seconds |
|
|
26
|
+
./spec/rails_console_pro/commands_spec.rb[1:3:2:3] | passed | 0.0002 seconds |
|
|
27
|
+
./spec/rails_console_pro/commands_spec.rb[1:3:2:4] | passed | 0.0002 seconds |
|
|
28
|
+
./spec/rails_console_pro/commands_spec.rb[1:3:2:5] | passed | 0.00022 seconds |
|
|
29
|
+
./spec/rails_console_pro/commands_spec.rb[1:3:3:1] | passed | 0.00019 seconds |
|
|
30
|
+
./spec/rails_console_pro/commands_spec.rb[1:3:4:1] | passed | 0.00044 seconds |
|
|
31
|
+
./spec/rails_console_pro/commands_spec.rb[1:3:5:1] | passed | 0.00051 seconds |
|
|
32
|
+
./spec/rails_console_pro/commands_spec.rb[1:4:1:1] | passed | 0.00047 seconds |
|
|
33
|
+
./spec/rails_console_pro/commands_spec.rb[1:4:1:2] | passed | 0.00108 seconds |
|
|
34
|
+
./spec/rails_console_pro/commands_spec.rb[1:4:1:3] | passed | 0.00044 seconds |
|
|
35
|
+
./spec/rails_console_pro/commands_spec.rb[1:4:1:4] | passed | 0.00044 seconds |
|
|
36
|
+
./spec/rails_console_pro/commands_spec.rb[1:4:1:5] | passed | 0.00044 seconds |
|
|
37
|
+
./spec/rails_console_pro/commands_spec.rb[1:4:1:6] | passed | 0.00052 seconds |
|
|
38
|
+
./spec/rails_console_pro/commands_spec.rb[1:4:2:1] | passed | 0.00048 seconds |
|
|
39
|
+
./spec/rails_console_pro/commands_spec.rb[1:4:2:2] | passed | 0.00045 seconds |
|
|
40
|
+
./spec/rails_console_pro/commands_spec.rb[1:4:3:1] | passed | 0.00023 seconds |
|
|
41
|
+
./spec/rails_console_pro/commands_spec.rb[1:4:3:2] | passed | 0.00025 seconds |
|
|
42
|
+
./spec/rails_console_pro/commands_spec.rb[1:4:4:1] | passed | 0.00028 seconds |
|
|
43
|
+
./spec/rails_console_pro/commands_spec.rb[1:4:4:2] | passed | 0.00029 seconds |
|
|
44
|
+
./spec/rails_console_pro/commands_spec.rb[1:5:1:1] | passed | 0.001 seconds |
|
|
45
|
+
./spec/rails_console_pro/commands_spec.rb[1:5:1:2] | passed | 0.00107 seconds |
|
|
46
|
+
./spec/rails_console_pro/commands_spec.rb[1:5:1:3] | passed | 0.00095 seconds |
|
|
47
|
+
./spec/rails_console_pro/commands_spec.rb[1:5:1:4] | passed | 0.00089 seconds |
|
|
48
|
+
./spec/rails_console_pro/commands_spec.rb[1:5:2:1] | passed | 0.0003 seconds |
|
|
49
|
+
./spec/rails_console_pro/commands_spec.rb[1:5:3:1] | passed | 0.00072 seconds |
|
|
50
|
+
./spec/rails_console_pro/configuration_spec.rb[1:1:1] | passed | 0.00025 seconds |
|
|
51
|
+
./spec/rails_console_pro/configuration_spec.rb[1:1:2] | passed | 0.00029 seconds |
|
|
52
|
+
./spec/rails_console_pro/configuration_spec.rb[1:1:3] | passed | 0.00024 seconds |
|
|
53
|
+
./spec/rails_console_pro/configuration_spec.rb[1:1:4] | passed | 0.00022 seconds |
|
|
54
|
+
./spec/rails_console_pro/configuration_spec.rb[1:1:5] | passed | 0.0002 seconds |
|
|
55
|
+
./spec/rails_console_pro/configuration_spec.rb[1:2:1] | passed | 0.00021 seconds |
|
|
56
|
+
./spec/rails_console_pro/configuration_spec.rb[1:2:2] | passed | 0.0002 seconds |
|
|
57
|
+
./spec/rails_console_pro/configuration_spec.rb[1:2:3] | passed | 0.00022 seconds |
|
|
58
|
+
./spec/rails_console_pro/configuration_spec.rb[1:3:1] | passed | 0.0002 seconds |
|
|
59
|
+
./spec/rails_console_pro/configuration_spec.rb[1:3:2] | passed | 0.00021 seconds |
|
|
60
|
+
./spec/rails_console_pro/configuration_spec.rb[1:4:1] | passed | 0.0002 seconds |
|
|
61
|
+
./spec/rails_console_pro/configuration_spec.rb[1:4:2] | passed | 0.0002 seconds |
|
|
62
|
+
./spec/rails_console_pro/configuration_spec.rb[1:5:1] | passed | 0.0002 seconds |
|
|
63
|
+
./spec/rails_console_pro/configuration_spec.rb[1:5:2] | passed | 0.0002 seconds |
|
|
64
|
+
./spec/rails_console_pro/configuration_spec.rb[1:6:1] | passed | 0.00019 seconds |
|
|
65
|
+
./spec/rails_console_pro/configuration_spec.rb[1:6:2] | passed | 0.0002 seconds |
|
|
66
|
+
./spec/rails_console_pro/configuration_spec.rb[1:7:1] | passed | 0.0002 seconds |
|
|
67
|
+
./spec/rails_console_pro/configuration_spec.rb[1:8:1] | passed | 0.00021 seconds |
|
|
68
|
+
./spec/rails_console_pro/configuration_spec.rb[1:8:2] | passed | 0.00018 seconds |
|
|
69
|
+
./spec/rails_console_pro/configuration_spec.rb[1:9:1] | passed | 0.0002 seconds |
|
|
70
|
+
./spec/rails_console_pro/configuration_spec.rb[1:10:1] | passed | 0.0002 seconds |
|
|
71
|
+
./spec/rails_console_pro/configuration_spec.rb[1:11:1] | passed | 0.00022 seconds |
|
|
72
|
+
./spec/rails_console_pro/configuration_spec.rb[1:12:1] | passed | 0.00019 seconds |
|
|
73
|
+
./spec/rails_console_pro/edge_cases_spec.rb[1:1:1:1] | passed | 0.00048 seconds |
|
|
74
|
+
./spec/rails_console_pro/edge_cases_spec.rb[1:1:2:1] | passed | 0.00029 seconds |
|
|
75
|
+
./spec/rails_console_pro/edge_cases_spec.rb[1:1:3:1] | passed | 0.00023 seconds |
|
|
76
|
+
./spec/rails_console_pro/edge_cases_spec.rb[1:2:1:1] | passed | 0.00078 seconds |
|
|
77
|
+
./spec/rails_console_pro/edge_cases_spec.rb[1:2:2:1] | passed | 0.00023 seconds |
|
|
78
|
+
./spec/rails_console_pro/edge_cases_spec.rb[1:2:2:2] | passed | 0.0002 seconds |
|
|
79
|
+
./spec/rails_console_pro/edge_cases_spec.rb[1:2:2:3] | passed | 0.00021 seconds |
|
|
80
|
+
./spec/rails_console_pro/edge_cases_spec.rb[1:2:3:1] | passed | 0.00044 seconds |
|
|
81
|
+
./spec/rails_console_pro/edge_cases_spec.rb[1:3:1:1] | passed | 0.00087 seconds |
|
|
82
|
+
./spec/rails_console_pro/edge_cases_spec.rb[1:3:2:1] | passed | 0.00844 seconds |
|
|
83
|
+
./spec/rails_console_pro/edge_cases_spec.rb[1:3:3:1] | passed | 0.00121 seconds |
|
|
84
|
+
./spec/rails_console_pro/edge_cases_spec.rb[1:4:1:1] | passed | 0.00103 seconds |
|
|
85
|
+
./spec/rails_console_pro/edge_cases_spec.rb[1:4:2:1] | passed | 0.00021 seconds |
|
|
86
|
+
./spec/rails_console_pro/edge_cases_spec.rb[1:4:3:1] | passed | 0.00021 seconds |
|
|
87
|
+
./spec/rails_console_pro/edge_cases_spec.rb[1:5:1] | passed | 0.00035 seconds |
|
|
88
|
+
./spec/rails_console_pro/edge_cases_spec.rb[1:5:2] | passed | 0.00197 seconds |
|
|
89
|
+
./spec/rails_console_pro/edge_cases_spec.rb[1:6:1:1] | passed | 0.00029 seconds |
|
|
90
|
+
./spec/rails_console_pro/edge_cases_spec.rb[1:6:1:2] | passed | 0.00041 seconds |
|
|
91
|
+
./spec/rails_console_pro/edge_cases_spec.rb[1:6:2:1] | passed | 0.00032 seconds |
|
|
92
|
+
./spec/rails_console_pro/edge_cases_spec.rb[1:6:2:2] | passed | 0.0005 seconds |
|
|
93
|
+
./spec/rails_console_pro/edge_cases_spec.rb[1:7:1] | passed | 0.0002 seconds |
|
|
94
|
+
./spec/rails_console_pro/edge_cases_spec.rb[1:7:2] | passed | 0.0002 seconds |
|
|
95
|
+
./spec/rails_console_pro/edge_cases_spec.rb[1:8:1] | passed | 0.00724 seconds |
|
|
96
|
+
./spec/rails_console_pro/edge_cases_spec.rb[1:8:2] | passed | 0.00031 seconds |
|
|
97
|
+
./spec/rails_console_pro/model_validator_spec.rb[1:1:1:1] | passed | 0.00023 seconds |
|
|
98
|
+
./spec/rails_console_pro/model_validator_spec.rb[1:1:1:2] | passed | 0.00022 seconds |
|
|
99
|
+
./spec/rails_console_pro/model_validator_spec.rb[1:1:2:1] | passed | 0.00022 seconds |
|
|
100
|
+
./spec/rails_console_pro/model_validator_spec.rb[1:1:2:2] | passed | 0.00023 seconds |
|
|
101
|
+
./spec/rails_console_pro/model_validator_spec.rb[1:1:2:3] | passed | 0.00021 seconds |
|
|
102
|
+
./spec/rails_console_pro/model_validator_spec.rb[1:1:2:4] | passed | 0.00021 seconds |
|
|
103
|
+
./spec/rails_console_pro/model_validator_spec.rb[1:2:1:1] | passed | 0.00021 seconds |
|
|
104
|
+
./spec/rails_console_pro/model_validator_spec.rb[1:2:1:2] | passed | 0.00036 seconds |
|
|
105
|
+
./spec/rails_console_pro/model_validator_spec.rb[1:2:2:1] | passed | 0.00041 seconds |
|
|
106
|
+
./spec/rails_console_pro/model_validator_spec.rb[1:2:3:1] | passed | 0.00021 seconds |
|
|
107
|
+
./spec/rails_console_pro/model_validator_spec.rb[1:3:1:1] | passed | 0.00025 seconds |
|
|
108
|
+
./spec/rails_console_pro/model_validator_spec.rb[1:3:2:1] | passed | 0.0002 seconds |
|
|
109
|
+
./spec/rails_console_pro/model_validator_spec.rb[1:3:3:1] | passed | 0.0002 seconds |
|
|
110
|
+
./spec/rails_console_pro/model_validator_spec.rb[1:4:1:1] | pending | 0.00038 seconds |
|
|
111
|
+
./spec/rails_console_pro/model_validator_spec.rb[1:4:2:1] | passed | 0.0003 seconds |
|
|
112
|
+
./spec/rails_console_pro/model_validator_spec.rb[1:4:3:1] | passed | 0.00027 seconds |
|
|
113
|
+
./spec/rails_console_pro/model_validator_spec.rb[1:5:1:1] | passed | 0.00023 seconds |
|
|
114
|
+
./spec/rails_console_pro/model_validator_spec.rb[1:5:1:2] | passed | 0.00029 seconds |
|
|
115
|
+
./spec/rails_console_pro/model_validator_spec.rb[1:5:2:1] | passed | 0.00028 seconds |
|
|
116
|
+
./spec/rails_console_pro/model_validator_spec.rb[1:5:3:1] | passed | 0.00021 seconds |
|
|
117
|
+
./spec/rails_console_pro/model_validator_spec.rb[1:5:4:1] | passed | 0.0003 seconds |
|
|
118
|
+
./spec/rails_console_pro/model_validator_spec.rb[1:6:1:1] | passed | 0.00036 seconds |
|
|
119
|
+
./spec/rails_console_pro/model_validator_spec.rb[1:6:2:1] | passed | 0.00022 seconds |
|
|
120
|
+
./spec/rails_console_pro/model_validator_spec.rb[1:6:3:1] | passed | 0.00032 seconds |
|
|
121
|
+
./spec/rails_console_pro/model_validator_spec.rb[1:7:1] | passed | 0.00047 seconds |
|
|
122
|
+
./spec/rails_console_pro/model_validator_spec.rb[1:7:2] | passed | 0.00044 seconds |
|
|
123
|
+
./spec/rails_console_pro/model_validator_spec.rb[1:8:1:1] | passed | 0.00023 seconds |
|
|
124
|
+
./spec/rails_console_pro/model_validator_spec.rb[1:8:2:1] | passed | 0.00021 seconds |
|
|
125
|
+
./spec/rails_console_pro/model_validator_spec.rb[1:8:3:1] | passed | 0.00049 seconds |
|
|
126
|
+
./spec/rails_console_pro/model_validator_spec.rb[1:9:1:1] | passed | 0.00027 seconds |
|
|
127
|
+
./spec/rails_console_pro/model_validator_spec.rb[1:9:2:1] | passed | 0.00022 seconds |
|
|
128
|
+
./spec/rails_console_pro/model_validator_spec.rb[1:10:1:1] | passed | 0.00025 seconds |
|
|
129
|
+
./spec/rails_console_pro/model_validator_spec.rb[1:10:2:1] | passed | 0.00025 seconds |
|
|
130
|
+
./spec/rails_console_pro/model_validator_spec.rb[1:10:3:1] | passed | 0.00024 seconds |
|
|
131
|
+
./spec/rails_console_pro/model_validator_spec.rb[1:11:1:1] | passed | 0.00025 seconds |
|
|
132
|
+
./spec/rails_console_pro/model_validator_spec.rb[1:11:2:1] | passed | 0.00024 seconds |
|
|
133
|
+
./spec/rails_console_pro/model_validator_spec.rb[1:12:1:1] | passed | 0.00034 seconds |
|
|
134
|
+
./spec/rails_console_pro/model_validator_spec.rb[1:12:2:1] | passed | 0.0003 seconds |
|
|
135
|
+
./spec/rails_console_pro/model_validator_spec.rb[1:13:1:1] | passed | 0.00095 seconds |
|
|
136
|
+
./spec/rails_console_pro/model_validator_spec.rb[1:13:2:1] | passed | 0.00029 seconds |
|
|
137
|
+
./spec/rails_console_pro/model_validator_spec.rb[1:14:1:1] | passed | 0.00026 seconds |
|
|
138
|
+
./spec/rails_console_pro/model_validator_spec.rb[1:14:2:1] | passed | 0.00028 seconds |
|
|
139
|
+
./spec/rails_console_pro/model_validator_spec.rb[1:15:1:1] | passed | 0.00021 seconds |
|
|
140
|
+
./spec/rails_console_pro/model_validator_spec.rb[1:15:1:2] | passed | 0.00037 seconds |
|
|
141
|
+
./spec/rails_console_pro/model_validator_spec.rb[1:15:2:1] | passed | 0.0002 seconds |
|
|
142
|
+
./spec/rails_console_pro/model_validator_spec.rb[1:16:1:1] | passed | 0.00022 seconds |
|
|
143
|
+
./spec/rails_console_pro/model_validator_spec.rb[1:16:2:1] | passed | 0.0002 seconds |
|
|
144
|
+
./spec/rails_console_pro/pagination_spec.rb[1:1:1:1] | passed | 0.00025 seconds |
|
|
145
|
+
./spec/rails_console_pro/pagination_spec.rb[1:1:1:2] | passed | 0.00022 seconds |
|
|
146
|
+
./spec/rails_console_pro/pagination_spec.rb[1:1:1:3] | passed | 0.00024 seconds |
|
|
147
|
+
./spec/rails_console_pro/pagination_spec.rb[1:1:2:1] | passed | 0.00052 seconds |
|
|
148
|
+
./spec/rails_console_pro/pagination_spec.rb[1:1:2:2] | passed | 0.00037 seconds |
|
|
149
|
+
./spec/rails_console_pro/pagination_spec.rb[1:1:2:3] | passed | 0.00034 seconds |
|
|
150
|
+
./spec/rails_console_pro/pagination_spec.rb[1:1:3:1] | passed | 0.00239 seconds |
|
|
151
|
+
./spec/rails_console_pro/pagination_spec.rb[1:1:3:2] | passed | 0.00024 seconds |
|
|
152
|
+
./spec/rails_console_pro/pagination_spec.rb[1:1:3:3] | passed | 0.00028 seconds |
|
|
153
|
+
./spec/rails_console_pro/pagination_spec.rb[1:1:4:1] | passed | 0.0003 seconds |
|
|
154
|
+
./spec/rails_console_pro/pagination_spec.rb[1:1:4:2] | passed | 0.00026 seconds |
|
|
155
|
+
./spec/rails_console_pro/pagination_spec.rb[1:1:4:3] | passed | 0.00027 seconds |
|
|
156
|
+
./spec/rails_console_pro/pagination_spec.rb[1:1:4:4] | passed | 0.00035 seconds |
|
|
157
|
+
./spec/rails_console_pro/pagination_spec.rb[1:1:4:5] | passed | 0.00028 seconds |
|
|
158
|
+
./spec/rails_console_pro/pagination_spec.rb[1:1:4:6] | passed | 0.00027 seconds |
|
|
159
|
+
./spec/rails_console_pro/pagination_spec.rb[1:1:5:1] | passed | 0.00022 seconds |
|
|
160
|
+
./spec/rails_console_pro/pagination_spec.rb[1:1:5:2] | passed | 0.00021 seconds |
|
|
161
|
+
./spec/rails_console_pro/pagination_spec.rb[1:1:5:3] | passed | 0.00021 seconds |
|
|
162
|
+
./spec/rails_console_pro/pagination_spec.rb[1:1:5:4] | passed | 0.00022 seconds |
|
|
163
|
+
./spec/rails_console_pro/pagination_spec.rb[1:1:5:5] | passed | 0.00028 seconds |
|
|
164
|
+
./spec/rails_console_pro/pagination_spec.rb[1:1:6:1] | passed | 0.0003 seconds |
|
|
165
|
+
./spec/rails_console_pro/pagination_spec.rb[1:1:6:2] | passed | 0.00022 seconds |
|
|
166
|
+
./spec/rails_console_pro/pagination_spec.rb[1:1:6:3] | passed | 0.00021 seconds |
|
|
167
|
+
./spec/rails_console_pro/pagination_spec.rb[1:2:1:1] | passed | 0.00088 seconds |
|
|
168
|
+
./spec/rails_console_pro/pagination_spec.rb[1:2:1:2] | passed | 0.00045 seconds |
|
|
169
|
+
./spec/rails_console_pro/pagination_spec.rb[1:2:1:3] | passed | 0.00029 seconds |
|
|
170
|
+
./spec/rails_console_pro/pagination_spec.rb[1:3:1:1] | passed | 0.00043 seconds |
|
|
171
|
+
./spec/rails_console_pro/pagination_spec.rb[1:3:1:2] | passed | 0.00041 seconds |
|
|
172
|
+
./spec/rails_console_pro/pagination_spec.rb[1:4:1] | passed | 0.00021 seconds |
|
|
173
|
+
./spec/rails_console_pro/pagination_spec.rb[1:4:2] | passed | 0.0002 seconds |
|
|
174
|
+
./spec/rails_console_pro/pagination_spec.rb[1:4:3] | passed | 0.00019 seconds |
|
|
175
|
+
./spec/rails_console_pro/printers_spec.rb[1:1:1:1] | passed | 0.00056 seconds |
|
|
176
|
+
./spec/rails_console_pro/printers_spec.rb[1:1:1:2] | passed | 0.00055 seconds |
|
|
177
|
+
./spec/rails_console_pro/printers_spec.rb[1:1:1:3] | passed | 0.00045 seconds |
|
|
178
|
+
./spec/rails_console_pro/printers_spec.rb[1:2:1:1] | passed | 0.00041 seconds |
|
|
179
|
+
./spec/rails_console_pro/printers_spec.rb[1:2:1:2] | passed | 0.00029 seconds |
|
|
180
|
+
./spec/rails_console_pro/printers_spec.rb[1:2:1:3] | passed | 0.00033 seconds |
|
|
181
|
+
./spec/rails_console_pro/printers_spec.rb[1:2:1:4] | passed | 0.00033 seconds |
|
|
182
|
+
./spec/rails_console_pro/printers_spec.rb[1:2:1:5] | passed | 0.0003 seconds |
|
|
183
|
+
./spec/rails_console_pro/printers_spec.rb[1:3:1:1] | passed | 0.00035 seconds |
|
|
184
|
+
./spec/rails_console_pro/printers_spec.rb[1:3:1:2] | passed | 0.0003 seconds |
|
|
185
|
+
./spec/rails_console_pro/printers_spec.rb[1:3:1:3] | passed | 0.0003 seconds |
|
|
186
|
+
./spec/rails_console_pro/printers_spec.rb[1:3:1:4] | passed | 0.00032 seconds |
|
|
187
|
+
./spec/rails_console_pro/printers_spec.rb[1:4:1:1] | passed | 0.00037 seconds |
|
|
188
|
+
./spec/rails_console_pro/printers_spec.rb[1:4:1:2] | passed | 0.00032 seconds |
|
|
189
|
+
./spec/rails_console_pro/printers_spec.rb[1:4:1:3] | passed | 0.0003 seconds |
|
|
190
|
+
./spec/rails_console_pro/printers_spec.rb[1:4:1:4] | passed | 0.00032 seconds |
|
|
191
|
+
./spec/rails_console_pro/printers_spec.rb[1:5:1:1] | passed | 0.00021 seconds |
|
|
192
|
+
./spec/rails_console_pro/printers_spec.rb[1:5:1:2] | passed | 0.00021 seconds |
|
|
193
|
+
./spec/rails_console_pro/printers_spec.rb[1:5:1:3] | passed | 0.00022 seconds |
|
|
194
|
+
./spec/rails_console_pro/printers_spec.rb[1:5:1:4] | passed | 0.0002 seconds |
|
|
195
|
+
./spec/rails_console_pro/printers_spec.rb[1:5:1:5] | passed | 0.00024 seconds |
|
|
196
|
+
./spec/rails_console_pro/printers_spec.rb[1:5:2:1] | passed | 0.00028 seconds |
|
|
197
|
+
./spec/rails_console_pro/printers_spec.rb[1:5:3:1] | passed | 0.00027 seconds |
|
|
198
|
+
./spec/rails_console_pro/printers_spec.rb[1:5:4:1] | passed | 0.00029 seconds |
|
|
199
|
+
./spec/rails_console_pro/result_objects_spec.rb[1:1:1:1] | passed | 0.00726 seconds |
|
|
200
|
+
./spec/rails_console_pro/result_objects_spec.rb[1:1:1:2] | passed | 0.00065 seconds |
|
|
201
|
+
./spec/rails_console_pro/result_objects_spec.rb[1:1:1:3] | passed | 0.00098 seconds |
|
|
202
|
+
./spec/rails_console_pro/result_objects_spec.rb[1:1:2:1] | passed | 0.0005 seconds |
|
|
203
|
+
./spec/rails_console_pro/result_objects_spec.rb[1:1:2:2] | passed | 0.00106 seconds |
|
|
204
|
+
./spec/rails_console_pro/result_objects_spec.rb[1:1:3:1] | passed | 0.00117 seconds |
|
|
205
|
+
./spec/rails_console_pro/result_objects_spec.rb[1:1:3:2] | passed | 0.00057 seconds |
|
|
206
|
+
./spec/rails_console_pro/result_objects_spec.rb[1:1:3:3] | passed | 0.00092 seconds |
|
|
207
|
+
./spec/rails_console_pro/result_objects_spec.rb[1:1:4:1] | passed | 0.00086 seconds |
|
|
208
|
+
./spec/rails_console_pro/result_objects_spec.rb[1:1:5:1] | passed | 0.00079 seconds |
|
|
209
|
+
./spec/rails_console_pro/result_objects_spec.rb[1:1:5:2] | passed | 0.00059 seconds |
|
|
210
|
+
./spec/rails_console_pro/result_objects_spec.rb[1:1:6:1] | passed | 0.00122 seconds |
|
|
211
|
+
./spec/rails_console_pro/result_objects_spec.rb[1:1:6:2] | passed | 0.00101 seconds |
|
|
212
|
+
./spec/rails_console_pro/result_objects_spec.rb[1:2:1:1] | passed | 0.00022 seconds |
|
|
213
|
+
./spec/rails_console_pro/result_objects_spec.rb[1:2:1:2] | passed | 0.00028 seconds |
|
|
214
|
+
./spec/rails_console_pro/result_objects_spec.rb[1:2:2:1] | passed | 0.00021 seconds |
|
|
215
|
+
./spec/rails_console_pro/result_objects_spec.rb[1:2:2:2] | passed | 0.00028 seconds |
|
|
216
|
+
./spec/rails_console_pro/result_objects_spec.rb[1:2:3:1] | passed | 0.0002 seconds |
|
|
217
|
+
./spec/rails_console_pro/result_objects_spec.rb[1:2:3:2] | passed | 0.0002 seconds |
|
|
218
|
+
./spec/rails_console_pro/result_objects_spec.rb[1:2:4:1] | passed | 0.0002 seconds |
|
|
219
|
+
./spec/rails_console_pro/result_objects_spec.rb[1:2:4:2] | passed | 0.00019 seconds |
|
|
220
|
+
./spec/rails_console_pro/result_objects_spec.rb[1:2:5:1] | passed | 0.00024 seconds |
|
|
221
|
+
./spec/rails_console_pro/result_objects_spec.rb[1:2:6:1] | passed | 0.00042 seconds |
|
|
222
|
+
./spec/rails_console_pro/result_objects_spec.rb[1:2:7:1] | passed | 0.00028 seconds |
|
|
223
|
+
./spec/rails_console_pro/result_objects_spec.rb[1:3:1:1] | passed | 0.00022 seconds |
|
|
224
|
+
./spec/rails_console_pro/result_objects_spec.rb[1:3:1:2] | passed | 0.00022 seconds |
|
|
225
|
+
./spec/rails_console_pro/result_objects_spec.rb[1:3:1:3] | passed | 0.0002 seconds |
|
|
226
|
+
./spec/rails_console_pro/result_objects_spec.rb[1:3:2:1] | passed | 0.0002 seconds |
|
|
227
|
+
./spec/rails_console_pro/result_objects_spec.rb[1:3:2:2] | passed | 0.0002 seconds |
|
|
228
|
+
./spec/rails_console_pro/result_objects_spec.rb[1:3:3:1] | passed | 0.00028 seconds |
|
|
229
|
+
./spec/rails_console_pro/result_objects_spec.rb[1:3:3:2] | passed | 0.0002 seconds |
|
|
230
|
+
./spec/rails_console_pro/result_objects_spec.rb[1:3:4:1] | passed | 0.0002 seconds |
|
|
231
|
+
./spec/rails_console_pro/result_objects_spec.rb[1:3:4:2] | passed | 0.00019 seconds |
|
|
232
|
+
./spec/rails_console_pro/result_objects_spec.rb[1:3:5:1] | passed | 0.00024 seconds |
|
|
233
|
+
./spec/rails_console_pro/result_objects_spec.rb[1:3:6:1] | passed | 0.00033 seconds |
|
|
234
|
+
./spec/rails_console_pro/result_objects_spec.rb[1:3:7:1] | passed | 0.00034 seconds |
|
|
235
|
+
./spec/rails_console_pro/result_objects_spec.rb[1:4:1:1] | passed | 0.0002 seconds |
|
|
236
|
+
./spec/rails_console_pro/result_objects_spec.rb[1:4:2:1] | passed | 0.00019 seconds |
|
|
237
|
+
./spec/rails_console_pro/result_objects_spec.rb[1:4:2:2] | passed | 0.00019 seconds |
|
|
238
|
+
./spec/rails_console_pro/result_objects_spec.rb[1:4:3:1] | passed | 0.0002 seconds |
|
|
239
|
+
./spec/rails_console_pro/result_objects_spec.rb[1:4:3:2] | passed | 0.00019 seconds |
|
|
240
|
+
./spec/rails_console_pro/result_objects_spec.rb[1:4:4:1] | passed | 0.00021 seconds |
|
data/.rubocop.yml
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
AllCops:
|
|
2
|
+
TargetRubyVersion: 3.0
|
|
3
|
+
NewCops: enable
|
|
4
|
+
Exclude:
|
|
5
|
+
- 'bin/**/*'
|
|
6
|
+
- 'db/**/*'
|
|
7
|
+
- 'config/**/*'
|
|
8
|
+
- 'script/**/*'
|
|
9
|
+
- 'vendor/**/*'
|
|
10
|
+
- 'spec/spec_helper.rb'
|
|
11
|
+
- 'spec/rails_helper.rb'
|
|
12
|
+
|
|
13
|
+
Style/Documentation:
|
|
14
|
+
Enabled: false
|
|
15
|
+
|
|
16
|
+
Style/FrozenStringLiteralComment:
|
|
17
|
+
Enabled: true
|
|
18
|
+
|
|
19
|
+
Metrics/BlockLength:
|
|
20
|
+
Exclude:
|
|
21
|
+
- 'spec/**/*'
|
|
22
|
+
- '*.gemspec'
|
|
23
|
+
|
|
24
|
+
Layout/LineLength:
|
|
25
|
+
Max: 120
|
|
26
|
+
|
data/CHANGELOG.md
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to this project will be documented in this file.
|
|
4
|
+
|
|
5
|
+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
|
+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
|
+
|
|
8
|
+
## [Unreleased]
|
|
9
|
+
|
|
10
|
+
## [0.1.0] - 2025-01-XX
|
|
11
|
+
|
|
12
|
+
### Added
|
|
13
|
+
- Initial release
|
|
14
|
+
- Schema inspection command
|
|
15
|
+
- SQL explain analysis
|
|
16
|
+
- Association navigator
|
|
17
|
+
- Model statistics
|
|
18
|
+
- Object diffing
|
|
19
|
+
- Export to JSON, YAML, and HTML
|
|
20
|
+
- Beautiful colored formatting
|
|
21
|
+
- Smart pagination
|
|
22
|
+
- Comprehensive configuration system
|
|
23
|
+
- Full test coverage
|
|
24
|
+
|
data/CONTRIBUTING.md
ADDED
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
# Contributing to Rails Console Pro
|
|
2
|
+
|
|
3
|
+
Thank you for your interest in contributing to Rails Console Pro!
|
|
4
|
+
|
|
5
|
+
## Development Setup
|
|
6
|
+
|
|
7
|
+
1. **Fork and clone the repository:**
|
|
8
|
+
```bash
|
|
9
|
+
git clone https://github.com/yourusername/rails_console_pro.git
|
|
10
|
+
cd rails_console_pro
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
2. **Install dependencies:**
|
|
14
|
+
```bash
|
|
15
|
+
bundle install
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
3. **Run tests:**
|
|
19
|
+
```bash
|
|
20
|
+
bundle exec rspec
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
4. **Build the gem:**
|
|
24
|
+
```bash
|
|
25
|
+
gem build rails_console_pro.gemspec
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
## Making Changes
|
|
29
|
+
|
|
30
|
+
1. Create a feature branch:
|
|
31
|
+
```bash
|
|
32
|
+
git checkout -b feature/my-feature
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
2. Make your changes and add tests
|
|
36
|
+
|
|
37
|
+
3. Ensure all tests pass:
|
|
38
|
+
```bash
|
|
39
|
+
bundle exec rspec
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
4. Run RuboCop:
|
|
43
|
+
```bash
|
|
44
|
+
bundle exec rubocop
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
5. Commit your changes:
|
|
48
|
+
```bash
|
|
49
|
+
git commit -m "Add feature: description"
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
6. Push and create a pull request
|
|
53
|
+
|
|
54
|
+
## Code Style
|
|
55
|
+
|
|
56
|
+
- Follow Ruby style guide
|
|
57
|
+
- Use RuboCop for linting
|
|
58
|
+
- Write tests for new features
|
|
59
|
+
- Update documentation as needed
|
|
60
|
+
|
|
61
|
+
## Testing
|
|
62
|
+
|
|
63
|
+
- Write tests for all new features
|
|
64
|
+
- Ensure edge cases are covered
|
|
65
|
+
- Maintain or improve test coverage
|
|
66
|
+
|
|
67
|
+
## Documentation
|
|
68
|
+
|
|
69
|
+
- Update README.md for user-facing changes
|
|
70
|
+
- Update CHANGELOG.md for all changes
|
|
71
|
+
- Add code comments for complex logic
|
|
72
|
+
|
|
73
|
+
## Questions?
|
|
74
|
+
|
|
75
|
+
Open an issue or start a discussion!
|
|
76
|
+
|
data/LICENSE.txt
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025 [Your Name]
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
22
|
+
|
data/QUICK_START.md
ADDED
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
# Rails Console Pro - Quick Start Guide
|
|
2
|
+
|
|
3
|
+
## Installation
|
|
4
|
+
|
|
5
|
+
1. **Add to Gemfile:**
|
|
6
|
+
```ruby
|
|
7
|
+
gem 'rails_console_pro'
|
|
8
|
+
```
|
|
9
|
+
|
|
10
|
+
2. **Install:**
|
|
11
|
+
```bash
|
|
12
|
+
bundle install
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
3. **Start Rails Console:**
|
|
16
|
+
```bash
|
|
17
|
+
rails console
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
That's it! The gem automatically loads and enhances your console.
|
|
21
|
+
|
|
22
|
+
## Quick Examples
|
|
23
|
+
|
|
24
|
+
### Schema Inspection
|
|
25
|
+
```ruby
|
|
26
|
+
schema User
|
|
27
|
+
```
|
|
28
|
+
[Learn more →](docs/SCHEMA_INSPECTION.md)
|
|
29
|
+
|
|
30
|
+
### SQL Explain
|
|
31
|
+
```ruby
|
|
32
|
+
explain User.where(active: true)
|
|
33
|
+
```
|
|
34
|
+
[Learn more →](docs/SQL_EXPLAIN.md)
|
|
35
|
+
|
|
36
|
+
### Model Statistics
|
|
37
|
+
```ruby
|
|
38
|
+
stats User
|
|
39
|
+
```
|
|
40
|
+
[Learn more →](docs/MODEL_STATISTICS.md)
|
|
41
|
+
|
|
42
|
+
### Association Navigation
|
|
43
|
+
```ruby
|
|
44
|
+
navigate User
|
|
45
|
+
```
|
|
46
|
+
[Learn more →](docs/ASSOCIATION_NAVIGATION.md)
|
|
47
|
+
|
|
48
|
+
### Object Diffing
|
|
49
|
+
```ruby
|
|
50
|
+
user1 = User.first
|
|
51
|
+
user2 = User.last
|
|
52
|
+
diff user1, user2
|
|
53
|
+
```
|
|
54
|
+
[Learn more →](docs/OBJECT_DIFFING.md)
|
|
55
|
+
|
|
56
|
+
### Export
|
|
57
|
+
```ruby
|
|
58
|
+
export schema(User) user_schema.json
|
|
59
|
+
```
|
|
60
|
+
[Learn more →](docs/EXPORT.md)
|
|
61
|
+
|
|
62
|
+
### Beautiful Formatting
|
|
63
|
+
```ruby
|
|
64
|
+
User.first # Automatically formatted with colors
|
|
65
|
+
```
|
|
66
|
+
[Learn more →](docs/FORMATTING.md)
|
|
67
|
+
|
|
68
|
+
## Configuration (Optional)
|
|
69
|
+
|
|
70
|
+
Create `config/initializers/rails_console_pro.rb`:
|
|
71
|
+
|
|
72
|
+
```ruby
|
|
73
|
+
RailsConsolePro.configure do |config|
|
|
74
|
+
# Color scheme
|
|
75
|
+
config.color_scheme = :dark # or :light
|
|
76
|
+
|
|
77
|
+
# Welcome message
|
|
78
|
+
config.show_welcome_message = true
|
|
79
|
+
|
|
80
|
+
# Pagination
|
|
81
|
+
config.pagination_enabled = true
|
|
82
|
+
config.pagination_threshold = 10
|
|
83
|
+
config.pagination_page_size = 5
|
|
84
|
+
end
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
Or use the generator:
|
|
88
|
+
```bash
|
|
89
|
+
rails generate rails_console_pro:install
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
## Requirements
|
|
93
|
+
|
|
94
|
+
- Ruby >= 3.0.0
|
|
95
|
+
- Rails >= 6.0
|
|
96
|
+
- Pry >= 0.14.0 (recommended)
|
|
97
|
+
|
|
98
|
+
## Documentation
|
|
99
|
+
|
|
100
|
+
- [Schema Inspection](docs/SCHEMA_INSPECTION.md)
|
|
101
|
+
- [SQL Explain](docs/SQL_EXPLAIN.md)
|
|
102
|
+
- [Model Statistics](docs/MODEL_STATISTICS.md)
|
|
103
|
+
- [Association Navigation](docs/ASSOCIATION_NAVIGATION.md)
|
|
104
|
+
- [Object Diffing](docs/OBJECT_DIFFING.md)
|
|
105
|
+
- [Export](docs/EXPORT.md)
|
|
106
|
+
- [Formatting](docs/FORMATTING.md)
|
|
107
|
+
|
|
108
|
+
## Need Help?
|
|
109
|
+
|
|
110
|
+
- Full documentation: See [README.md](README.md)
|
|
111
|
+
- Issues: https://github.com/yourusername/rails_console_pro/issues
|
|
112
|
+
|
data/README.md
ADDED
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
# Rails Console Pro
|
|
2
|
+
|
|
3
|
+
[](https://badge.fury.io/rb/rails_console_pro)
|
|
4
|
+
[](https://github.com/yourusername/rails_console_pro/actions)
|
|
5
|
+
|
|
6
|
+
**Enhanced Rails console with powerful debugging tools and beautiful formatting.**
|
|
7
|
+
|
|
8
|
+
Rails Console Pro transforms your Rails console into a powerful debugging environment with schema inspection, SQL analysis, association navigation, and beautiful colored output.
|
|
9
|
+
|
|
10
|
+
## ✨ Features
|
|
11
|
+
|
|
12
|
+
- 🎨 **Beautiful Formatting** - Colored, styled output for ActiveRecord objects, relations, and collections
|
|
13
|
+
- 📊 **Schema Inspection** - Inspect database schemas with columns, indexes, associations, validations, and scopes
|
|
14
|
+
- 🔍 **SQL Explain** - Analyze query execution plans with performance recommendations
|
|
15
|
+
- 🧭 **Association Navigator** - Interactive navigation through model associations
|
|
16
|
+
- 📈 **Model Statistics** - Record counts, growth rates, table sizes, and index usage
|
|
17
|
+
- 🔄 **Object Diffing** - Compare ActiveRecord objects and highlight differences
|
|
18
|
+
- 💾 **Export Capabilities** - Export to JSON, YAML, and HTML formats
|
|
19
|
+
- 📄 **Smart Pagination** - Automatic pagination for large collections
|
|
20
|
+
|
|
21
|
+
## 🚀 Installation
|
|
22
|
+
|
|
23
|
+
Add this line to your application's Gemfile:
|
|
24
|
+
|
|
25
|
+
```ruby
|
|
26
|
+
gem 'rails_console_pro'
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
And then execute:
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
$ bundle install
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
Or install it yourself as:
|
|
36
|
+
|
|
37
|
+
```bash
|
|
38
|
+
$ gem install rails_console_pro
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
## 📖 Usage
|
|
42
|
+
|
|
43
|
+
The gem automatically loads when you start your Rails console. No additional setup required!
|
|
44
|
+
|
|
45
|
+
### Quick Examples
|
|
46
|
+
|
|
47
|
+
```ruby
|
|
48
|
+
# Schema inspection
|
|
49
|
+
schema User
|
|
50
|
+
|
|
51
|
+
# SQL explain
|
|
52
|
+
explain User.where(active: true)
|
|
53
|
+
|
|
54
|
+
# Model statistics
|
|
55
|
+
stats User
|
|
56
|
+
|
|
57
|
+
# Association navigation
|
|
58
|
+
navigate User
|
|
59
|
+
|
|
60
|
+
# Object diffing
|
|
61
|
+
diff user1, user2
|
|
62
|
+
|
|
63
|
+
# Export
|
|
64
|
+
export schema(User) user_schema.json
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
See [QUICK_START.md](QUICK_START.md) for more examples and detailed documentation for each feature.
|
|
68
|
+
|
|
69
|
+
## ⚙️ Configuration
|
|
70
|
+
|
|
71
|
+
Configure Rails Console Pro in an initializer:
|
|
72
|
+
|
|
73
|
+
```ruby
|
|
74
|
+
# config/initializers/rails_console_pro.rb
|
|
75
|
+
RailsConsolePro.configure do |config|
|
|
76
|
+
# Enable/disable features
|
|
77
|
+
config.enabled = true
|
|
78
|
+
config.schema_command_enabled = true
|
|
79
|
+
config.explain_command_enabled = true
|
|
80
|
+
config.stats_command_enabled = true
|
|
81
|
+
|
|
82
|
+
# Color scheme
|
|
83
|
+
config.color_scheme = :dark # or :light
|
|
84
|
+
|
|
85
|
+
# Customize colors
|
|
86
|
+
config.set_color(:header, :bright_blue)
|
|
87
|
+
|
|
88
|
+
# Pagination
|
|
89
|
+
config.pagination_enabled = true
|
|
90
|
+
config.pagination_threshold = 10
|
|
91
|
+
config.pagination_page_size = 5
|
|
92
|
+
end
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
## 🎯 Requirements
|
|
96
|
+
|
|
97
|
+
- Ruby >= 3.0.0
|
|
98
|
+
- Rails >= 6.0
|
|
99
|
+
- Pry >= 0.14.0 (recommended)
|
|
100
|
+
|
|
101
|
+
## 📚 Documentation
|
|
102
|
+
|
|
103
|
+
- [Quick Start Guide](QUICK_START.md) - Get started in minutes
|
|
104
|
+
- [Schema Inspection](docs/SCHEMA_INSPECTION.md) - Inspect database schemas
|
|
105
|
+
- [SQL Explain](docs/SQL_EXPLAIN.md) - Analyze query performance
|
|
106
|
+
- [Model Statistics](docs/MODEL_STATISTICS.md) - Get model statistics
|
|
107
|
+
- [Association Navigation](docs/ASSOCIATION_NAVIGATION.md) - Navigate model associations
|
|
108
|
+
- [Object Diffing](docs/OBJECT_DIFFING.md) - Compare objects
|
|
109
|
+
- [Export](docs/EXPORT.md) - Export to JSON, YAML, HTML
|
|
110
|
+
- [Formatting](docs/FORMATTING.md) - Beautiful console output
|
|
111
|
+
|
|
112
|
+
## 🤝 Contributing
|
|
113
|
+
|
|
114
|
+
Bug reports and pull requests are welcome on GitHub at https://github.com/yourusername/rails_console_pro.
|
|
115
|
+
|
|
116
|
+
## 📝 License
|
|
117
|
+
|
|
118
|
+
The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
|
|
119
|
+
|
|
120
|
+
## 🙏 Acknowledgments
|
|
121
|
+
|
|
122
|
+
- Inspired by awesome_print, hirb, and other console enhancement gems
|
|
123
|
+
- Built with love for the Rails community
|
|
124
|
+
|