Sha256: 6842329a3eea8e64694329314ccb288e832b14f48c5934022de92973425c53a3

Contents?: true

Size: 1016 Bytes

Versions: 3

Compression:

Stored size: 1016 Bytes

Contents

#coding: utf-8
require 'wombat/metadata'
require 'wombat/property'
require 'wombat/parser'
require 'active_support'
require 'date'

module Wombat
  module Crawler
    include Parser
    extend ActiveSupport::Concern

    module InstanceMethods
      def crawl
        parse self.class.send(:metadata)
      end

      def supports_city?
      end
    end

    module ClassMethods
      def method_missing method, *args, &block
        if args.empty? && block
          metadata["#{method.to_s}"] = PropertyContainer.new unless metadata["#{method.to_s}"]
          block.call(metadata["#{method.to_s}"])
        else
          metadata.send method, *args, &block
        end
      end

      def with_details_page
        yield metadata if block_given?
      end

      def for_each selector
        
      end

      def follow_links selector

      end

      def supported_cities
      end

      def to_ary
      end

      private
      def metadata
        @metadata ||= Metadata.new
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
wombat-0.1.5 lib/wombat/crawler.rb
wombat-0.1.4 lib/wombat/crawler.rb
wombat-0.1.3 lib/wombat/crawler.rb