From a5f808366ce7dbd1ea55802e5e788ed1ee8b0a06 Mon Sep 17 00:00:00 2001 From: Vanboom Date: Mon, 8 Jun 2020 15:19:51 -0500 Subject: [PATCH 1/3] fix #1 remove MySql specific code --- lib/ruby-scripts/fetch_schema.rb | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/lib/ruby-scripts/fetch_schema.rb b/lib/ruby-scripts/fetch_schema.rb index 9edf79e..c5750a3 100644 --- a/lib/ruby-scripts/fetch_schema.rb +++ b/lib/ruby-scripts/fetch_schema.rb @@ -35,17 +35,20 @@ def serialize_model_schema(model_class) end def serialize_model_columns(model_class) + begin sort_columns(model_class.columns).map do |column| { name: column.name, type: column.type, default: column.default, allowsNull: column.null, - limit: column.sql_type_metadata.limit, - precision: column.sql_type_metadata.precision, - scale: column.sql_type_metadata.scale + limit: column.limit, + precision: column.precision, + scale: column.scale } end + rescue + end end def model_path(model_class) From 80bef3463a1ba9aa95ae76b27d49d0e22680dd3e Mon Sep 17 00:00:00 2001 From: Vanboom Date: Fri, 12 Jun 2020 11:29:35 -0500 Subject: [PATCH 2/3] do not detect methods in concerns --- lib/ruby-scripts/fetch_schema.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/ruby-scripts/fetch_schema.rb b/lib/ruby-scripts/fetch_schema.rb index c5750a3..7292a89 100644 --- a/lib/ruby-scripts/fetch_schema.rb +++ b/lib/ruby-scripts/fetch_schema.rb @@ -71,7 +71,7 @@ def lookup_class_method_app_source(model_class) source_location = model_class.method(method_name).source_location next if source_location.nil? file_path, _line_number = source_location - return file_path if file_path.starts_with?(Rails.root.to_s) + return file_path if file_path.starts_with?(Rails.root.to_s) and !file_path.include?("concerns") end return nil end @@ -81,7 +81,7 @@ def lookup_instance_method_app_source(model_class) source_location = model_class.instance_method(method_name).source_location next if source_location.nil? file_path, _line_number = source_location - return file_path if file_path.starts_with?(Rails.root.to_s) + return file_path if file_path.starts_with?(Rails.root.to_s) and !file_path.include?("concerns") end return nil end From 89a732a6d5fea9759310018d9103c5cfc7b1407e Mon Sep 17 00:00:00 2001 From: Vanboom Date: Fri, 12 Jun 2020 11:52:25 -0500 Subject: [PATCH 3/3] sort the model columns for easier viewing --- lib/ruby-scripts/fetch_schema.rb | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/lib/ruby-scripts/fetch_schema.rb b/lib/ruby-scripts/fetch_schema.rb index 7292a89..5a5f2cc 100644 --- a/lib/ruby-scripts/fetch_schema.rb +++ b/lib/ruby-scripts/fetch_schema.rb @@ -90,8 +90,7 @@ def sort_columns(columns) first_column = columns.find { |column| column.name === "id" } last_columns = columns.find_all { |column| column.name.in?(TIMESTAMPS) } normal_columns = columns.reject { |column| column.name.in?(TIMESTAMPS + ["id"]) } - - ([first_column] + normal_columns + last_columns).compact + ([first_column] + normal_columns.sort_by(&:name) + last_columns).compact end end