Module: Charming

Defined in:
lib/charming.rb,
lib/charming/cli.rb,
lib/charming/focus.rb,
lib/charming/router.rb,
lib/charming/screen.rb,
lib/charming/runtime.rb,
lib/charming/version.rb,
lib/charming/response.rb,
lib/charming/controller.rb,
lib/charming/tasks/task.rb,
lib/charming/application.rb,
lib/charming/generators/base.rb,
lib/charming/generators/name.rb,
lib/charming/presentation/ui.rb,
lib/charming/events/key_event.rb,
lib/charming/generators/error.rb,
lib/charming/application_state.rb,
lib/charming/database_commands.rb,
lib/charming/events/task_event.rb,
lib/charming/presentation/view.rb,
lib/charming/database_installer.rb,
lib/charming/events/mouse_event.rb,
lib/charming/events/timer_event.rb,
lib/charming/events/resize_event.rb,
lib/charming/presentation/layout.rb,
lib/charming/presentation/markdown.rb,
lib/charming/presentation/ui/style.rb,
lib/charming/presentation/ui/theme.rb,
lib/charming/presentation/ui/width.rb,
lib/charming/tasks/inline_executor.rb,
lib/charming/presentation/component.rb,
lib/charming/presentation/templates.rb,
lib/charming/presentation/ui/border.rb,
lib/charming/tasks/threaded_executor.rb,
lib/charming/generators/app_generator.rb,
lib/charming/generators/view_generator.rb,
lib/charming/internal/terminal/adapter.rb,
lib/charming/generators/model_generator.rb,
lib/charming/presentation/template_view.rb,
lib/charming/generators/screen_generator.rb,
lib/charming/presentation/components/form.rb,
lib/charming/presentation/components/list.rb,
lib/charming/generators/app_file_generator.rb,
lib/charming/internal/terminal/tty_backend.rb,
lib/charming/presentation/components/modal.rb,
lib/charming/presentation/components/table.rb,
lib/charming/generators/component_generator.rb,
lib/charming/internal/renderer/differential.rb,
lib/charming/internal/renderer/full_repaint.rb,
lib/charming/presentation/markdown/renderer.rb,
lib/charming/generators/controller_generator.rb,
lib/charming/presentation/components/spinner.rb,
lib/charming/internal/terminal/memory_backend.rb,
lib/charming/presentation/components/markdown.rb,
lib/charming/presentation/components/viewport.rb,
lib/charming/presentation/components/form/note.rb,
lib/charming/presentation/components/text_area.rb,
lib/charming/presentation/components/form/field.rb,
lib/charming/presentation/components/form/input.rb,
lib/charming/presentation/components/text_input.rb,
lib/charming/presentation/templates/erb_handler.rb,
lib/charming/presentation/components/empty_state.rb,
lib/charming/presentation/components/form/select.rb,
lib/charming/presentation/components/progressbar.rb,
lib/charming/presentation/components/form/builder.rb,
lib/charming/presentation/components/form/confirm.rb,
lib/charming/presentation/components/form/textarea.rb,
lib/charming/generators/app_generator/view_template.rb,
lib/charming/presentation/components/command_palette.rb,
lib/charming/generators/app_generator/basic_templates.rb,
lib/charming/generators/app_generator/layout_template.rb,
lib/charming/generators/app_generator/state_templates.rb,
lib/charming/presentation/components/keyboard_handler.rb,
lib/charming/presentation/markdown/syntax_highlighter.rb,
lib/charming/presentation/components/activity_indicator.rb,
lib/charming/generators/app_generator/app_spec_templates.rb,
lib/charming/generators/app_generator/database_templates.rb,
lib/charming/generators/app_generator/component_templates.rb,
lib/charming/generators/app_generator/controller_template.rb,
lib/charming/generators/app_generator/screen_spec_templates.rb

Defined Under Namespace

Modules: Events, Generators, Internal, Presentation, Tasks Classes: Application, ApplicationState, CLI, Controller, DatabaseCommands, DatabaseInstaller, Error, Focus, Response, Router, Runtime, Screen

Constant Summary collapse

VERSION =
"0.1.1"

Class Method Summary collapse

Class Method Details

.key_of(event) ⇒ Object



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

def self.key_of(event)
  key = event.respond_to?(:key) ? event.key : event
  key.to_sym
end

.run(application, backend: nil) ⇒ Object



17
18
19
# File 'lib/charming.rb', line 17

def self.run(application, backend: nil)
  Runtime.new(application, backend: backend).run
end