hyper_miner 0.0.2 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/hyper_miner.rb +14 -18
  3. metadata +3 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: ab8448e0cd3fd6c95c261f187ed8cf64c0d158a1
4
- data.tar.gz: bf3c57869f034d07e7638f1786c0c93c1a764a24
3
+ metadata.gz: 81a7aad5a9626e326548bce79bf17587ed86b7bd
4
+ data.tar.gz: c019af5a5d61ea26edbf9e675eb0ed52eea47058
5
5
  SHA512:
6
- metadata.gz: 87579b478999e274a8ab1fd71e267df0fc0e4bb07e778700a67c631d2f85360a961b2f5b0ab9445f60b8fa24eca2b1258cd016ccba09fd185496fbba950fa28d
7
- data.tar.gz: 557e86e502b015c2fe0891a77274a2fcf5c4b7135901e56315d92bd0f2019b47670c0930dfd41245ccd1b761d4cdaa2a837743897f63a2c846de40d4aa6e1e96
6
+ metadata.gz: 1b8c9d9540755a485fb5addd3bfd2b355f059af4b757e66addbba894a740dd397d251457af6f2a04ce89a60abdfdfedcd178d44d71779fec2bd4d205da0afed1
7
+ data.tar.gz: e78acf331295e656fbf3047165babdb716c5d58c8fc23e90d85550c0ea4bd8ae11c84393e0a24304f751214ced1f074c0a14545b50273f6934edef732a4d6ca4
data/lib/hyper_miner.rb CHANGED
@@ -1,33 +1,29 @@
1
1
  require 'open-uri'
2
2
  require 'nokogiri'
3
- require 'yaml'
3
+
4
+ require 'mine_plan.rb'
4
5
 
5
6
  class HyperMiner
6
7
 
7
- def initialize(url, instructions)
8
- @url = url
9
- @instructions = YAML.load_file(instructions)
8
+ def initialize(resource_url)
9
+ @resource_url = resource_url
10
10
  end
11
11
 
12
- def mine
13
- html = open(@url).read
14
-
15
- parse(html)
16
- end
12
+ def mine(&block)
13
+ raise "Mine instructions must be provided." unless block_given?
17
14
 
18
- private
15
+ html = get_resource_html
19
16
 
20
- def parse(html)
21
- data = {}
17
+ mine_plan = MinePlan.new(html, &block)
18
+ mined_data = mine_plan.execute
22
19
 
23
- @instructions.each do |instruction|
24
- name = instruction[0]
25
- selector = instruction[1]['selector']
20
+ mined_data
21
+ end
26
22
 
27
- data[name] = Nokogiri::HTML(html).css(selector).map(&:text)
28
- end
23
+ private
29
24
 
30
- data
25
+ def get_resource_html
26
+ open(@resource_url).read
31
27
  end
32
28
 
33
29
  end
metadata CHANGED
@@ -1,16 +1,16 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hyper_miner
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Deyan Dobrinov
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-11-02 00:00:00.000000000 Z
11
+ date: 2014-11-03 00:00:00.000000000 Z
12
12
  dependencies: []
13
- description: Simple web data miner written in Ruby.
13
+ description: A simple web data mining library.
14
14
  email: deyan.dobrinov@gmail.com
15
15
  executables: []
16
16
  extensions: []