diff --git a/Basic-Usage-Example.md b/Basic-Usage-Example.md new file mode 100644 index 0000000..0baea2f --- /dev/null +++ b/Basic-Usage-Example.md @@ -0,0 +1,66 @@ +# Basic Usage Examples + +The DynamicCursesInput gem is designed to be easy to use. Here are some basic usage examples. + +## Example 1: Basic Input Capture + +This example shows how to capture user input using the DynamicCursesInput gem. + +```ruby +require "curses" +require "dynamic_curses_input" + +Curses.init_screen +Curses.start_color +Curses.init_pair(1, Curses::COLOR_WHITE, Curses::COLOR_BLUE) +Curses.stdscr.bkgd(Curses.color_pair(1)) +Curses.addstr("Enter your name: ") +name = DynamicCursesInput::InputHandler.catch_input(true) +Curses.addstr("\nYou entered: #{name}") +Curses.getch +Curses.close_screen +``` + +In this example, we initialize the curses screen, set the color, and then use the `catch_input` method from the `InputHandler` class to capture the user's input. The input is then displayed back to the user. + +## Example 2: Input Capture with Echo Disabled + +This example shows how to capture user input with echo disabled. + +```ruby +require "curses" +require "dynamic_curses_input" + +Curses.init_screen +Curses.start_color +Curses.init_pair(1, Curses::COLOR_WHITE, Curses::COLOR_BLUE) +Curses.stdscr.bkgd(Curses.color_pair(1)) +Curses.addstr("Enter your password: ") +password = DynamicCursesInput::InputHandler.catch_input(false) +Curses.addstr("\nYou entered: #{'*' * password.length}") +Curses.getch +Curses.close_screen +``` + +In this example, we use the `catch_input` method with echo disabled (by passing `false` as the argument). This is useful for capturing sensitive information like passwords. + +## Example 3: Using the Shorthand DCI + +This example shows how to use the shorthand `DCI` to call the `InputHandler` class. + +```ruby +require "curses" +require "dynamic_curses_input" + +Curses.init_screen +Curses.start_color +Curses.init_pair(1, Curses::COLOR_WHITE, Curses::COLOR_BLUE) +Curses.stdscr.bkgd(Curses.color_pair(1)) +Curses.addstr("Enter your name: ") +name = DCI.catch_input(true) +Curses.addstr("\nYou entered: #{name}") +Curses.getch +Curses.close_screen +``` + +In this example, we use `DCI.catch_input(true)` to capture the user's input. `DCI` is the shorthand for `DynamicCursesInput` that is included in the gem by default.