Module: RailsConsolePro

Extended by:
RailsConsolePro
Included in:
RailsConsolePro
Defined in:
lib/rails_console_pro.rb,
lib/rails_console_pro/railtie.rb,
lib/rails_console_pro/version.rb,
lib/rails_console_pro/commands.rb,
lib/rails_console_pro/snippets.rb,
lib/rails_console_pro/paginator.rb,
lib/rails_console_pro/diff_result.rb,
lib/rails_console_pro/initializer.rb,
lib/rails_console_pro/base_printer.rb,
lib/rails_console_pro/color_helper.rb,
lib/rails_console_pro/stats_result.rb,
lib/rails_console_pro/configuration.rb,
lib/rails_console_pro/error_handler.rb,
lib/rails_console_pro/query_builder.rb,
lib/rails_console_pro/compare_result.rb,
lib/rails_console_pro/explain_result.rb,
lib/rails_console_pro/profile_result.rb,
lib/rails_console_pro/format_exporter.rb,
lib/rails_console_pro/model_validator.rb,
lib/rails_console_pro/snippets/snippet.rb,
lib/rails_console_pro/introspect_result.rb,
lib/rails_console_pro/query_builder_result.rb,
lib/rails_console_pro/association_navigator.rb,
lib/rails_console_pro/commands/base_command.rb,
lib/rails_console_pro/commands/diff_command.rb,
lib/rails_console_pro/commands/jobs_command.rb,
lib/rails_console_pro/printers/diff_printer.rb,
lib/rails_console_pro/queue_insights_result.rb,
lib/rails_console_pro/commands/stats_command.rb,
lib/rails_console_pro/printers/stats_printer.rb,
lib/rails_console_pro/snippets/single_result.rb,
lib/rails_console_pro/commands/export_command.rb,
lib/rails_console_pro/commands/schema_command.rb,
lib/rails_console_pro/printers/schema_printer.rb,
lib/rails_console_pro/schema_inspector_result.rb,
lib/rails_console_pro/services/index_analyzer.rb,
lib/rails_console_pro/active_record_extensions.rb,
lib/rails_console_pro/commands/compare_command.rb,
lib/rails_console_pro/commands/explain_command.rb,
lib/rails_console_pro/commands/profile_command.rb,
lib/rails_console_pro/printers/compare_printer.rb,
lib/rails_console_pro/printers/explain_printer.rb,
lib/rails_console_pro/printers/profile_printer.rb,
lib/rails_console_pro/printers/snippet_printer.rb,
lib/rails_console_pro/commands/snippets_command.rb,
lib/rails_console_pro/printers/relation_printer.rb,
lib/rails_console_pro/services/stats_calculator.rb,
lib/rails_console_pro/services/profile_collector.rb,
lib/rails_console_pro/snippets/collection_result.rb,
lib/rails_console_pro/commands/introspect_command.rb,
lib/rails_console_pro/printers/collection_printer.rb,
lib/rails_console_pro/printers/introspect_printer.rb,
lib/rails_console_pro/serializers/base_serializer.rb,
lib/rails_console_pro/serializers/diff_serializer.rb,
lib/rails_console_pro/services/snippet_repository.rb,
lib/generators/rails_console_pro/install_generator.rb,
lib/rails_console_pro/serializers/array_serializer.rb,
lib/rails_console_pro/serializers/stats_serializer.rb,
lib/rails_console_pro/serializers/schema_serializer.rb,
lib/rails_console_pro/services/queue_action_service.rb,
lib/rails_console_pro/commands/query_builder_command.rb,
lib/rails_console_pro/printers/active_record_printer.rb,
lib/rails_console_pro/printers/query_builder_printer.rb,
lib/rails_console_pro/serializers/compare_serializer.rb,
lib/rails_console_pro/serializers/explain_serializer.rb,
lib/rails_console_pro/serializers/profile_serializer.rb,
lib/rails_console_pro/services/queue_insight_fetcher.rb,
lib/rails_console_pro/services/table_size_calculator.rb,
lib/rails_console_pro/printers/queue_insights_printer.rb,
lib/rails_console_pro/serializers/relation_serializer.rb,
lib/rails_console_pro/services/column_stats_calculator.rb,
lib/rails_console_pro/services/introspection_collector.rb,
lib/rails_console_pro/serializers/introspect_serializer.rb,
lib/rails_console_pro/printers/snippet_collection_printer.rb,
lib/rails_console_pro/serializers/active_record_serializer.rb,
lib/rails_console_pro/serializers/query_builder_serializer.rb

Overview

Main entry point for Rails Console Pro

Defined Under Namespace

Modules: ActiveRecordExtensions, ArrayExtensions, ColorHelper, Commands, ErrorHandler, FormatExporter, Generators, ModelValidator, Printers, RelationExtensions, Serializers, Services, Snippets Classes: AssociationNavigator, BasePrinter, CompareResult, Configuration, DiffResult, Error, ExplainResult, IntrospectResult, Paginator, ProfileResult, QueryBuilder, QueryBuilderResult, QueueInsightsResult, Railtie, SchemaInspectorResult, StatsResult

Constant Summary collapse

VERSION =
"0.1.4"
PASTEL =

Singleton Pastel instance

Pastel.new(enabled: TTY::Color.color?)

Instance Method Summary collapse

Instance Method Details

#call(output, value, pry_instance = nil) ⇒ Object

Main dispatcher - optimized with early returns Supports both Pry (with pry_instance) and IRB (without pry_instance)



66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
# File 'lib/rails_console_pro/initializer.rb', line 66

def call(output, value, pry_instance = nil)
  unless config.enabled
    return default_print(output, value, pry_instance)
  end

  printer_class = printer_for(value)
  printer_class.new(output, value, pry_instance).print
rescue => e
  # Show error in development to help debug
  if Rails.env.development? || ENV['RAILS_CONSOLE_PRO_DEBUG']
    pastel = PASTEL
    output.puts pastel.red.bold("💥 RailsConsolePro Error: #{e.class}: #{e.message}")
    output.puts pastel.dim(e.backtrace.first(5).join("\n"))
  end
  handle_error(output, e, value, pry_instance)
end

#configObject

Configuration instance



16
17
18
# File 'lib/rails_console_pro/initializer.rb', line 16

def config
  @config ||= Configuration.new
end

#configure {|config| ... } ⇒ Object

Configuration DSL

Yields:



21
22
23
24
# File 'lib/rails_console_pro/initializer.rb', line 21

def configure
  yield config if block_given?
  config
end