abbreviato 0.8.1 → 0.8.2

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: 3c6f7e4cd1a30ddde713870703ee0b78bc26f384
4
- data.tar.gz: 46253968fab63363c865b20c6b53230d7be607e7
3
+ metadata.gz: db961048425e97e79397a25ade5a974319ec2d9d
4
+ data.tar.gz: ef5486da63241687f0a08c63a3cc3d9eabb1d24f
5
5
  SHA512:
6
- metadata.gz: 64f8679f4bfd744e013f4ae0a13f9d712b5e7cf0c55f54e6ec15f84e27f0e054048e5bf5cafdd3ffe21ffaf66c9b539767be8ba9ee8aa1a1672c850999aaaac5
7
- data.tar.gz: d63228f14b686c61066f2075cf5b8f670e7f87276d49024c0444370a0ca2df3fafa2a198425979b447d272f2277cd12a095be876279e788afc4ffe70eba7b412
6
+ metadata.gz: d5abf874a00105f77ed88ed13c024086c9610dbc9a3a8a74026a29b8f893d21bdc2d1402cbc9008e54753ccc31e1d1ce101a6d9d065a08d11de23a34de7c53ce
7
+ data.tar.gz: a6b6dc93413665a20ca3969ec5023d05e80d99944fffd37472782dfa204467310dcbf514182753f9a1f7581189f67f6d130767c8471cb5752e7b0c8afa273ecd
@@ -1,4 +1,5 @@
1
- Copyright (c) 2011 Jorge Manrubia
1
+ Original work Copyright (c) 2011 Jorge Manrubia
2
+ Modified work Copyright (c) 2017 Zendesk, Inc.
2
3
 
3
4
  Permission is hereby granted, free of charge, to any person obtaining
