Sha256: 57775e153dfe71a4c4939c65b0817a4db2c543e6af9599e26f907a6f71f0da7a

Contents?: true

Size: 701 Bytes

Versions: 20

Compression:

Stored size: 701 Bytes

Contents

module Ruco
  class Form
    delegate :move, :delete, :value, :selecting, :selection, :text_in_selection, :to => :text_field

    def initialize(label, options, &submit)
      @options = options
      @label = label.strip + ' '
      @submit = submit
      reset
    end

    def view
      @label + @text_field.view
    end

    def insert(text)
      @text_field.insert(text.gsub("\n",''))
      @submit.call(@text_field.value) if text.include?("\n")
    end

    def cursor
      Position.new 0, @label.size + @text_field.cursor.column
    end

    def reset
      @text_field = TextField.new(:columns => @options[:columns] - @label.size)
    end

    private

    attr_reader :text_field
  end
end

Version data entries

20 entries across 20 versions & 1 rubygems

Version Path
ruco-0.0.50 lib/ruco/form.rb
ruco-0.0.49 lib/ruco/form.rb
ruco-0.0.48 lib/ruco/form.rb
ruco-0.0.47 lib/ruco/form.rb
ruco-0.0.46 lib/ruco/form.rb
ruco-0.0.45 lib/ruco/form.rb
ruco-0.0.44 lib/ruco/form.rb
ruco-0.0.43 lib/ruco/form.rb
ruco-0.0.42 lib/ruco/form.rb
ruco-0.0.41 lib/ruco/form.rb
ruco-0.0.40 lib/ruco/form.rb
ruco-0.0.39 lib/ruco/form.rb
ruco-0.0.38 lib/ruco/form.rb
ruco-0.0.37 lib/ruco/form.rb
ruco-0.0.36 lib/ruco/form.rb
ruco-0.0.35 lib/ruco/form.rb
ruco-0.0.34 lib/ruco/form.rb
ruco-0.0.33 lib/ruco/form.rb
ruco-0.0.32 lib/ruco/form.rb
ruco-0.0.31 lib/ruco/form.rb