Sha256: 03c371da9d04eeb87e5b136e87342d6b0bac6d23f929c08af6580bb9c6567995

Contents?: true

Size: 1.46 KB

Versions: 8

Compression:

Stored size: 1.46 KB

Contents

require 'rubygems'
require 'bundler/setup'

require 'ruby-event'

module RubyApp

  module Elements

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

      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

8 entries across 8 versions & 1 rubygems

Version Path
RubyApp-0.2.7 lib/ruby_app/elements/base/base_page.rb
RubyApp-0.2.6 lib/ruby_app/elements/base/base_page.rb
RubyApp-0.2.5 lib/ruby_app/elements/base/base_page.rb
RubyApp-0.2.4 lib/ruby_app/elements/base/base_page.rb
RubyApp-0.2.3 lib/ruby_app/elements/base/base_page.rb
RubyApp-0.2.2 lib/ruby_app/elements/base/base_page.rb
RubyApp-0.2.1 lib/ruby_app/elements/base/base_page.rb
RubyApp-0.2.0 lib/ruby_app/elements/base/base_page.rb