js-code-wrapper 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.
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # js-code-wrapper #
2
2
 
3
- Gem provides helper method 'wrap_js_code' that wraps javascript into '<code></code>' tags.
3
+ Gem provides helper method `wrap_js_code` that wraps javascript into `<code></code>` tags.
4
4
 
5
5
  ## Installation ##
6
6
 
@@ -13,5 +13,5 @@ to your `Gemfile`.
13
13
  ## Usage ##
14
14
 
15
15
  ``` ruby
16
- wrap_js_code('<script>alert('wrap me!');</script>') # => '<code><script>alert('wrap me!');</script></code>'"
16
+ wrap_js_code("<script>alert('wrap me!');</script>") # => "<code><script>alert('wrap me!');</script></code>"
17
17
  ```
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.0
1
+ 0.1.1
@@ -0,0 +1,57 @@
1
+ # Generated by jeweler
2
+ # DO NOT EDIT THIS FILE DIRECTLY
3
+ # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
+ # -*- encoding: utf-8 -*-
5
+
6
+ Gem::Specification.new do |s|
7
+ s.name = "js-code-wrapper"
8
+ s.version = "0.1.1"
9
+
10
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
+ s.authors = ["dom1nga"]
12
+ s.date = "2011-11-28"
13
+ s.description = "Usage: wrap_js_code('<script>alert('wrap me!');</script>') # => '<code><script>alert('wrap me!');</script></code>'"
14
+ s.email = "beloved.dom1nga@gmail.com"
15
+ s.extra_rdoc_files = [
16
+ "LICENSE.txt",
17
+ "README.md"
18
+ ]
19
+ s.files = [
20
+ ".document",
21
+ ".rspec",
22
+ "Gemfile",
23
+ "Gemfile.lock",
24
+ "LICENSE.txt",
25
+ "README.md",
26
+ "Rakefile",
27
+ "VERSION",
28
+ "js-code-wrapper.gemspec",
29
+ "lib/js-code-wrapper.rb",
30
+ "spec/lib/js_code_wrapper_spec.rb",
31
+ "spec/spec_helper.rb"
32
+ ]
33
+ s.homepage = "http://github.com/dom1nga/js-code-wrapper"
34
+ s.licenses = ["MIT"]
35
+ s.require_paths = ["lib"]
36
+ s.rubygems_version = "1.8.10"
37
+ s.summary = "Provides helper method 'wrap_js_code' that wraps javascript code into '<code></code>' tags"
38
+
39
+ if s.respond_to? :specification_version then
40
+ s.specification_version = 3
41
+
42
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
43
+ s.add_development_dependency(%q<rspec>, [">= 0"])
44
+ s.add_development_dependency(%q<rake>, [">= 0"])
45
+ s.add_development_dependency(%q<jeweler>, [">= 0"])
46
+ else
47
+ s.add_dependency(%q<rspec>, [">= 0"])
48
+ s.add_dependency(%q<rake>, [">= 0"])
49
+ s.add_dependency(%q<jeweler>, [">= 0"])
50
+ end
51
+ else
52
+ s.add_dependency(%q<rspec>, [">= 0"])
53
+ s.add_dependency(%q<rake>, [">= 0"])
54
+ s.add_dependency(%q<jeweler>, [">= 0"])
55
+ end
56
+ end
57
+
@@ -1,7 +1,7 @@
1
1
  module JsCodeWrapper
2
2
  def wrap_js_code(text)
3
3
  code_coords = code_tag_coords(text)
4
- matches_count = script_to_code_tags_inclusion(text, code_coords).count {|t| !t}
4
+ matches_count = script_to_code_tags_inclusion(text, code_coords).count {|t| !t[1]}
5
5
 
6
6
  while matches_count > 0 do
7
7
  text = insert_code_tags(text, code_coords)
@@ -21,7 +21,7 @@ module JsCodeWrapper
21
21
  end
22
22
 
23
23
  def script_to_code_tags_inclusion(text, code_coords)
