meta_information 1.0.2 → 1.0.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: f65e782ac7eaa37bbdf77b9b44ae5424ed3172b2
4
- data.tar.gz: a51c2c644b512bebdc08d7bf268f2e7fefd22f18
3
+ metadata.gz: 4b5bf1a3b6fb3556b421442c3c44c31254346237
4
+ data.tar.gz: 70c4c218d1e0392fa3a91f24bc645fc86dc81fbf
5
5
  SHA512:
6
- metadata.gz: 7a8e67c5268d725856ea3e2c001b022892b0d2b2ca557b175a94e95920b7e0833b9d28c967b19b2e91318378973c1644fdb5153c35536471baa69e3ae6f42b26
7
- data.tar.gz: 2057cf51280e5d455370a188b7a98bb6652d0c9452d67ea75095ec3f17fdbe198a35c2fb18c88cb9ae388bdcad4f9e3fd5bea2b5c67663898cd8552f362a3dad
6
+ metadata.gz: 1e3df2df309dc7ce8f22ef7cb628d7eee89019ad77a767c146abd769cea662deccf53ab7ce2d333f0bc1a035516bc8bf29c249e881ef79bb773218b8d3478f94
7
+ data.tar.gz: 9074069607699feb799ec04861ea08a7d857a2490d973162a78ca6f804bc506d084bd9b1d4e2c127ab926aab72caeb5e00fe7cc876191763d444cd8b58cc40f3
data/.rspec ADDED
@@ -0,0 +1 @@
1
+ --color
@@ -28,7 +28,8 @@ module MetaInformation
28
28
  type: node_type(node),
29
29
  name: node['name'],
30
30
  property: node['property'],
31
- content: node['content']
31
+ content: node['content'],
32
+ itemprop: node['itemprop']
32
33
  )
33
34
  end
34
35
  array
@@ -39,6 +40,8 @@ module MetaInformation
39
40
  'name'
40
41
  elsif !node['property'].nil?
41
42
  'property'
43
+ elsif !node['itemprop'].nil?
44
+ 'itemprop'
42
45
  else
43
46
  ''
44
47
  end
@@ -1,3 +1,3 @@
1
1
  module MetaInformation
2
- VERSION = '1.0.2'
3
- end
2
+ VERSION = '1.0.3'
3
+ end
@@ -4,9 +4,9 @@ require "meta_information/version"
4
4
  Gem::Specification.new do |s|
5
5
  s.name = 'meta_information'
6
6
  s.version = MetaInformation::VERSION
7
- s.date = '2017-02-26'
7
+ s.date = '2017-07-31'
8
8
  s.summary = 'MetaInformation - Simple gem for parsing meta information'
9
- s.description = 'Simple gem for parsing meta information from websites. It scan all meta-tags by name or property attributes.'
9
+ s.description = 'Simple gem for parsing meta information from websites. It scan all meta-tags by name, itemprop or property attributes.'
10
10
  s.author = 'Vladislav Kopylov'
11
11
  s.email = 'kopylov.vlad@gmail.com'
12
12
  s.files = `git ls-files`.split("\n")
@@ -14,4 +14,4 @@ Gem::Specification.new do |s|
14
14
  s.license = 'MIT'
15
15
 
16
16
  s.add_dependency('nokogiri', '~> 1.7', '>= 1.7.0')
17
- end
17
+ end
data/spec/config.rb ADDED
@@ -0,0 +1,4 @@
1
+ RSpec.configure do |rspec|
2
+ rspec.shared_context_metadata_behavior = :apply_to_host_groups
3
+ rspec.include_context 'shared stuff', include_shared: true
4
+ end
@@ -147,6 +147,14 @@ RSpec.describe 'MetaInformation' do
147
147
  expect(MetaInformation.send(:node_type, node)).to eq('property')
148
148
  end
149
149
 
150
+ it 'must return property' do
151
+ document = Nokogiri::HTML(
152
+ '<meta itemprop="description" content="description" />'
153
+ )
154
+ node = document.css('meta').first
155
+ expect(MetaInformation.send(:node_type, node)).to eq('itemprop')
156
+ end
157
+
150
158
  it 'must return empty string' do
