html 0.0.1 → 0.1.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.circle.yml +4 -0
- data/.travis.yml +4 -12
- data/Gemfile +1 -1
- data/Gemfile.devtools +37 -32
- data/circle.yml +3 -0
- data/config/flay.yml +1 -1
- data/config/{site.reek → reek.yml} +5 -5
- data/html.gemspec +5 -5
- data/lib/html.rb +20 -17
- data/lib/html/fragment.rb +20 -5
- data/spec/spec_helper.rb +2 -8
- data/spec/unit/html/class_methods/attributes_spec.rb +2 -1
- data/spec/unit/html/class_methods/content_tag_spec.rb +10 -0
- data/spec/unit/html/class_methods/escape_spec.rb +1 -1
- data/spec/unit/html/fragment/class_methods/build_spec.rb +1 -1
- data/spec/unit/html/fragment/each_spec.rb +27 -0
- metadata +26 -50
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: da09a50f8846475cb4145bcd212646c53c61ddbf
|
4
|
+
data.tar.gz: 3e70f3a5fc6c246274eeb5ccfbbc5b4ca869f47b
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: f60f69e38d7d84e5469076e71ed69e93208d16ad49657c873b261f7a788ac3ab526cc9a0a7da2312c2c38ba693bb69be8474b461104994aa4b1c85b4d2fb961c
|
7
|
+
data.tar.gz: af47fa9cd20ca6eb3488def0cc0ce1982c72872061cc44af8546c25de41664824cb33050ad52e58bd578c826e8f3b5b77174bc420cfa2f5f868c3b8351c75f69
|
data/.circle.yml
ADDED
data/.travis.yml
CHANGED
@@ -1,16 +1,8 @@
|
|
1
1
|
language: ruby
|
2
|
-
bundler_args: --without guard
|
2
|
+
bundler_args: --without guard
|
3
3
|
script: "bundle exec rake ci"
|
4
4
|
rvm:
|
5
|
-
- 1.9.2
|
6
5
|
- 1.9.3
|
7
|
-
-
|
8
|
-
-
|
9
|
-
|
10
|
-
matrix:
|
11
|
-
- 1.8.7
|
12
|
-
- jruby-18mode
|
13
|
-
- rbx-18mode
|
14
|
-
notifications:
|
15
|
-
email:
|
16
|
-
- mbj@seonic.net
|
6
|
+
- 2.0.0
|
7
|
+
- jruby
|
8
|
+
- rbx-2
|
data/Gemfile
CHANGED
data/Gemfile.devtools
CHANGED
@@ -1,55 +1,60 @@
|
|
1
1
|
# encoding: utf-8
|
2
2
|
|
3
3
|
group :development do
|
4
|
-
gem 'rake', '~> 10.0
|
5
|
-
gem 'rspec', '~> 2.
|
6
|
-
gem 'yard', '~> 0.8.
|
4
|
+
gem 'rake', '~> 10.1.0'
|
5
|
+
gem 'rspec', '~> 2.14.1'
|
6
|
+
gem 'yard', '~> 0.8.7'
|
7
|
+
|
8
|
+
platform :rbx do
|
9
|
+
gem 'rubysl-singleton', '~> 2.0.0'
|
10
|
+
end
|
7
11
|
end
|
8
12
|
|
9
13
|
group :yard do
|
10
|
-
gem 'kramdown', '~>
|
14
|
+
gem 'kramdown', '~> 1.3.0'
|
11
15
|
end
|
12
16
|
|
13
17
|
group :guard do
|
14
|
-
gem 'guard', '~>
|
15
|
-
gem 'guard-bundler', '~>
|
16
|
-
gem 'guard-rspec', '~> 2.
|
18
|
+
gem 'guard', '~> 2.3.0'
|
19
|
+
gem 'guard-bundler', '~> 2.0.0'
|
20
|
+
gem 'guard-rspec', '~> 4.2.0'
|
21
|
+
gem 'guard-rubocop', '~> 1.0.0'
|
17
22
|
|
18
23
|
# file system change event handling
|
19
|
-
gem '
|
20
|
-
gem 'rb-
|
21
|
-
gem 'rb-
|
22
|
-
|
23
|
-
gem 'listen', '~> 0.7.3'
|
24
|
+
gem 'listen', '~> 2.4.0'
|
25
|
+
gem 'rb-fchange', '~> 0.0.6', require: false
|
26
|
+
gem 'rb-fsevent', '~> 0.9.3', require: false
|
27
|
+
gem 'rb-inotify', '~> 0.9.0', require: false
|
24
28
|
|
25
29
|
# notification handling
|
26
|
-
gem 'libnotify', '~> 0.8.0', :
|
27
|
-
gem 'rb-notifu', '~> 0.0.4', :
|
28
|
-
gem 'terminal-notifier-guard', '~> 1.5.3', :
|
30
|
+
gem 'libnotify', '~> 0.8.0', require: false
|
31
|
+
gem 'rb-notifu', '~> 0.0.4', require: false
|
32
|
+
gem 'terminal-notifier-guard', '~> 1.5.3', require: false
|
29
33
|
end
|
30
34
|
|
31
35
|
group :metrics do
|
32
|
-
gem '
|
33
|
-
gem '
|
34
|
-
gem '
|
35
|
-
gem '
|
36
|
-
gem '
|
36
|
+
gem 'coveralls', '~> 0.7.0'
|
37
|
+
gem 'flay', '~> 2.4.0'
|
38
|
+
gem 'flog', '~> 4.2.0'
|
39
|
+
gem 'reek', '~> 1.3.2'
|
40
|
+
gem 'rubocop', '~> 0.16.0'
|
41
|
+
gem 'simplecov', '~> 0.8.2'
|
42
|
+
gem 'yardstick', '~> 0.9.9'
|
37
43
|
|
38
|
-
platforms :
|
39
|
-
|
40
|
-
gem 'yard-spellcheck', '~> 0.1.5'
|
44
|
+
platforms :mri do
|
45
|
+
gem 'mutant', '~> 0.3.4'
|
41
46
|
end
|
42
47
|
|
43
|
-
platforms :
|
44
|
-
gem '
|
45
|
-
end
|
46
|
-
|
47
|
-
platforms :mri_19 do
|
48
|
-
gem 'simplecov', '~> 0.7.1'
|
48
|
+
platforms :ruby_19, :ruby_20 do
|
49
|
+
gem 'yard-spellcheck', '~> 0.1.5'
|
49
50
|
end
|
50
51
|
|
51
|
-
|
52
|
-
gem '
|
52
|
+
platform :rbx do
|
53
|
+
gem 'json', '~> 1.8.1'
|
54
|
+
gem 'racc', '~> 1.4'
|
55
|
+
gem 'rubysl-logger', '~> 2.0.0'
|
56
|
+
gem 'rubysl-open-uri', '~> 2.0.0'
|
57
|
+
gem 'rubysl-prettyprint', '~> 2.0.2'
|
53
58
|
end
|
54
59
|
end
|
55
60
|
|
@@ -59,6 +64,6 @@ end
|
|
59
64
|
|
60
65
|
platform :jruby do
|
61
66
|
group :jruby do
|
62
|
-
gem 'jruby-openssl', '~> 0.8.
|
67
|
+
gem 'jruby-openssl', '~> 0.8.5'
|
63
68
|
end
|
64
69
|
end
|
data/circle.yml
ADDED
data/config/flay.yml
CHANGED
@@ -7,7 +7,7 @@ UncommunicativeParameterName:
|
|
7
7
|
- !ruby/regexp /^.$/
|
8
8
|
- !ruby/regexp /[0-9]$/
|
9
9
|
- !ruby/regexp /[A-Z]/
|
10
|
-
|
10
|
+
TooManyMethods:
|
11
11
|
max_methods: 10
|
12
12
|
exclude: []
|
13
13
|
enabled: true
|
@@ -51,11 +51,11 @@ NestedIterators:
|
|
51
51
|
- Adamantium::ModuleMethods#define_memoize_method # 2 levels
|
52
52
|
enabled: true
|
53
53
|
max_allowed_nesting: 1
|
54
|
-
|
54
|
+
TooManyStatements:
|
55
55
|
max_statements: 7 # TODO: decrease max_statements to 5 or less
|
56
56
|
exclude: []
|
57
57
|
enabled: true
|
58
|
-
|
58
|
+
DuplicateMethodCall:
|
59
59
|
allow_calls: []
|
60
60
|
exclude: []
|
61
61
|
enabled: true
|
@@ -75,7 +75,7 @@ UncommunicativeVariableName:
|
|
75
75
|
- !ruby/regexp /^.$/
|
76
76
|
- !ruby/regexp /[0-9]$/
|
77
77
|
- !ruby/regexp /[A-Z]/
|
78
|
-
|
78
|
+
RepeatedConditional:
|
79
79
|
exclude: []
|
80
80
|
enabled: true
|
81
81
|
max_ifs: 1
|
@@ -84,7 +84,7 @@ DataClump:
|
|
84
84
|
enabled: true
|
85
85
|
max_copies: 1
|
86
86
|
min_clump_size: 3
|
87
|
-
|
87
|
+
ControlParameter:
|
88
88
|
exclude: []
|
89
89
|
enabled: true
|
90
90
|
LongYieldList:
|
data/html.gemspec
CHANGED
@@ -2,9 +2,9 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |gem|
|
4
4
|
gem.name = 'html'
|
5
|
-
gem.version = '0.
|
5
|
+
gem.version = '0.1.1'
|
6
6
|
gem.authors = [ 'Markus Schirp' ]
|
7
|
-
gem.email = [ 'mbj@
|
7
|
+
gem.email = [ 'mbj@schirp-dso.com' ]
|
8
8
|
gem.description = 'Because HTML is not a String'
|
9
9
|
gem.summary = gem.description
|
10
10
|
gem.homepage = 'https://github.com/mbj/html'
|
@@ -12,9 +12,9 @@ Gem::Specification.new do |gem|
|
|
12
12
|
gem.require_paths = [ 'lib' ]
|
13
13
|
gem.files = `git ls-files`.split("\n")
|
14
14
|
gem.test_files = `git ls-files -- spec`.split("\n")
|
15
|
+
gem.license = 'MIT'
|
15
16
|
gem.extra_rdoc_files = %w[TODO]
|
16
17
|
|
17
|
-
gem.add_runtime_dependency('
|
18
|
-
gem.add_runtime_dependency('
|
19
|
-
gem.add_runtime_dependency('equalizer', '~> 0.0.5')
|
18
|
+
gem.add_runtime_dependency('adamantium', '~> 0.1.0')
|
19
|
+
gem.add_runtime_dependency('equalizer', '~> 0.0.9')
|
20
20
|
end
|
data/lib/html.rb
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
#encoding: utf-8
|
2
|
-
|
2
|
+
|
3
3
|
require 'adamantium'
|
4
4
|
require 'equalizer'
|
5
5
|
require 'ice_nine'
|
@@ -9,13 +9,13 @@ module HTML
|
|
9
9
|
|
10
10
|
CONTENT_TAGS = IceNine.deep_freeze(%w(
|
11
11
|
a abbr address article aside audio b bdi bdo blockquote
|
12
|
-
body button canvas caption cite code col colgroup data
|
13
|
-
dd del details dfn div dl dt em embed eventsource fieldset
|
14
|
-
fieldsource figcaption figure footer form h1 h2 h3 h4 h5 h6
|
15
|
-
head header hgroup html i iframe ins kbd label legend li link
|
16
|
-
mark menu nav noscript object ol optgroup option output p pre
|
17
|
-
q ruby rp rt s samp script section select small span strong
|
18
|
-
style sub summary sup table tbody textarea tfoot th thead time
|
12
|
+
body button canvas caption cite code col colgroup data
|
13
|
+
dd del details dfn div dl dt em embed eventsource fieldset
|
14
|
+
fieldsource figcaption figure footer form h1 h2 h3 h4 h5 h6
|
15
|
+
head header hgroup html i iframe ins kbd label legend li link
|
16
|
+
mark menu nav noscript object ol optgroup option output p pre
|
17
|
+
q ruby rp rt s samp script section select small span strong
|
18
|
+
style sub summary sup table tbody textarea tfoot th thead time
|
19
19
|
title td tr ul var video
|
20
20
|
))
|
21
21
|
|
@@ -33,12 +33,18 @@ module HTML
|
|
33
33
|
# @api private
|
34
34
|
#
|
35
35
|
def self.join(components)
|
36
|
-
contents = components.map do |component|
|
36
|
+
contents = components.map do |component|
|
37
37
|
Fragment.build(component)
|
38
38
|
end
|
39
39
|
Fragment.new(contents.join)
|
40
40
|
end
|
41
41
|
|
42
|
+
ESCAPE_TABLE = IceNine.deep_freeze(
|
43
|
+
'>' => '<',
|
44
|
+
'<' => '>',
|
45
|
+
'"' => '"',
|
46
|
+
'&' => '&'
|
47
|
+
)
|
42
48
|
|
43
49
|
# Escape html
|
44
50
|
#
|
@@ -50,13 +56,10 @@ module HTML
|
|
50
56
|
#
|
51
57
|
def self.escape(text)
|
52
58
|
text.gsub(
|
53
|
-
/[><"]/,
|
54
|
-
'>' => '<',
|
55
|
-
'<' => '>',
|
56
|
-
'"' => '&'
|
59
|
+
/[><"&]/, ESCAPE_TABLE
|
57
60
|
)
|
58
61
|
end
|
59
|
-
|
62
|
+
|
60
63
|
CONTENT_TAGS.each do |name|
|
61
64
|
class_eval(<<-RUBY, __FILE__, __LINE__)
|
62
65
|
def self.#{name}(*args)
|
@@ -86,7 +89,7 @@ module HTML
|
|
86
89
|
Fragment.new("<#{type}#{attributes(attributes)}/>")
|
87
90
|
end
|
88
91
|
|
89
|
-
# Create content tag
|
92
|
+
# Create content tag
|
90
93
|
#
|
91
94
|
# @param [#to_str] type
|
92
95
|
# @param [String] content
|
@@ -96,7 +99,7 @@ module HTML
|
|
96
99
|
# @api private
|
97
100
|
#
|
98
101
|
def self.content_tag(type, content, attributes={})
|
99
|
-
Fragment.new("<#{type}#{attributes(attributes)}>#{Fragment.build(content)
|
102
|
+
Fragment.new("<#{type}#{attributes(attributes)}>#{Fragment.build(content)}</#{type}>")
|
100
103
|
end
|
101
104
|
|
102
105
|
# Create html attributes
|
@@ -109,7 +112,7 @@ module HTML
|
|
109
112
|
#
|
110
113
|
def self.attributes(attributes)
|
111
114
|
attributes.map do |key, value|
|
112
|
-
%Q{ #{key
|
115
|
+
%Q{ #{key}="#{escape(value.to_s)}"}
|
113
116
|
end.join
|
114
117
|
end
|
115
118
|
end
|
data/lib/html/fragment.rb
CHANGED
@@ -24,7 +24,7 @@ module HTML
|
|
24
24
|
@content = string
|
25
25
|
end
|
26
26
|
|
27
|
-
# Return string
|
27
|
+
# Return string
|
28
28
|
#
|
29
29
|
# FIXME: This will be removed once I have my own templating language.
|
30
30
|
#
|
@@ -32,14 +32,29 @@ module HTML
|
|
32
32
|
#
|
33
33
|
alias_method :to_s, :content
|
34
34
|
|
35
|
+
# Enumerate contents
|
36
|
+
#
|
37
|
+
# The idea is to make it compatible with a rack body.
|
38
|
+
#
|
39
|
+
# @return [self]
|
40
|
+
# if block given
|
41
|
+
#
|
42
|
+
# @api private
|
43
|
+
#
|
44
|
+
def each
|
45
|
+
return to_enum unless block_given?
|
46
|
+
yield content
|
47
|
+
self
|
48
|
+
end
|
49
|
+
|
35
50
|
# Create new fragment
|
36
51
|
#
|
37
52
|
# @param [String,Fragment] input
|
38
|
-
#
|
53
|
+
#
|
39
54
|
# @return [Fragment]
|
40
55
|
#
|
41
56
|
# @api private
|
42
|
-
#
|
57
|
+
#
|
43
58
|
def self.build(input)
|
44
59
|
if input.kind_of?(self)
|
45
60
|
input
|
@@ -49,6 +64,6 @@ module HTML
|
|
49
64
|
end
|
50
65
|
|
51
66
|
EMPTY = new('')
|
52
|
-
end
|
53
67
|
|
54
|
-
end
|
68
|
+
end # Fragment
|
69
|
+
end # HTML
|
data/spec/spec_helper.rb
CHANGED
@@ -1,11 +1,5 @@
|
|
1
1
|
# encoding: utf-8
|
2
2
|
|
3
3
|
require 'html'
|
4
|
-
require '
|
5
|
-
|
6
|
-
# require spec support files and shared behavior
|
7
|
-
Dir[File.expand_path('../{support,shared}/**/*.rb', __FILE__)].each { |f| require f }
|
8
|
-
|
9
|
-
|
10
|
-
RSpec.configure do |config|
|
11
|
-
end
|
4
|
+
require 'devtools'
|
5
|
+
require 'devtools/spec_helper'
|
@@ -16,6 +16,16 @@ describe HTML, '.tag' do
|
|
16
16
|
end
|
17
17
|
end
|
18
18
|
|
19
|
+
context 'with plaintext content' do
|
20
|
+
let(:arguments) { [ name, content] }
|
21
|
+
|
22
|
+
let(:content) { '<foo>' }
|
23
|
+
|
24
|
+
it 'should return html fragment wrapping excapted content' do
|
25
|
+
should eql(HTML::Fragment.new('<foo>>foo<</foo>'))
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
19
29
|
context 'with attributes' do
|
20
30
|
let(:arguments) { [ name, content, attributes ] }
|
21
31
|
|
@@ -0,0 +1,27 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe HTML::Fragment, '#each' do
|
4
|
+
let(:yields) { [] }
|
5
|
+
|
6
|
+
let(:object) { described_class.new(chunk) }
|
7
|
+
|
8
|
+
let(:chunk) { double('Chunk') }
|
9
|
+
|
10
|
+
context 'with block' do
|
11
|
+
subject { object.each { |chunk| yields << chunk } }
|
12
|
+
|
13
|
+
it 'should enumerate chunks' do
|
14
|
+
expect { subject }.to change { yields }.from([]).to([chunk])
|
15
|
+
end
|
16
|
+
|
17
|
+
it_should_behave_like 'a command method'
|
18
|
+
end
|
19
|
+
|
20
|
+
context 'without block' do
|
21
|
+
subject { object.each }
|
22
|
+
|
23
|
+
it { should be_a(Enumerator) }
|
24
|
+
|
25
|
+
its(:to_a) { should eql([chunk]) }
|
26
|
+
end
|
27
|
+
end
|
metadata
CHANGED
@@ -1,92 +1,67 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: html
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
5
|
-
prerelease:
|
4
|
+
version: 0.1.1
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Markus Schirp
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date:
|
11
|
+
date: 2014-02-16 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
|
-
- !ruby/object:Gem::Dependency
|
15
|
-
name: backports
|
16
|
-
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
|
-
requirements:
|
19
|
-
- - ~>
|
20
|
-
- !ruby/object:Gem::Version
|
21
|
-
version: '3.0'
|
22
|
-
- - ! '>='
|
23
|
-
- !ruby/object:Gem::Version
|
24
|
-
version: 3.0.3
|
25
|
-
type: :runtime
|
26
|
-
prerelease: false
|
27
|
-
version_requirements: !ruby/object:Gem::Requirement
|
28
|
-
none: false
|
29
|
-
requirements:
|
30
|
-
- - ~>
|
31
|
-
- !ruby/object:Gem::Version
|
32
|
-
version: '3.0'
|
33
|
-
- - ! '>='
|
34
|
-
- !ruby/object:Gem::Version
|
35
|
-
version: 3.0.3
|
36
13
|
- !ruby/object:Gem::Dependency
|
37
14
|
name: adamantium
|
38
15
|
requirement: !ruby/object:Gem::Requirement
|
39
|
-
none: false
|
40
16
|
requirements:
|
41
|
-
- - ~>
|
17
|
+
- - "~>"
|
42
18
|
- !ruby/object:Gem::Version
|
43
|
-
version: 0.0
|
19
|
+
version: 0.1.0
|
44
20
|
type: :runtime
|
45
21
|
prerelease: false
|
46
22
|
version_requirements: !ruby/object:Gem::Requirement
|
47
|
-
none: false
|
48
23
|
requirements:
|
49
|
-
- - ~>
|
24
|
+
- - "~>"
|
50
25
|
- !ruby/object:Gem::Version
|
51
|
-
version: 0.0
|
26
|
+
version: 0.1.0
|
52
27
|
- !ruby/object:Gem::Dependency
|
53
28
|
name: equalizer
|
54
29
|
requirement: !ruby/object:Gem::Requirement
|
55
|
-
none: false
|
56
30
|
requirements:
|
57
|
-
- - ~>
|
31
|
+
- - "~>"
|
58
32
|
- !ruby/object:Gem::Version
|
59
|
-
version: 0.0.
|
33
|
+
version: 0.0.9
|
60
34
|
type: :runtime
|
61
35
|
prerelease: false
|
62
36
|
version_requirements: !ruby/object:Gem::Requirement
|
63
|
-
none: false
|
64
37
|
requirements:
|
65
|
-
- - ~>
|
38
|
+
- - "~>"
|
66
39
|
- !ruby/object:Gem::Version
|
67
|
-
version: 0.0.
|
40
|
+
version: 0.0.9
|
68
41
|
description: Because HTML is not a String
|
69
42
|
email:
|
70
|
-
- mbj@
|
43
|
+
- mbj@schirp-dso.com
|
71
44
|
executables: []
|
72
45
|
extensions: []
|
73
46
|
extra_rdoc_files:
|
74
47
|
- TODO
|
75
48
|
files:
|
76
|
-
- .
|
77
|
-
- .
|
78
|
-
- .
|
49
|
+
- ".circle.yml"
|
50
|
+
- ".gitignore"
|
51
|
+
- ".rspec"
|
52
|
+
- ".travis.yml"
|
79
53
|
- Changelog.md
|
80
54
|
- Gemfile
|
81
55
|
- Gemfile.devtools
|
82
56
|
- README.md
|
83
57
|
- Rakefile
|
84
58
|
- TODO
|
59
|
+
- circle.yml
|
85
60
|
- config/flay.yml
|
86
61
|
- config/flog.yml
|
87
62
|
- config/mutant.yml
|
63
|
+
- config/reek.yml
|
88
64
|
- config/roodi.yml
|
89
|
-
- config/site.reek
|
90
65
|
- config/yardstick.yml
|
91
66
|
- html.gemspec
|
92
67
|
- lib/html.rb
|
@@ -100,30 +75,31 @@ files:
|
|
100
75
|
- spec/unit/html/class_methods/nocontent_tags_spec.rb
|
101
76
|
- spec/unit/html/class_methods/tag_spec.rb
|
102
77
|
- spec/unit/html/fragment/class_methods/build_spec.rb
|
78
|
+
- spec/unit/html/fragment/each_spec.rb
|
103
79
|
- spec/unit/html/fragment/initialize_spec.rb
|
104
80
|
homepage: https://github.com/mbj/html
|
105
|
-
licenses:
|
81
|
+
licenses:
|
82
|
+
- MIT
|
83
|
+
metadata: {}
|
106
84
|
post_install_message:
|
107
85
|
rdoc_options: []
|
108
86
|
require_paths:
|
109
87
|
- lib
|
110
88
|
required_ruby_version: !ruby/object:Gem::Requirement
|
111
|
-
none: false
|
112
89
|
requirements:
|
113
|
-
- -
|
90
|
+
- - ">="
|
114
91
|
- !ruby/object:Gem::Version
|
115
92
|
version: '0'
|
116
93
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
117
|
-
none: false
|
118
94
|
requirements:
|
119
|
-
- -
|
95
|
+
- - ">="
|
120
96
|
- !ruby/object:Gem::Version
|
121
97
|
version: '0'
|
122
98
|
requirements: []
|
123
99
|
rubyforge_project:
|
124
|
-
rubygems_version:
|
100
|
+
rubygems_version: 2.2.0
|
125
101
|
signing_key:
|
126
|
-
specification_version:
|
102
|
+
specification_version: 4
|
127
103
|
summary: Because HTML is not a String
|
128
104
|
test_files:
|
129
105
|
- spec/spec_helper.rb
|
@@ -135,5 +111,5 @@ test_files:
|
|
135
111
|
- spec/unit/html/class_methods/nocontent_tags_spec.rb
|
136
112
|
- spec/unit/html/class_methods/tag_spec.rb
|
137
113
|
- spec/unit/html/fragment/class_methods/build_spec.rb
|
114
|
+
- spec/unit/html/fragment/each_spec.rb
|
138
115
|
- spec/unit/html/fragment/initialize_spec.rb
|
139
|
-
has_rdoc:
|