4
5
  a copy of this software and associated documentation files (the
data/README.md CHANGED
@@ -1,3 +1,5 @@
1
+ [![Build Status](https://travis-ci.org/zendesk/abbreviato.svg?branch=master)](https://travis-ci.org/zendesk/abbreviato)
2
+
1
3
  # abbreviato
2
4
 
3
5
  *abbreviato* is a Ruby library for truncating HTML strings keeping the markup valid. It is a fork of github.com/jorgemanrubia/truncato but focused on truncating to a bytesize, not on a per-character basis.
@@ -20,10 +22,8 @@ The configuration options are:
20
22
 
21
23
  * `max_length`: The size, in bytes, to truncate (`30` by default)
22
24
  * `tail`: The string to append when the truncation occurs ('…' by default).
23
- # `fragment`: Indicates whether the document to be truncated is an HTML fragment
24
- # or an entire document (with `HTML`, `HEAD` & `BODY` tags). Setting to true prevents automatic
25
- # addition of these tags if they are missing. Defaults to `true`.
26
-
25
+ * `fragment`: Indicates whether the document to be truncated is an HTML fragment or an entire document (with `HTML`, `HEAD` & `BODY` tags). Setting to true prevents automatic
26
+ addition of these tags if they are missing. Defaults to `true`.
27
27
 
28
28
  ## Performance
29
29
 
@@ -43,19 +43,13 @@ bundle exec wwtd
43
43
 
44
44
  ## Updating
45
45
 
46
- Update the version
47
46
  ```ruby
47
+ # Update the version
48
48
  bundle exec bump patch
49
- ```
50
49
 
51
- Build
52
- ```ruby
50
+ # Build
53
51
  gem build abbreviato.gemspec
54
52
 
55
- Publish
56
- ```ruby
53
+ # Publish
57
54
  gem push abbreviato-x.y.z.gem
58
55
  ```
59
-
60
-
61
-
data/Rakefile CHANGED
@@ -1,17 +1,54 @@
1
+ require 'bundler/setup'
1
2
  require 'wwtd/tasks'
2
3
  require 'bundler/gem_tasks'
3
4
  require 'bump/tasks'
4
- require 'bundler/setup'
5
5
 
6
6
  Bundler::GemHelper.install_tasks
7
7
 
8
8
  require 'rspec/core/rake_task'
9
9
  RSpec::Core::RakeTask.new(:spec)
10
10
 
11
- require 'rubocop/rake_task'
12
- RuboCop::RakeTask.new
11
+ if %w[development test].include?(ENV["RAILS_ENV"] ||= 'development')
12
+ def run_command(command)
13
+ result = `#{command}`
14
+ result.force_encoding('binary')
15
+ raise "Command #{command} failed: #{result}" unless $?.success?
16
+ result
17
+ end
18
+
19
+ require 'bundler/audit/task'
20
+ Bundler::Audit::Task.new
21
+
22
+ desc "Analyze for code duplication (large, identical syntax trees) with fuzzy matching."
23
+ task :flay do
24
+ require 'flay'
25
+ flay = Flay.run(%w[bin config lib script])
26
+ flay.report
27
+
28
+ threshold = 0
29
+ raise "Flay total too high! #{flay.total} > #{threshold}" if flay.total > threshold
30
+ end
31
+
32
+ require 'rubocop/rake_task'
33
+ RuboCop::RakeTask.new
34
+
35
+ task :brakecheck do
36
+ puts "Running brakecheck..."
37
+ %w[brakecheck brakeman bundler-audit flay rubocop].each do |gem_name|
38
+ result = `brakecheck #{gem_name}`
39
+ result.force_encoding('binary')
40
+ if $?.success?
41
+ puts "✔ #{gem_name}"
42
+ else
43
+ raise "✘ #{gem_name}'s brakecheck failed: #{result}"
44
+ end
45
+ end
46
+ true
47
+ end
13
48
 
14
- require 'bundler/audit/task'
15
- Bundler::Audit::Task.new
49
+ task :brakeman do
50
+ run_command "brakeman --exit-on-warn --exit-on-err --format plain --ensure-latest --table-width 999 --force-scan lib --ignore-config .brakeman.ignore"
51
+ end
52
+ end
16
53
 
17
54
  task default: :wwtd
@@ -22,6 +22,6 @@ module Abbreviato
22
22
  truncated_sax_document = TruncatedSaxDocument.new(DEFAULT_OPTIONS.merge(user_options))
23
23
  parser = Nokogiri::HTML::SAX::Parser.new(truncated_sax_document)
24
24
  parser.parse(source) { |context| context.replace_entities = false }
25
- [truncated_sax_document.truncated_string, truncated_sax_document.truncated]
25
+ [truncated_sax_document.truncated_string.strip, truncated_sax_document.truncated]
26
26
  end
27
27
  end
@@ -1,3 +1,3 @@
1
1
  module Abbreviato
2
- VERSION = '0.8.1'.freeze
2
+ VERSION = '0.8.2'.freeze
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: abbreviato
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.1
4
+ version: 0.8.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jorge Manrubia
@@ -11,33 +11,33 @@ cert_chain: []
11
11
  date: 2013-09-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: nokogiri
14
+ name: htmlentities
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 1.6.8
19
+ version: 4.3.4
20
20
  type: :runtime
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.6.8
26
+ version: 4.3.4
27
27
  - !ruby/object:Gem::Dependency
28
- name: htmlentities
28
+ name: nokogiri
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - "~>"
31
+ - - ">="
32
32
  - !ruby/object:Gem::Version
33
- version: 4.3.4
33
+ version: 1.8.1
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - "~>"
38
+ - - ">="
39
39
  - !ruby/object:Gem::Version
40
- version: 4.3.4
40
+ version: 1.8.1
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: awesome_print
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -255,7 +255,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
255
255
  version: '0'
256
256
  requirements: []
257
257
  rubyforge_project:
258
- rubygems_version: 2.5.1
258
+ rubygems_version: 2.6.11
259
259
  signing_key:
260
260
  specification_version: 4
261
261
  summary: A tool for efficiently truncating HTML strings to a specific bytesize