151
159
  document = Nokogiri::HTML('<meta content="og_title" />')
152
160
  node = document.css('meta').first
@@ -0,0 +1,88 @@
1
+ RSpec.shared_context 'shared stuff', shared_context: :metadata do
2
+ let(:default_html) do
3
+ '
4
+ <html>
5
+ <meta name="description" content="" />
6
+ <meta name="title" content="some title" />
7
+ <meta property="author" content="Bob" />
8
+ <meta property="og:title" content="og_title" />
9
+ <meta property="twitter:image" content="http://some_host.com/some_path" />
10
+ <meta property="og:locale" content="ru_RU" />
11
+ <meta property="al:ios:app_store_id" content="12345678900" />
12
+ <meta itemprop="name" content="site name"/>
13
+ <meta itemprop="description" content="site description"/>
14
+ <body>
15
+ <h1>Mr. Belvedere Fan Club</h1>
16
+ </body>
17
+ </html>
18
+ '
19
+ end
20
+
21
+ let(:default_html_meta_array) do
22
+ [
23
+ {
24
+ type: 'name',
25
+ name: 'description',
26
+ property: nil,
27
+ itemprop: nil,
28
+ content: ''
29
+ },
30
+ {
31
+ type: 'name',
32
+ name: 'title',
33
+ property: nil,
34
+ itemprop: nil,
35
+ content: 'some title'
36
+ },
37
+ {
38
+ type: 'property',
39
+ name: nil,
40
+ property: 'author',
41
+ itemprop: nil,
42
+ content: 'Bob'
43
+ },
44
+ {
45
+ type: 'property',
46
+ name: nil,
47
+ property: 'og:title',
48
+ itemprop: nil,
49
+ content: 'og_title'
50
+ },
51
+ {
52
+ type: 'property',
53
+ name: nil,
54
+ property: 'twitter:image',
55
+ itemprop: nil,
56
+ content: 'http://some_host.com/some_path'
57
+ },
58
+ {
59
+ type: 'property',
60
+ name: nil,
61
+ property: 'og:locale',
62
+ itemprop: nil,
63
+ content: 'ru_RU'
64
+ },
65
+ {
66
+ type: 'property',
67
+ name: nil,
68
+ property: 'al:ios:app_store_id',
69
+ itemprop: nil,
70
+ content: '12345678900'
71
+ },
72
+ {
73
+ type: 'itemprop',
74
+ name: nil,
75
+ property: nil,
76
+ itemprop: 'name',
77
+ content: 'site name'
78
+ },
79
+ {
80
+ type: 'itemprop',
81
+ name: nil,
82
+ property: nil,
83
+ itemprop: 'description',
84
+ content: 'site description'
85
+ }
86
+ ]
87
+ end
88
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: meta_information
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.2
4
+ version: 1.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Vladislav Kopylov
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-02-26 00:00:00.000000000 Z
11
+ date: 2017-07-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: nokogiri
@@ -31,13 +31,14 @@ dependencies:
31
31
  - !ruby/object:Gem::Version
32
32
  version: 1.7.0
33
33
  description: Simple gem for parsing meta information from websites. It scan all meta-tags
34
- by name or property attributes.
34
+ by name, itemprop or property attributes.
35
35
  email: kopylov.vlad@gmail.com
36
36
  executables: []
37
37
  extensions: []
38
38
  extra_rdoc_files: []
39
39
  files:
40
40
  - ".gitignore"
41
+ - ".rspec"
41
42
  - ".ruby-version"
42
43
  - Gemfile
43
44
  - LICENSE.txt
@@ -45,7 +46,9 @@ files:
45
46
  - lib/meta_information.rb
46
47
  - lib/meta_information/version.rb
47
48
  - meta_information.gemspec
49
+ - spec/config.rb
48
50
  - spec/lib/meta_information_spec.rb
51
+ - spec/shared_stuff.rb
49
52
  homepage: https://github.com/kopylovvlad/meta_information
50
53
  licenses:
51
54
  - MIT