hypermicrodata 0.2.2 → 0.2.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
- SHA1:
3
- metadata.gz: fbc492deed225506585584389f75bb5a74f0d60d
4
- data.tar.gz: d364d4ced028fdb68eee32fa2e4d73cd970ac1f7
2
+ SHA256:
3
+ metadata.gz: 9f8490d80666b6ad3b760772dc6fc46034b1990bf212e889f67deb02f0a534cb
4
+ data.tar.gz: caa9197eee4c97493cba322dacdf77221dad591b1a375379922dafae3cec23b7
5
5
  SHA512:
6
- metadata.gz: 47420f303ab2b4920e2534dc02e68d8242b44377e790c9829416acb9c0d5cad5b7c0bd8102f69a1cbeb3b80a9bcb2987b29d665a89619f6e28a710079b28a0e4
7
- data.tar.gz: 8721fa4b9a5650e9bb016fbf93e7cc28179ca44b29a82550d28e73ce14e11845e8a92dfc6f7d34ce051c0014a560633b15f7f6c45a3d7bb35943f081ab75e332
6
+ metadata.gz: 612648eb98b1773e66235c686d4ffe7bc0c20a2e33d5db3bcbbe07f3038523db11655424cb493259601f7bec54a41919f3df15bde76c02abfc72a66eca679dd2
7
+ data.tar.gz: c07d77a715ba3193e1724250424de90d13eda753e2688deff24463eb853c3d16ef1b75f11715a728c19853cb259544a6eadf43787dc18786d712ac92d30c8394
@@ -26,4 +26,5 @@ Gem::Specification.new do |spec|
26
26
 
27
27
  spec.add_development_dependency "bundler", "~> 1.3"
28
28
  spec.add_development_dependency "rake"
29
+ spec.add_development_dependency "test-unit"
29
30
  end
@@ -92,13 +92,11 @@ module Hypermicrodata
92
92
  end
93
93
 
94
94
  def extract_property_value
95
- element = @element.name
96
- if non_textcontent_element?(element)
97
- attribute = NON_TEXTCONTENT_ELEMENTS[element]
98
- value = @element.attribute(attribute).value
99
- url_attribute?(attribute) ? make_absolute_url(value) : value
95
+ if non_textcontent_element?(@element.name)
96
+ extract_attribute
100
97
  else
101
- @element.inner_text.strip
98
+ attribute = @element.attribute('content')
99
+ attribute ? attribute.value.strip : @element.inner_text.strip
102
100
  end
103
101
  end
104
102
 
@@ -110,5 +108,12 @@ module Hypermicrodata
110
108
  end
111
109
  end
112
110
 
111
+ def extract_attribute
112
+ attribute_name = NON_TEXTCONTENT_ELEMENTS[@element.name]
113
+ attribute = @element.attribute('content') || @element.attribute(attribute_name)
114
+ value = attribute.nil? ? nil : attribute.value
115
+ url_attribute?(attribute) ? make_absolute_url(value) : value
116
+ end
117
+
113
118
  end
114
119
  end
@@ -1,3 +1,3 @@
1
1
  module Hypermicrodata
2
- VERSION = "0.2.2"
2
+ VERSION = "0.2.3"
3
3
  end
@@ -16,7 +16,8 @@
16
16
  <span itemprop="name">
17
17
  <a itemprop="url" href="http://www.lib.ncsu.edu">NCSU Libraries</a>
18
18
  </span>
19
- </span>.
19
+ </span>. Born in
20
+ <span itemprop="birthDate" content="1900-09-14T21:30">Sep 14</span>
20
21
  </span>
21
22
  </body>
22
- </html>
23
+ </html>
@@ -19,6 +19,7 @@ class TestParse < Test::Unit::TestCase
19
19
  assert_equal ["Jason Ronallo"], properties['name'].map(&:value)
20
20
  assert_equal ["http://twitter.com/ronallo"], properties['url'].map(&:value)
21
21
  assert_equal ["Associate Head of Digital Library Initiatives"], properties['jobTitle'].map(&:value)
22
+ assert_equal ["1900-09-14T21:30"], properties['birthDate'].map(&:value)
22
23
  end
23
24
 
24
25
  def test_nested_item
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hypermicrodata
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.2
4
+ version: 0.2.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jason Ronallo
@@ -9,104 +9,118 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2015-01-20 00:00:00.000000000 Z
12
+ date: 2018-10-15 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: nokogiri
16
16
  requirement: !ruby/object:Gem::Requirement
17
17
  requirements:
18
- - - '>='
18
+ - - ">="
19
19
  - !ruby/object:Gem::Version
20
20
  version: '0'
21
21
  type: :runtime
22
22
  prerelease: false
23
23
  version_requirements: !ruby/object:Gem::Requirement
24
24
  requirements:
25
- - - '>='
25
+ - - ">="
26
26
  - !ruby/object:Gem::Version
27
27
  version: '0'
28
28
  - !ruby/object:Gem::Dependency
29
29
  name: mechanize
30
30
  requirement: !ruby/object:Gem::Requirement
