content_for_once 0.1.1 → 0.1.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: 39029b89781a30278e60acc026418ce56947f1a8
4
- data.tar.gz: b54d71e3215b3807f664c946bfdba633b77b1a7c
3
+ metadata.gz: e9130a0a1f3cb7ff1305896303709cd277fc3749
4
+ data.tar.gz: 33b9f68c48c0af457b8f3f0f04ff4e8384ac9d66
5
5
  SHA512:
6
- metadata.gz: f8521ac5487cb55ecffbc701140117e7486203228a56b6152ae49d18a5f2ff4bb7c0575cc3b69cb4148c59ace0510f4892cd6589bd3fe923b11ae45443fd0d0f
7
- data.tar.gz: a1c0995b8819dac8b06056321104d95f40d7f39b49e8db68e812647bd7fdd3db4334f522f872e9277ef1b9b3dfe2b3a966d6d24df74359b98756fde79885b219
6
+ metadata.gz: a2f68741094e1a959b681f017832e9a5d51d26bbce9f55037df5f4ffb5b640d20f1d8be42242702b5833e16f98782ae89848716966619f6a0dae651f2508dc7d
7
+ data.tar.gz: db37d66b52b6e3e4763c0fce2e1095f7d8d856898f744ac475cdb88f054527a4e411f772d7130485cc778a9f62b10ff9363293ed90451002c25450206e9fef61
@@ -21,6 +21,7 @@ Gem::Specification.new do |spec|
21
21
 
22
22
  spec.add_dependency "actionview", "~> 4.2.6"
23
23
  spec.add_dependency "activesupport", "~> 4.2.6"
24
+ spec.add_dependency "nokogiri"
24
25
 
25
26
  spec.add_development_dependency "bundler", "~> 1.10"
26
27
  spec.add_development_dependency "rake", "~> 10.0"
@@ -4,14 +4,16 @@ module ContentForOnce
4
4
  @contents ||= Hash.new {|h, k| h[k] = '' }
5
5
  name = name.to_sym
6
6
 
7
- @contents[name].concat(capture(&block))
8
- @contents[name] = @contents[name].scan(/<\w+(?:\s+[^>]+)?\/?>*<\/\w+>|<\w+(?:\s+[^>]+)?\/?>/).uniq.join
7
+ @contents[name].concat(capture(&block)) if capture(&block).present?
8
+ @contents[name] = Nokogiri::HTML.fragment(@contents[name]).children.
9
+ map(&:to_s).select(&:present?).map {|e| e.gsub(/>\n/, '>') }.uniq.join("\n")
9
10
 
10
11
  @contents.each do |name, content|
11
12
  # ref: https://github.com/rails/rails/blob/master/actionview/lib/action_view/helpers/capture_helper.rb#L149
12
13
  _content = @view_flow.get(name).presence || ''
13
14
  _content.concat(content.html_safe)
14
- _content = _content.scan(/<\w+(?:\s+[^>]+)?\/?>*<\/\w+>|<\w+(?:\s+[^>]+)?\/?>/).uniq.join
15
+ _content = Nokogiri::HTML.fragment(_content.encode("UTF-8")).children.
16
+ map(&:to_s).select(&:present?).map {|e| e.gsub(/>\n/, '>') }.uniq.join("\n")
15
17
  @view_flow.set(name, _content)
16
18
  end
17
19
  end
@@ -1,3 +1,3 @@
1
1
  module ContentForOnce
2
- VERSION = "0.1.1"
2
+ VERSION = "0.1.2"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: content_for_once
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
  - Ryusuke Sekiguchi
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-04-02 00:00:00.000000000 Z
11
+ date: 2016-04-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: actionview
@@ -38,6 +38,20 @@ dependencies:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
40
  version: 4.2.6
41
+ - !ruby/object:Gem::Dependency
42
+ name: nokogiri
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
41
55
  - !ruby/object:Gem::Dependency
42
56
  name: bundler
43
57
  requirement: !ruby/object:Gem::Requirement
@@ -121,7 +135,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
121
135
  version: '0'
122
136
  requirements: []
123
137
  rubyforge_project:
124
- rubygems_version: 2.5.1
138
+ rubygems_version: 2.4.5.1
125
139
  signing_key:
126
140
  specification_version: 4
127
141
  summary: Embed the HTML tags just only once