Sha256: aefc024f9875de4de905ade580741070a9c0cf694c65a6fa91fe1cf60e2a3816

Contents?: true

Size: 1 KB

Versions: 17

Compression:

Stored size: 1 KB

Contents

# frozen_string_literal: true

require 'ehbrs_ruby_utils/bga/parsers/table'
require 'ehbrs_ruby_utils/bga/table'
require 'ehbrs_ruby_utils/bga/urls'
require 'eac_ruby_utils/core_ext'

module EhbrsRubyUtils
  module Bga
    class Session < ::SimpleDelegator
      class Table
        include ::EhbrsRubyUtils::Bga::Urls
        enable_method_class
        enable_simple_cache
        common_constructor :session, :table_id

        def result
          ::EhbrsRubyUtils::Bga::Table.new(
            fetch_data
          )
        end

        # @return [Addressable::URI]
        def url
          table_url(table_id)
        end

        private

        def fetch_data
          session.navigate.to url
          session.wait_for_element(xpath: parser_class.const_get('PLAYERS_XPATH'))
          { id: table_id }.merge(parser_class.from_content(session.current_source).data)
        end

        # @return [Class]
        def parser_class
          ::EhbrsRubyUtils::Bga::Parsers::Table
        end
      end
    end
  end
end

Version data entries

17 entries across 17 versions & 1 rubygems

Version Path
ehbrs_ruby_utils-0.44.3 lib/ehbrs_ruby_utils/bga/session/table.rb
ehbrs_ruby_utils-0.44.2 lib/ehbrs_ruby_utils/bga/session/table.rb
ehbrs_ruby_utils-0.44.1 lib/ehbrs_ruby_utils/bga/session/table.rb
ehbrs_ruby_utils-0.44.0 lib/ehbrs_ruby_utils/bga/session/table.rb
ehbrs_ruby_utils-0.41.1 lib/ehbrs_ruby_utils/bga/session/table.rb
ehbrs_ruby_utils-0.41.0 lib/ehbrs_ruby_utils/bga/session/table.rb
ehbrs_ruby_utils-0.40.0 lib/ehbrs_ruby_utils/bga/session/table.rb
ehbrs_ruby_utils-0.39.0 lib/ehbrs_ruby_utils/bga/session/table.rb
ehbrs_ruby_utils-0.38.0 lib/ehbrs_ruby_utils/bga/session/table.rb
ehbrs_ruby_utils-0.37.0 lib/ehbrs_ruby_utils/bga/session/table.rb
ehbrs_ruby_utils-0.36.1 lib/ehbrs_ruby_utils/bga/session/table.rb
ehbrs_ruby_utils-0.36.0 lib/ehbrs_ruby_utils/bga/session/table.rb
ehbrs_ruby_utils-0.35.0 lib/ehbrs_ruby_utils/bga/session/table.rb
ehbrs_ruby_utils-0.33.0 lib/ehbrs_ruby_utils/bga/session/table.rb
ehbrs_ruby_utils-0.32.0 lib/ehbrs_ruby_utils/bga/session/table.rb
ehbrs_ruby_utils-0.31.0 lib/ehbrs_ruby_utils/bga/session/table.rb
ehbrs_ruby_utils-0.30.0 lib/ehbrs_ruby_utils/bga/session/table.rb