Skip to content

Commit 6d92c67

Browse files
authored
Merge pull request #3 from seuros/fix-issue-2-cli-delegated-mysql
fix: resolve GitHub issue #2 CLI and provider errors
2 parents c32aa19 + a583373 commit 6d92c67

3 files changed

Lines changed: 13 additions & 7 deletions

File tree

lib/rails_lens/analyzers/delegated_types.rb

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,12 @@ def analyze
1717

1818
lines << "Type Column: #{delegated_type_info[:type_column]}"
1919
lines << "ID Column: #{delegated_type_info[:id_column]}"
20-
lines << "Types: #{delegated_type_info[:types].join(', ')}"
20+
types_list = if delegated_type_info[:types].respond_to?(:keys)
21+
delegated_type_info[:types].keys
22+
else
23+
Array(delegated_type_info[:types])
24+
end
25+
lines << "Types: #{types_list.join(', ')}"
2126

2227
lines.join("\n")
2328
end

lib/rails_lens/cli.rb

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ class CLI < Thor
1515

1616
desc 'annotate', 'Annotate Rails models with schema information'
1717
option :models, type: :array, desc: 'Specific models to annotate'
18+
option :include_abstract, type: :boolean, desc: 'Include abstract classes'
1819
option :position, type: :string, enum: %w[before after top bottom], desc: 'Annotation position'
1920
option :routes, type: :boolean, desc: 'Annotate controller routes'
2021
option :mailers, type: :boolean, desc: 'Annotate mailer methods'

lib/rails_lens/schema/adapters/mysql.rb

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@ def table_storage_engine
117117
rescue ActiveRecord::StatementInvalid => e
118118
Rails.logger.debug { "Failed to fetch storage engine for #{table_name}: #{e.message}" }
119119
nil
120-
rescue Mysql2::Error => e
120+
rescue => e
121121
Rails.logger.debug { "MySQL error fetching storage engine: #{e.message}" }
122122
nil
123123
end
@@ -137,7 +137,7 @@ def table_charset
137137
rescue ActiveRecord::StatementInvalid => e
138138
Rails.logger.debug { "Failed to fetch charset for #{table_name}: #{e.message}" }
139139
nil
140-
rescue Mysql2::Error => e
140+
rescue => e
141141
Rails.logger.debug { "MySQL error fetching charset: #{e.message}" }
142142
nil
143143
end
@@ -155,7 +155,7 @@ def table_collation
155155
rescue ActiveRecord::StatementInvalid => e
156156
Rails.logger.debug { "Failed to fetch collation for #{table_name}: #{e.message}" }
157157
nil
158-
rescue Mysql2::Error => e
158+
rescue => e
159159
Rails.logger.debug { "MySQL error fetching collation: #{e.message}" }
160160
nil
161161
end
@@ -202,7 +202,7 @@ def has_partitions?
202202
# Table doesn't exist or no permission to query information_schema
203203
Rails.logger.debug { "Failed to check partitions for #{table_name}: #{e.message}" }
204204
false
205-
rescue Mysql2::Error => e
205+
rescue => e
206206
# MySQL specific errors (connection issues, etc)
207207
Rails.logger.debug { "MySQL error checking partitions: #{e.message}" }
208208
false
@@ -231,7 +231,7 @@ def add_partitions(lines)
231231
rescue ActiveRecord::StatementInvalid => e
232232
# Permission denied or table doesn't exist
233233
Rails.logger.debug { "Failed to fetch partitions for #{table_name}: #{e.message}" }
234-
rescue Mysql2::Error => e
234+
rescue => e
235235
# MySQL specific errors
236236
Rails.logger.debug { "MySQL error fetching partitions: #{e.message}" }
237237
end
@@ -269,7 +269,7 @@ def add_partitions_toml(lines)
269269
rescue ActiveRecord::StatementInvalid => e
270270
# Permission denied or table doesn't exist
271271
Rails.logger.debug { "Failed to fetch partitions for #{table_name}: #{e.message}" }
272-
rescue Mysql2::Error => e
272+
rescue => e
273273
# MySQL specific errors
274274
Rails.logger.debug { "MySQL error fetching partitions: #{e.message}" }
275275
end

0 commit comments

Comments
 (0)