From 8d138d452a750a22ddecb1786b6d68d7b90b1403 Mon Sep 17 00:00:00 2001 From: saint Date: Thu, 29 Aug 2024 23:06:06 +1000 Subject: [PATCH] Add goss-search.rb for searching things, initially topics --- goss-search.rb | 55 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 goss-search.rb diff --git a/goss-search.rb b/goss-search.rb new file mode 100644 index 0000000..eb6b070 --- /dev/null +++ b/goss-search.rb @@ -0,0 +1,55 @@ +# Federated Computer, Inc. +# David Sainty 2024 A.D. +# Gossamer Threads to Discourse -- Search By Topic Title +# v0.1 Initial + +require 'concurrent-ruby' +require File.expand_path("../../../../config/environment", __FILE__) + +class GossamerForumsSearch + def search_topic_by_title(search_string) + puts "Searching for topics with title containing: '#{search_string}'" + + # Search for topics with titles containing the search string + matching_topics = Topic.where('title LIKE ?', "%#{search_string}%") + + # Print information about each matching topic + matching_topics.each do |topic| + puts "----------------------------------------" + puts "ID: #{topic.id}" + puts "Title: #{topic.title}" + puts "Created At: #{topic.created_at}" + puts "Updated At: #{topic.updated_at}" + puts "Category ID: #{topic.category_id}" + puts "Views: #{topic.views}" + puts "Posts Count: #{topic.posts_count}" + puts "Last Posted At: #{topic.last_posted_at}" + puts "Bumped At: #{topic.bumped_at}" + puts "Last Post User ID: #{topic.last_post_user_id}" + puts "----------------------------------------" + end + + if matching_topics.empty? + puts "No topics found with title containing: '#{search_string}'" + end + end + + def perform_search + puts "Search beginning!" + search_topic_by_title("No father is more proud") + puts "Search complete!" + end +end + +# Main execution +if ARGV.length != 1 + puts "Usage: #{$0} SEARCH_STRING" + exit 1 +end + +search_string = ARGV[0] +# search_topic_by_title(search_string) + +# GossamerForumsSearch.new.perform_search +GossamerForumsSearch.new.search_topic_by_title(search_string) +