hyper_miner 0.0.2 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
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: []