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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: aad7804603d689547d35466bb518b5616883f773
4
- data.tar.gz: 558b85e8bebd0b58bd84519cb0a2ce9cc275c7cc
3
+ metadata.gz: 63825fa0173604d773df30bee0e8ea9098de1dff
4
+ data.tar.gz: 1655e2deed81ae28df4ff586cfba4905ab3b2d1c
5
5
  SHA512:
6
- metadata.gz: 49cf2f7203ce44e892b33724eb74912a3658dcefa8ba4a51dba1a6e7c0b349042c0a48d198cd400e57c753c34f7330ffa4fed16c2d8d85e9adaf5a87cf7f8388
7
- data.tar.gz: 9992e30d93e246e794ea5de1e205b0ab04e6e83c530412be8ebc053b8506f6ba72915060e64617365bb6ac8e83e1c9fd415b512e75564af387d5f26223a864c1
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
+ [![Gem Version](https://badge.fury.io/rb/builder_links.svg)](https://badge.fury.io/rb/builder_links)
4
+ [![Build Status](https://travis-ci.org/jsanroman/builder_links.svg)](https://travis-ci.org/jsanroman/builder_links)
5
+ [![Test Coverage](https://codeclimate.com/github/jsanroman/builder_links/badges/coverage.svg)](https://codeclimate.com/github/jsanroman/builder_links/coverage)
6
+ [![Code Climate](https://codeclimate.com/github/jsanroman/builder_links/badges/gpa.svg)](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
@@ -1 +1,5 @@
1
1
  require "bundler/gem_tasks"
2
+ require 'rspec/core/rake_task'
3
+
4
+ RSpec::Core::RakeTask.new(:spec)
5
+ task :default => :spec
Binary file
@@ -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 'bundler', '~> 1.9'
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?(total_links, links_per_pattern)
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?(total_links, links_per_pattern)
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
 
@@ -1,3 +1,3 @@
1
1
  module BuilderLinks
2
- VERSION = "0.1.0"
2
+ VERSION = "0.1.1"
3
3
  end
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.0
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-24 00:00:00.000000000 Z
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.9'
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.9'
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