24
- text.to_enum(:scan,/(<script{1}[^<]*<\/script>{1})/i).map { |m,| $`.size }.map { |v| code_coords.map{|c| c[0] < v && v < c[1] }.compact.any? }
24
+ text.to_enum(:scan,/(<script{1}[^<]*<\/script>{1})/i).map { |m,| $`.size }.map { |v| [v, code_coords.map{|c| c[0] < v && v < c[1] }.compact.any?] }
25
25
  end
26
26
 
27
27
  def insert_code_tags(text, code_coords)
@@ -29,8 +29,8 @@ module JsCodeWrapper
29
29
 
30
30
  script_to_code_tags_inclusion(text, code_coords).each do |b|
31
31
  tmp = matches.next
32
- unless b
33
- text[tmp] = '<code>'+ tmp +'</code>'
32
+ unless b[1]
33
+ text[b[0]..(b[0]+tmp.length-1)] = '<code>'+ tmp +'</code>'
34
34
  return text
35
35
  end
36
36
  end
@@ -15,6 +15,11 @@ describe JsCodeWrapper do
15
15
  wrap_js_code('<script type="text/javascript" src="example.com/example.js"></script>').should == '<code><script type="text/javascript" src="example.com/example.js"></script></code>'
16
16
  end
17
17
 
18
+ it "should return the text with script body wrapped into code tags when script body duplicated in text" do
19
+ wrap_js_code('<code><script>alert("wrap me!")</script></code><script>alert("wrap me!")</script>').should ==
20
+ '<code><script>alert("wrap me!")</script></code><code><script>alert("wrap me!")</script></code>'
21
+ end
22
+
18
23
  it "should return the text with script body wrapped into code tags" do
19
24
  wrap_js_code("<code><script>alert('wrap me1!')</script><script type='text/javascript' src='example.com/example1.js'></script></code><p>text1</p><script>alert('wrap me2!')</script><script type='text/javascript' src='example.com/example2.js'></script><code><script>alert('wrap me3!')</script></code>").should == "<code><script>alert('wrap me1!')</script><script type='text/javascript' src='example.com/example1.js'></script></code><p>text1</p><code><script>alert('wrap me2!')</script></code><code><script type='text/javascript' src='example.com/example2.js'></script></code><code><script>alert('wrap me3!')</script></code>"
20
25
  end
metadata CHANGED
@@ -1,58 +1,74 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: js-code-wrapper
3
- version: !ruby/object:Gem::Version
4
- version: 0.1.0
3
+ version: !ruby/object:Gem::Version
4
+ hash: 25
5
5
  prerelease:
6
+ segments:
7
+ - 0
8
+ - 1
9
+ - 1
10
+ version: 0.1.1
6
11
  platform: ruby
7
- authors:
12
+ authors:
8
13
  - dom1nga
9
14
  autorequire:
10
15
  bindir: bin
11
16
  cert_chain: []
12
- date: 2011-11-27 00:00:00.000000000Z
13
- dependencies:
14
- - !ruby/object:Gem::Dependency
15
- name: rspec
16
- requirement: &6788990 !ruby/object:Gem::Requirement
17
+
18
+ date: 2011-11-28 00:00:00 Z
19
+ dependencies:
20
+ - !ruby/object:Gem::Dependency
21
+ requirement: &id001 !ruby/object:Gem::Requirement
17
22
  none: false
18
- requirements:
19
- - - ! '>='
20
- - !ruby/object:Gem::Version
21
- version: '0'
22
- type: :development
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ hash: 3
27
+ segments:
28
+ - 0
29
+ version: "0"
30
+ version_requirements: *id001
31
+ name: rspec
23
32
  prerelease: false
24
- version_requirements: *6788990
25
- - !ruby/object:Gem::Dependency
26
- name: rake
27
- requirement: &6788420 !ruby/object:Gem::Requirement
28
- none: false
29
- requirements:
30
- - - ! '>='
31
- - !ruby/object:Gem::Version
32
- version: '0'
33
33
  type: :development
