Module: Txray::Catalog

Defined in:
lib/txray/catalog.rb

Constant Summary collapse

HTTP_NAMESPACES =
%w[
  Net::HTTP Net::HTTPS Net::SMTP Net::IMAP Net::POP3 Net::FTP Net::SSH Net::SFTP Net::Telnet
  Faraday HTTParty RestClient Excon Typhoeus HTTPX HTTPClient HTTP Curl Patron Mechanize Down
  Savon GraphQL::Client OpenURI Socket TCPSocket UDPSocket
].freeze
SERVICE_NAMESPACES =
%w[
  Stripe Braintree PayPal Recurly Chargebee Coinbase Plaid Adyen Square
  Aws AWS Azure Google GoogleDrive Firebase Cloudinary Imgix
  Twilio SendGrid Mailgun Postmark Mailchimp Customerio Intercom Zendesk Front
  Slack Discordrb Octokit Gitlab Shopify Salesforce Hubspot Airtable Notion
  Algolia Elasticsearch OpenSearch Meilisearch Typesense Searchkick Sunspot
  Geocoder Mapbox LaunchDarkly Fog Vonage Nexmo Resend Pay Auth0 Okta Clerk
  Pusher Ably Segment Mixpanel Amplitude Posthog
  OpenAI Anthropic Gemini Replicate Pinecone RubyLLM Ollama Langchain
  Onfido Persona Checkr Twitter Linkedin Zoom
].freeze
CACHE_NAMESPACES =
%w[Redis Dalli Memcached MemCache].freeze
SHELL_METHODS =
%i[system spawn exec fork popen popen2 popen3 capture2 capture2e capture3 pipeline].freeze
SHELL_NAMESPACES =
%w[Open3 Process Kernel IO PTY].freeze
MAIL_METHODS =
%i[deliver_now deliver_now!].freeze
SEARCH_METHODS =
%i[reindex reindex! geocode reverse_geocode].freeze
BROADCAST_METHODS =
%i[
  broadcast_to broadcast_replace_to broadcast_update_to broadcast_append_to broadcast_prepend_to
  broadcast_remove_to broadcast_before_to broadcast_after_to broadcast_action_to broadcast_render_to
  broadcast_refresh_to broadcast_replace broadcast_update broadcast_append broadcast_prepend
].freeze
DISPATCH_METHODS =
%i[send public_send __send__ try try!].freeze
CONSTRUCTOR_METHODS =
%i[new client connection build configure resource service session].freeze
ENQUEUE_METHODS =
%i[
  perform_later deliver_later deliver_later! perform_async perform_in perform_at
  enqueue enqueue_at broadcast_later broadcast_later_to
].freeze
ATTACHMENT_METHODS =
%i[attach purge purge_later analyze processed].freeze
ITERATOR_METHODS =
%i[
  each each_with_object each_with_index each_slice each_entry map flat_map
  find_each find_in_batches in_batches collect select filter reject sum times upto downto
].freeze
PERSISTENCE_METHODS =
%i[
  save save! update update! update_attribute update_column update_columns
  create create! destroy destroy! delete touch increment! decrement! toggle!
  insert insert! insert_all insert_all! upsert upsert_all
  find find_by find_by! where pluck exists? reload lock! first last count
].freeze
MEDIA_NAMESPACES =
%w[
  CSV Tempfile Zip Rubyzip Prawn WickedPdf Grover Ferrum Roo Axlsx Caxlsx Spreadsheet
  MiniMagick ImageProcessing Vips Magick RMagick FFMPEG Streamio Shrine
].freeze
FILE_NAMESPACES =
%w[File IO Pathname FileUtils].freeze
FILE_METHODS =
%i[read write open binread binwrite readlines foreach copy_stream cp mv rm_rf].freeze
CALLBACKS =
%i[
  before_commit
  before_validation after_validation
  before_save around_save after_save
  before_create around_create after_create
  before_update around_update after_update
  before_destroy around_destroy after_destroy
  after_touch
].freeze
MIGRATION_METHODS =
%i[change up down].freeze

Class Method Summary collapse

Class Method Details

.namespaced?(constant, namespaces) ⇒ Boolean

Returns:

  • (Boolean)


83
84
85
86
87
# File 'lib/txray/catalog.rb', line 83

def namespaced?(constant, namespaces)
  return false if constant.nil?

  namespaces.any? { |namespace| constant == namespace || constant.start_with?("#{namespace}::") }
end