class TkInspectRails::SqlPanel::Base

Attributes

main_component[RW]
tk_root[RW]

Public Class Methods

new() click to toggle source
# File lib/tk_inspect_rails/sql_panel/base.rb, line 7
def initialize
  @tk_root = nil
  @main_component = nil
end

Public Instance Methods

create_menu() click to toggle source

So far, we only register key accelerators. Menus are better inherited from main console

# File lib/tk_inspect_rails/sql_panel/base.rb, line 29
def create_menu
  @tk_root.tk_item.native_item.bind('Command-r', -> { main_component.execute_sql(nil) })
end
create_root() click to toggle source
# File lib/tk_inspect_rails/sql_panel/base.rb, line 16
def create_root
  @tk_root = TkComponent::Window.new(title: "SQL Panel")
  @main_component = RootComponent.new
  @main_component.sql_panel = self
  @tk_root.place_root_component(@main_component)
  create_menu
end
execute_sql(expression) click to toggle source
# File lib/tk_inspect_rails/sql_panel/base.rb, line 24
def execute_sql(expression)
  ActiveRecord::Base.connection.execute(expression)
end
refresh() click to toggle source
# File lib/tk_inspect_rails/sql_panel/base.rb, line 12
def refresh
  @main_component.nil? ? create_root : @main_component.regenerate
end