31
31
  requirements:
32
- - - '>='
32
+ - - ">="
33
33
  - !ruby/object:Gem::Version
34
34
  version: '0'
35
35
  type: :runtime
36
36
  prerelease: false
37
37
  version_requirements: !ruby/object:Gem::Requirement
38
38
  requirements:
39
- - - '>='
39
+ - - ">="
40
40
  - !ruby/object:Gem::Version
41
41
  version: '0'
42
42
  - !ruby/object:Gem::Dependency
43
43
  name: halibut
44
44
  requirement: !ruby/object:Gem::Requirement
45
45
  requirements:
46
- - - '>='
46
+ - - ">="
47
47
  - !ruby/object:Gem::Version
48
48
  version: '0'
49
49
  type: :runtime
50
50
  prerelease: false
51
51
  version_requirements: !ruby/object:Gem::Requirement
52
52
  requirements:
53
- - - '>='
53
+ - - ">="
54
54
  - !ruby/object:Gem::Version
55
55
  version: '0'
56
56
  - !ruby/object:Gem::Dependency
57
57
  name: multi_json
58
58
  requirement: !ruby/object:Gem::Requirement
59
59
  requirements:
60
- - - '>='
60
+ - - ">="
61
61
  - !ruby/object:Gem::Version
62
62
  version: '0'
63
63
  type: :runtime
64
64
  prerelease: false
65
65
  version_requirements: !ruby/object:Gem::Requirement
66
66
  requirements:
67
- - - '>='
67
+ - - ">="
68
68
  - !ruby/object:Gem::Version
69
69
  version: '0'
70
70
  - !ruby/object:Gem::Dependency
71
71
  name: addressable
72
72
  requirement: !ruby/object:Gem::Requirement
73
73
  requirements:
74
- - - '>='
74
+ - - ">="
75
75
  - !ruby/object:Gem::Version
76
76
  version: '0'
77
77
  type: :runtime
78
78
  prerelease: false
79
79
  version_requirements: !ruby/object:Gem::Requirement
80
80
  requirements:
81
- - - '>='
81
+ - - ">="
82
82
  - !ruby/object:Gem::Version
83
83
  version: '0'
84
84
  - !ruby/object:Gem::Dependency
85
85
  name: bundler
86
86
  requirement: !ruby/object:Gem::Requirement
87
87
  requirements:
88
- - - ~>
88
+ - - "~>"
89
89
  - !ruby/object:Gem::Version
90
90
  version: '1.3'
91
91
  type: :development
92
92
  prerelease: false
93
93
  version_requirements: !ruby/object:Gem::Requirement
94
94
  requirements:
95
- - - ~>
95
+ - - "~>"
96
96
  - !ruby/object:Gem::Version
97
97
  version: '1.3'
98
98
  - !ruby/object:Gem::Dependency
99
99
  name: rake
100
100
  requirement: !ruby/object:Gem::Requirement
101
101
  requirements:
102
- - - '>='
102
+ - - ">="
103
103
  - !ruby/object:Gem::Version
104
104
  version: '0'
105
105
  type: :development
106
106
  prerelease: false
107
107
  version_requirements: !ruby/object:Gem::Requirement
108
108
  requirements:
109
- - - '>='
109
+ - - ">="
110
+ - !ruby/object:Gem::Version
111
+ version: '0'
112
+ - !ruby/object:Gem::Dependency
113
+ name: test-unit
114
+ requirement: !ruby/object:Gem::Requirement
115
+ requirements:
116
+ - - ">="
117
+ - !ruby/object:Gem::Version
118
+ version: '0'
119
+ type: :development
120
+ prerelease: false
121
+ version_requirements: !ruby/object:Gem::Requirement
122
+ requirements:
123
+ - - ">="
110
124
  - !ruby/object:Gem::Version
111
125
  version: '0'
112
126
  description: HTML5 Microdata extractor with Hypermedia
@@ -118,8 +132,8 @@ executables:
118
132
  extensions: []
119
133
  extra_rdoc_files: []
120
134
  files:
121
- - .gitignore
122
- - .travis.yml
135
+ - ".gitignore"
136
+ - ".travis.yml"
123
137
  - Gemfile
124
138
  - LICENSE.txt
125
139
  - README.md
@@ -158,17 +172,17 @@ require_paths:
158
172
  - lib
159
173
  required_ruby_version: !ruby/object:Gem::Requirement
160
174
  requirements:
161
- - - '>='
175
+ - - ">="
162
176
  - !ruby/object:Gem::Version
163
177
  version: '0'
164
178
  required_rubygems_version: !ruby/object:Gem::Requirement
165
179
  requirements:
166
- - - '>='
180
+ - - ">="
167
181
  - !ruby/object:Gem::Version
168
182
  version: '0'
169
183
  requirements: []
170
184
  rubyforge_project:
171
- rubygems_version: 2.4.3
185
+ rubygems_version: 2.7.6
172
186
  signing_key:
173
187
  specification_version: 4
174
188
  summary: Ruby library for extracting HTML5 Microdata with Hypermedia