Sha256: 0c62e0c67cc56dac7e1a010cdb3a60ea0da7f51e16f1471f0ad73d9db7112864

Contents?: true

Size: 934 Bytes

Versions: 44

Compression:

Stored size: 934 Bytes

Contents

require 'rubygems'
require 'bundler/setup'

require 'ruby-event'

module RubyApp

  module Elements
    require 'ruby_app/element'

    class Input < RubyApp::Element

      class ChangedEvent < RubyApp::Element::Event

        attr_reader :value

        def initialize(data)
          super(data)
          @value = data['value'].strip
          @value = @value.empty? ? nil : @value
        end

        def to_hash
          super.merge(:value => @value)
        end

      end

      template_path(:all, File.dirname(__FILE__))

      attr_accessor :value

      event :changed

      def initialize
        super
        @value = nil
      end

      protected

        def on_event(event)
          on_changed(event) if event.is_a?(RubyApp::Elements::Input::ChangedEvent)
          super(event)
        end

        def on_changed(event)
          @value = event.value
          changed(event)
        end

    end

  end

end

Version data entries

44 entries across 44 versions & 1 rubygems

Version Path
RubyApp-0.2.7 lib/ruby_app/elements/input.rb
RubyApp-0.2.6 lib/ruby_app/elements/input.rb
RubyApp-0.2.5 lib/ruby_app/elements/input.rb
RubyApp-0.2.4 lib/ruby_app/elements/input.rb
RubyApp-0.2.3 lib/ruby_app/elements/input.rb
RubyApp-0.2.2 lib/ruby_app/elements/input.rb
RubyApp-0.2.1 lib/ruby_app/elements/input.rb
RubyApp-0.2.0 lib/ruby_app/elements/input.rb
RubyApp-0.0.91 lib/ruby_app/elements/input.rb
RubyApp-0.0.90 lib/ruby_app/elements/input.rb
RubyApp-0.0.89 lib/ruby_app/elements/input.rb
RubyApp-0.0.88 lib/ruby_app/elements/input.rb
RubyApp-0.0.87 lib/ruby_app/elements/input.rb
RubyApp-0.0.86 lib/ruby_app/elements/input.rb
RubyApp-0.0.85 lib/ruby_app/elements/input.rb
RubyApp-0.0.84 lib/ruby_app/elements/input.rb
RubyApp-0.0.83 lib/ruby_app/elements/input.rb
RubyApp-0.0.82 lib/ruby_app/elements/input.rb
RubyApp-0.0.81 lib/ruby_app/elements/input.rb
RubyApp-0.0.80 lib/ruby_app/elements/input.rb