digger 0.1.2 → 0.1.3

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.
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