34
- prerelease: false
35
- version_requirements: *6788420
36
- - !ruby/object:Gem::Dependency
37
- name: jeweler
38
- requirement: &6787720 !ruby/object:Gem::Requirement
34
+ - !ruby/object:Gem::Dependency
35
+ requirement: &id002 !ruby/object:Gem::Requirement
39
36
  none: false
40
- requirements:
41
- - - ! '>='
42
- - !ruby/object:Gem::Version
43
- version: '0'
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ hash: 3
41
+ segments:
42
+ - 0
43
+ version: "0"
44
+ version_requirements: *id002
45
+ name: rake
46
+ prerelease: false
44
47
  type: :development
48
+ - !ruby/object:Gem::Dependency
49
+ requirement: &id003 !ruby/object:Gem::Requirement
50
+ none: false
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ hash: 3
55
+ segments:
56
+ - 0
57
+ version: "0"
58
+ version_requirements: *id003
59
+ name: jeweler
45
60
  prerelease: false
46
- version_requirements: *6787720
47
- description: ! 'Usage: wrap_js_code(''<script>alert(''wrap me!'');</script>'') # =>
48
- ''<code><script>alert(''wrap me!'');</script></code>'''
61
+ type: :development
62
+ description: "Usage: wrap_js_code('<script>alert('wrap me!');</script>') # => '<code><script>alert('wrap me!');</script></code>'"
49
63
  email: beloved.dom1nga@gmail.com
50
64
  executables: []
65
+
51
66
  extensions: []
52
- extra_rdoc_files:
67
+
68
+ extra_rdoc_files:
53
69
  - LICENSE.txt
54
70
  - README.md
55
- files:
71
+ files:
56
72
  - .document
57
73
  - .rspec
58
74
  - Gemfile
@@ -61,36 +77,42 @@ files:
61
77
  - README.md
62
78
  - Rakefile
63
79
  - VERSION
80
+ - js-code-wrapper.gemspec
64
81
  - lib/js-code-wrapper.rb
65
82
  - spec/lib/js_code_wrapper_spec.rb
66
83
  - spec/spec_helper.rb
67
84
  homepage: http://github.com/dom1nga/js-code-wrapper
68
- licenses:
85
+ licenses:
69
86
  - MIT
70
87
  post_install_message:
71
88
  rdoc_options: []
72
- require_paths:
89
+
90
+ require_paths:
73
91
  - lib
74
- required_ruby_version: !ruby/object:Gem::Requirement
92
+ required_ruby_version: !ruby/object:Gem::Requirement
75
93
  none: false
76
- requirements:
77
- - - ! '>='
78
- - !ruby/object:Gem::Version
79
- version: '0'
80
- segments:
94
+ requirements:
95
+ - - ">="
96
+ - !ruby/object:Gem::Version
97
+ hash: 3
98
+ segments:
81
99
  - 0
82
- hash: 465868685
83
- required_rubygems_version: !ruby/object:Gem::Requirement
100
+ version: "0"
101
+ required_rubygems_version: !ruby/object:Gem::Requirement
84
102
  none: false
85
- requirements:
86
- - - ! '>='
87
- - !ruby/object:Gem::Version
88
- version: '0'
103
+ requirements:
104
+ - - ">="
105
+ - !ruby/object:Gem::Version
106
+ hash: 3
107
+ segments:
108
+ - 0
109
+ version: "0"
89
110
  requirements: []
111
+
90
112
  rubyforge_project:
91
- rubygems_version: 1.8.7
113
+ rubygems_version: 1.8.10
92
114
  signing_key:
93
115
  specification_version: 3
94
- summary: Provides helper method 'wrap_js_code' that wraps javascript code into '<code></code>'
95
- tags
116
+ summary: Provides helper method 'wrap_js_code' that wraps javascript code into '<code></code>' tags
96
117
  test_files: []
118
+