Sha256: c7d228554034d4a8edb62b5f3d4e41c8788825d194185d3693f4511da868c48c

Contents?: true

Size: 1.48 KB

Versions: 17

Compression:

Stored size: 1.48 KB

Contents

require 'rubygems'
require 'bundler/setup'

require 'ruby-event'

module RubyApp

  module Elements

    module Base
      require 'ruby_app/element'
      require 'ruby_app/language'
      require 'ruby_app/mixins/hash_mixin'

      class BasePage < RubyApp::Element
        include RubyApp::Mixins::HashMixin

        class LoadedEvent < RubyApp::Element::Event

          def initialize(data)
            super(data)
          end

        end

        class TriggeredEvent < RubyApp::Element::Event

          def initialize(data)
            super(data)
          end

        end

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

        attr_reader :data

        event :loaded
        event :triggered

        def initialize
          super
          @data = {}
        end

        def [](key)
          @data[key]
        end

        def []=(key, value)
          @data[key] = value
        end

        def interval
          return data[:interval]
        end

        def interval=(value)
          data[:interval] = value
        end

        protected

          def on_event(event)
            on_loaded(event) if event.is_a?(RubyApp::Elements::Base::BasePage::LoadedEvent)
            on_triggered(event) if event.is_a?(RubyApp::Elements::Base::BasePage::TriggeredEvent)
            super(event)
          end

          def on_loaded(event)
            loaded(event)
          end

          def on_triggered(event)
            triggered(event)
          end

      end

    end

  end

end

Version data entries

17 entries across 17 versions & 1 rubygems

Version Path
RubyApp-0.0.91 lib/ruby_app/elements/base/base_page.rb
RubyApp-0.0.90 lib/ruby_app/elements/base/base_page.rb
RubyApp-0.0.89 lib/ruby_app/elements/base/base_page.rb
RubyApp-0.0.88 lib/ruby_app/elements/base/base_page.rb
RubyApp-0.0.87 lib/ruby_app/elements/base/base_page.rb
RubyApp-0.0.86 lib/ruby_app/elements/base/base_page.rb
RubyApp-0.0.85 lib/ruby_app/elements/base/base_page.rb
RubyApp-0.0.84 lib/ruby_app/elements/base/base_page.rb
RubyApp-0.0.83 lib/ruby_app/elements/base/base_page.rb
RubyApp-0.0.82 lib/ruby_app/elements/base/base_page.rb
RubyApp-0.0.81 lib/ruby_app/elements/base/base_page.rb
RubyApp-0.0.80 lib/ruby_app/elements/base/base_page.rb
RubyApp-0.0.79 lib/ruby_app/elements/base/base_page.rb
RubyApp-0.0.78 lib/ruby_app/elements/base/base_page.rb
RubyApp-0.0.77 lib/ruby_app/elements/base/base_page.rb
RubyApp-0.0.76 lib/ruby_app/elements/base/base_page.rb
RubyApp-0.0.75 lib/ruby_app/elements/base/base_page.rb