builder_links 0.1.1 → 0.1.2
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 +4 -4
- data/lib/builder_links/active_record.rb +5 -5
- data/lib/builder_links/analize.rb +12 -2
- data/lib/builder_links/version.rb +1 -1
- data/lib/builder_links.rb +2 -2
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7bf0a4a8cb0847011f101baed70b3093f3c01eef
|
4
|
+
data.tar.gz: d333d61ff495abf2350e0c6e8c178c3bc968af8e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1954720d3de03b7614444c79219bd73ded57508128f1222007fe1013d3c376089c31d5d6464152d9d17a86f17080a4f1e7dd76b5da705d1d0c2ca011d4927eee
|
7
|
+
data.tar.gz: 92a521732fe0a8a91ae5b0ef08b55c82e6b8004a3eedf2518c9e453f9ff25c575e3c35a215af0927e677cf749de54cfd869b2139ffa50a2937ef70d45697f1b5
|
@@ -6,13 +6,13 @@ module BuilderLinks
|
|
6
6
|
|
7
7
|
module ClassMethods
|
8
8
|
def builder_links
|
9
|
-
define_method 'builder_links' do |
|
10
|
-
return false if
|
11
|
-
return false unless attributes.include?(
|
9
|
+
define_method 'builder_links' do |attr, opts={}|
|
10
|
+
return false if attr.blank?
|
11
|
+
return false unless attributes.include?(attr.to_s)
|
12
12
|
|
13
|
-
analize = BuilderLinks::Analize.new(attributes[
|
13
|
+
analize = BuilderLinks::Analize.new(attributes[attr.to_s], opts)
|
14
14
|
analize.run
|
15
|
-
end
|
15
|
+
end
|
16
16
|
end
|
17
17
|
end
|
18
18
|
end
|
@@ -2,7 +2,8 @@ require 'nokogiri'
|
|
2
2
|
|
3
3
|
module BuilderLinks
|
4
4
|
class Analize
|
5
|
-
def initialize(text)
|
5
|
+
def initialize(text, opts = {})
|
6
|
+
@options = {black_uris: []}.merge(opts)
|
6
7
|
@doc = Nokogiri::HTML(text)
|
7
8
|
@analized_text = nil
|
8
9
|
@total_links = 0
|
@@ -12,6 +13,8 @@ module BuilderLinks
|
|
12
13
|
return @analized_text unless @analized_text.blank?
|
13
14
|
|
14
15
|
BuilderLinks.patterns.each do |pattern|
|
16
|
+
next if black_pattern?(pattern)
|
17
|
+
|
15
18
|
links_per_pattern = 0
|
16
19
|
@doc.search('p').children.each do |child|
|
17
20
|
break if max_links_generated?(links_per_pattern)
|
@@ -31,7 +34,6 @@ module BuilderLinks
|
|
31
34
|
end
|
32
35
|
|
33
36
|
private
|
34
|
-
|
35
37
|
def analize_node(node, pattern)
|
36
38
|
if %('text', 'strong').include?(node.name) && node.children.count < 2
|
37
39
|
replace_text = node.content
|
@@ -66,5 +68,13 @@ module BuilderLinks
|
|
66
68
|
|
67
69
|
false
|
68
70
|
end
|
71
|
+
|
72
|
+
def black_pattern?(pattern)
|
73
|
+
@options[:black_uris].each do |black_uri|
|
74
|
+
return true if black_uri.include?(pattern[:uri])
|
75
|
+
end
|
76
|
+
|
77
|
+
return false
|
78
|
+
end
|
69
79
|
end
|
70
80
|
end
|
data/lib/builder_links.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: builder_links
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Javi Sanromán
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-06-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|