builder_links 0.1.0 → 0.1.1
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/Gemfile +11 -0
- data/README.md +7 -1
- data/Rakefile +4 -0
- data/builder_links-0.1.0.gem +0 -0
- data/builder_links.gemspec +1 -1
- data/lib/builder_links/analize.rb +11 -5
- data/lib/builder_links/version.rb +1 -1
- metadata +5 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 63825fa0173604d773df30bee0e8ea9098de1dff
|
4
|
+
data.tar.gz: 1655e2deed81ae28df4ff586cfba4905ab3b2d1c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8cbf45060836916feed1158588e7a3287e6b8baa1605826ba09b4303a21b266e1056986bab2109b1c1352d42ba68e79976d47a54276ccd2be4941f926fe5e376
|
7
|
+
data.tar.gz: 67a3019797e072c0b91fed3fab78a3e79246b99f9506bda70da70d64c79c38d8d65a2c10c250d005aa0b56b946b44044415ea5bd44b035e1ef331de5034845ef
|
data/Gemfile
CHANGED
@@ -2,3 +2,14 @@ source 'https://rubygems.org'
|
|
2
2
|
|
3
3
|
# Specify your gem's dependencies in builder_links.gemspec
|
4
4
|
gemspec
|
5
|
+
|
6
|
+
group :development, :test do
|
7
|
+
gem "rspec"
|
8
|
+
gem "activerecord"
|
9
|
+
gem "nokogiri"
|
10
|
+
end
|
11
|
+
|
12
|
+
group :test do
|
13
|
+
gem 'codeclimate-test-reporter', '~> 0.4.7'
|
14
|
+
gem 'simplecov', '~> 0.11.2'
|
15
|
+
end
|
data/README.md
CHANGED
@@ -1,4 +1,10 @@
|
|
1
|
-
# BuilderLinks
|
1
|
+
# BuilderLinks
|
2
|
+
|
3
|
+
[](https://badge.fury.io/rb/builder_links)
|
4
|
+
[](https://travis-ci.org/jsanroman/builder_links)
|
5
|
+
[](https://codeclimate.com/github/jsanroman/builder_links/coverage)
|
6
|
+
[](https://codeclimate.com/github/jsanroman/builder_links)
|
7
|
+
|
2
8
|
|
3
9
|
A ruby gem to generate links automatically based on a text, keywords and urls is given. Useful for example to increase dinamically the internal links in your site and improve SEO metrics.
|
4
10
|
|
data/Rakefile
CHANGED
Binary file
|
data/builder_links.gemspec
CHANGED
@@ -22,7 +22,7 @@ Gem::Specification.new do |spec|
|
|
22
22
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
23
23
|
spec.require_paths = ['lib']
|
24
24
|
|
25
|
-
spec.add_development_dependency
|
25
|
+
spec.add_development_dependency "bundler", "~> 1.7"
|
26
26
|
spec.add_development_dependency 'rake', '~> 10.0'
|
27
27
|
spec.add_development_dependency 'activerecord'
|
28
28
|
spec.add_development_dependency 'nokogiri'
|
@@ -1,22 +1,24 @@
|
|
1
|
+
require 'nokogiri'
|
2
|
+
|
1
3
|
module BuilderLinks
|
2
4
|
class Analize
|
3
5
|
def initialize(text)
|
4
6
|
@doc = Nokogiri::HTML(text)
|
5
7
|
@analized_text = nil
|
8
|
+
@total_links = 0
|
6
9
|
end
|
7
10
|
|
8
11
|
def run
|
9
12
|
return @analized_text unless @analized_text.blank?
|
10
13
|
|
11
|
-
total_links = 0
|
12
14
|
BuilderLinks.patterns.each do |pattern|
|
13
15
|
links_per_pattern = 0
|
14
16
|
@doc.search('p').children.each do |child|
|
15
|
-
break if max_links_generated?(
|
17
|
+
break if max_links_generated?(links_per_pattern)
|
16
18
|
|
17
19
|
if analize_node(child, pattern)
|
18
20
|
links_per_pattern += 1
|
19
|
-
total_links += 1
|
21
|
+
@total_links += 1
|
20
22
|
end
|
21
23
|
end
|
22
24
|
end
|
@@ -24,6 +26,10 @@ module BuilderLinks
|
|
24
26
|
@analized_text = @doc.at('body').nil? ? '' : @doc.at('body').inner_html
|
25
27
|
end
|
26
28
|
|
29
|
+
def total_links
|
30
|
+
@total_links
|
31
|
+
end
|
32
|
+
|
27
33
|
private
|
28
34
|
|
29
35
|
def analize_node(node, pattern)
|
@@ -50,11 +56,11 @@ module BuilderLinks
|
|
50
56
|
false
|
51
57
|
end
|
52
58
|
|
53
|
-
def max_links_generated?(
|
59
|
+
def max_links_generated?(links_per_pattern)
|
54
60
|
if !BuilderLinks.links_per_pattern.nil? && links_per_pattern >= BuilderLinks.links_per_pattern
|
55
61
|
return true
|
56
62
|
end
|
57
|
-
if !BuilderLinks.total_links.nil? && total_links >= BuilderLinks.total_links
|
63
|
+
if !BuilderLinks.total_links.nil? && @total_links >= BuilderLinks.total_links
|
58
64
|
return true
|
59
65
|
end
|
60
66
|
|
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.1
|
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-
|
11
|
+
date: 2016-05-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '1.
|
19
|
+
version: '1.7'
|
20
20
|
type: :development
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '1.
|
26
|
+
version: '1.7'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: rake
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -83,6 +83,7 @@ files:
|
|
83
83
|
- Rakefile
|
84
84
|
- bin/console
|
85
85
|
- bin/setup
|
86
|
+
- builder_links-0.1.0.gem
|
86
87
|
- builder_links.gemspec
|
87
88
|
- lib/builder_links.rb
|
88
89
|
- lib/builder_links/active_record.rb
|