digger 0.1.2 → 0.1.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: ed6cbdd1efd570809d15e3fec518c6f4b2a7e2a0
4
- data.tar.gz: 5c59c6ab0243aca0c6f130a3073fc0433dfe8211
3
+ metadata.gz: 26deb68788670976da4b7edc2170236d35e695b5
4
+ data.tar.gz: 8e1c83697d912e8b401c4933c8d7e437024559c8
5
5
  SHA512:
6
- metadata.gz: d7c57067e3a91f488791968f1752ebf6f89aaab10200508d89d02cf7f19a4d6c6de8ebf29f826db6ae70cd345a604f65dd4c9264b1f1575ff2e81c64b572712b
7
- data.tar.gz: 870cf5d2a98d005a7140fe400c79afdef9c37eb29778fe9efb406061e47f85624645d180449001c3e4827b98080b41bc978d6cd2039f55e81a8565e8c0f36153
6
+ metadata.gz: 47d08104b079873296e1c94cdb6ecd384be7e02e38343eba91c25dbfa27be067bd62084d7347b4c9dd0662ea17cbbacfa3196c6f2bcbf2a18e4919996b613e91
7
+ data.tar.gz: b29784d26b7044e6201ad9322fa932d7226ac68bffc2bcf6f802dee98f79097ed88c2e0c4dbe0bc4e99fd5e4dc4c7bf0a6562d25687b616477973f90bd91f514
@@ -17,6 +17,15 @@ module Digger
17
17
  }
18
18
  end
19
19
 
20
+ def validate_presence(*keys)
21
+ keys_all = pattern_config.keys
22
+ raise "Pattern keys #{(keys - keys_all).join(', ')} should be present" unless keys.all?{|k| keys_all.include?(k) }
23
+ end
24
+
25
+ def validate_includeness(*keys)
26
+ raise "Pattern keys #{(pattern_config.keys - keys).join(', ')} should not be included" unless pattern_config.keys.all?{|k| keys.include?(k)}
27
+ end
28
+
20
29
  # index page
21
30
  def index_config
22
31
  @@digger_config['index'][self.name]
@@ -1,3 +1,3 @@
1
1
  module Digger
2
- VERSION = "0.1.2"
2
+ VERSION = "0.1.3"
3
3
  end
@@ -7,6 +7,9 @@ pattern = Digger::Pattern.new({type: 'css_many', value: '.sites>a>span' })
7
7
 
8
8
  class Item < Digger::Model
9
9
  css_many sites: '.sites>a>span'
10
+ css_one logo: '.logo'
11
+ validate_presence :sites
12
+ validate_includeness :sites, :logo
10
13
  end
11
14
 
12
15
  describe Digger do
@@ -24,6 +27,9 @@ describe Digger do
24
27
  expect(item[:sites].include?('读远')).to be(true)
25
28
  end
26
29
 
30
+ it "validation support" do
31
+ end
32
+
27
33
  it "index multiple threading" do
28
34
 
29
35
  end
@@ -0,0 +1,10 @@
1
+ require 'digger'
2
+
3
+ class Item < Digger::Model
4
+ # css_many sites: '.sites>a>span'
5
+ css_one logo: '.logo'
6
+ css_one title: '.title'
7
+
8
+ validate_presence :sites
9
+ validate_includeness :sites, :logo, :title
10
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: digger
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - binz
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-05-17 00:00:00.000000000 Z
11
+ date: 2015-05-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -87,6 +87,7 @@ files:
87
87
  - lib/digger/pattern.rb
88
88
  - lib/digger/version.rb
89
89
  - spec/digger_spec.rb
90
+ - spec/validate_spec.rb
90
91
  homepage: ''
91
92
  licenses:
92
93
  - MIT
@@ -113,3 +114,4 @@ specification_version: 4
113
114
  summary: Dig need stractual infomation from web page.
114
115
  test_files:
115
116
  - spec/digger_spec.rb
117
+ - spec/validate_spec.rb