Sha256: 39a8bd7b0b9d121449c78002860a2233918b515458a3129d4da8d98dd4f1bd48

Contents?: true

Size: 972 Bytes

Versions: 10

Compression:

Stored size: 972 Bytes

Contents

module IRuby
  module Input
    # autoload so that erector is not a required
    # runtime dependency of IRuby
    autoload :Builder, 'iruby/input/autoload'

    def input prompt='Input'
      result = form{input label: prompt}
      result[:input] unless result.nil?
    end

    def password prompt='Password'
      result = form{password label: prompt}
      result[:password] unless result.nil?
    end

    def form &block
      builder = Builder.new(&block)
      form = InputForm.new(
        fields: builder.fields,
        buttons: builder.buttons
      )
      form.widget_display
      builder.process_result form.submit
    end

    def popup title='Input', &block
      builder = Builder.new(&block)
      form = InputForm.new fields: builder.fields
      popup = Popup.new(
        title: title,
        form: form,
        buttons: builder.buttons
      )
      popup.widget_display
      builder.process_result form.submit
    end
  end

  extend Input
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
iruby-0.8.1 lib/iruby/input.rb
iruby-0.8.0 lib/iruby/input.rb
iruby-0.7.4 lib/iruby/input.rb
iruby-0.7.3 lib/iruby/input.rb
iruby-0.7.2 lib/iruby/input.rb
iruby-0.7.1 lib/iruby/input.rb
iruby-0.7.0 lib/iruby/input.rb
iruby-0.6.1 lib/iruby/input.rb
iruby-0.6.0 lib/iruby/input.rb
iruby-0.5.0 lib/iruby/input.rb