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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 63825fa0173604d773df30bee0e8ea9098de1dff
4
- data.tar.gz: 1655e2deed81ae28df4ff586cfba4905ab3b2d1c
3
+ metadata.gz: 7bf0a4a8cb0847011f101baed70b3093f3c01eef
4
+ data.tar.gz: d333d61ff495abf2350e0c6e8c178c3bc968af8e
5
5
  SHA512:
6
- metadata.gz: 8cbf45060836916feed1158588e7a3287e6b8baa1605826ba09b4303a21b266e1056986bab2109b1c1352d42ba68e79976d47a54276ccd2be4941f926fe5e376
7
- data.tar.gz: 67a3019797e072c0b91fed3fab78a3e79246b99f9506bda70da70d64c79c38d8d65a2c10c250d005aa0b56b946b44044415ea5bd44b035e1ef331de5034845ef
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 |arg|
10
- return false if arg.blank?
11
- return false unless attributes.include?(arg.to_s)
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[arg.to_s])
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
@@ -1,3 +1,3 @@
1
1
  module BuilderLinks
2
- VERSION = "0.1.1"
2
+ VERSION = "0.1.2"
3
3
  end
data/lib/builder_links.rb CHANGED
@@ -18,8 +18,8 @@ module BuilderLinks
18
18
  yield self
19
19
  end
20
20
 
21
- def self.text(text)
22
- analize = BuilderLinks::Analize.new(text)
21
+ def self.text(text, opts = {})
22
+ analize = BuilderLinks::Analize.new(text, opts)
23
23
  analize.run
24
24
  end
25
25
 
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.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-05-30 00:00:00.000000000 Z
11
+ date: 2016-06-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler