smiley 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 +4 -4
- data/Gemfile.lock +10 -10
- data/README.md +4 -4
- data/Rakefile +1 -1
- data/lib/smiley.rb +7 -4
- data/spec/smiley_spec.rb +8 -5
- data/spec/spec_helper.rb +3 -0
- metadata +14 -14
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4a3b0ab5e6f21a2564bf57e6fcd7f5c04818b043
|
4
|
+
data.tar.gz: 25d8dad4083dc276e89d2620140f1bfbaaef3044
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f9df090c517b80ce7d02b26d537e17bcc15f1416a3e3bc62ed9deae4eb1da29f528ea78339b6b80a5b75114cfd11e4f2ab2311294085eed42ccffc1d9132e6bc
|
7
|
+
data.tar.gz: 2598b3b01fbaa9db3790f79878ea2a0899f911b72fe82be345aef7f2fa3e0642ddd44487986a8ec45ef609268fdfb5af7dec59e9b90072550c8a52c58c0a8ce6
|
data/Gemfile.lock
CHANGED
@@ -6,16 +6,16 @@ PATH
|
|
6
6
|
GEM
|
7
7
|
remote: https://rubygems.org/
|
8
8
|
specs:
|
9
|
-
diff-lcs (1.2.
|
10
|
-
rake (10.
|
11
|
-
rspec (2.
|
12
|
-
rspec-core (~> 2.
|
13
|
-
rspec-expectations (~> 2.
|
14
|
-
rspec-mocks (~> 2.
|
15
|
-
rspec-core (2.
|
16
|
-
rspec-expectations (2.
|
9
|
+
diff-lcs (1.2.5)
|
10
|
+
rake (10.1.1)
|
11
|
+
rspec (2.14.1)
|
12
|
+
rspec-core (~> 2.14.0)
|
13
|
+
rspec-expectations (~> 2.14.0)
|
14
|
+
rspec-mocks (~> 2.14.0)
|
15
|
+
rspec-core (2.14.8)
|
16
|
+
rspec-expectations (2.14.5)
|
17
17
|
diff-lcs (>= 1.1.3, < 2.0)
|
18
|
-
rspec-mocks (2.
|
18
|
+
rspec-mocks (2.14.6)
|
19
19
|
|
20
20
|
PLATFORMS
|
21
21
|
java
|
@@ -23,5 +23,5 @@ PLATFORMS
|
|
23
23
|
|
24
24
|
DEPENDENCIES
|
25
25
|
rake (~> 10.0)
|
26
|
-
rspec (~> 2.13
|
26
|
+
rspec (~> 2.13)
|
27
27
|
smiley!
|
data/README.md
CHANGED
@@ -1,6 +1,6 @@
|
|
1
|
-
[](https://codeclimate.com/github/iGEL/smiley)
|
2
|
-
[](https://travis-ci.org/iGEL/smiley)
|
3
|
-
(Tested: Ruby 2.0.0, 1.9.3, 1.9.2,
|
1
|
+
[](https://codeclimate.com/github/iGEL/smiley)
|
2
|
+
[](https://travis-ci.org/iGEL/smiley)
|
3
|
+
(Tested: Ruby 2.1.1, 2.0.0, 1.9.3, 1.9.2, Rubinius, Jruby)
|
4
4
|
|
5
5
|
Smiley
|
6
6
|
======
|
@@ -12,7 +12,7 @@ image. This way, you can use [CSS sprites](http://css-tricks.com/css-sprites/) t
|
|
12
12
|
Usage
|
13
13
|
=====
|
14
14
|
|
15
|
-
First, configure the smileys you want to have converted in a yml file. If you use this lib with Ruby on Rails, the
|
15
|
+
First, configure the smileys you want to have converted in a yml file. If you use this lib with Ruby on Rails, the
|
16
16
|
default position for this file is in `config/smileys.yml`.
|
17
17
|
|
18
18
|
```yml
|
data/Rakefile
CHANGED
data/lib/smiley.rb
CHANGED
@@ -44,7 +44,7 @@ class Smiley
|
|
44
44
|
|
45
45
|
def parse(text)
|
46
46
|
text = h(text).gsub(self.class.regex) do
|
47
|
-
%(
|
47
|
+
%(<em class="#{css_class(self.class.smileys[$1])}"></em>)
|
48
48
|
end
|
49
49
|
|
50
50
|
text.respond_to?(:html_safe) ? text.html_safe : text
|
@@ -95,8 +95,11 @@ class Smiley
|
|
95
95
|
return @@regex if defined?(@@regex)
|
96
96
|
|
97
97
|
before_and_after = "[.,;:!\\?\\(\\[\\{\\)\\]\\}\\-]|\\s"
|
98
|
-
@@regex = Regexp.compile(
|
99
|
-
|
100
|
-
|
98
|
+
@@regex = Regexp.compile(
|
99
|
+
"(?<=^|#{before_and_after})" +
|
100
|
+
"(" + smileys.keys.map { |token| Regexp.escape(token) }.join("|") + ")" +
|
101
|
+
"(?=$|#{before_and_after})",
|
102
|
+
Regexp::MULTILINE
|
103
|
+
)
|
101
104
|
end
|
102
105
|
end
|
data/spec/smiley_spec.rb
CHANGED
@@ -4,7 +4,6 @@ require 'smiley'
|
|
4
4
|
describe Smiley do
|
5
5
|
subject(:smiley) { described_class.new }
|
6
6
|
|
7
|
-
|
8
7
|
after do
|
9
8
|
described_class.class_eval do
|
10
9
|
remove_class_variable :@@all_class if class_variable_defined?(:@@all_class)
|
@@ -56,7 +55,7 @@ describe Smiley do
|
|
56
55
|
it 'return \#{Rails.root}/config/smileys.yml, if Rails.root is defined"' do
|
57
56
|
rails = double('Rails')
|
58
57
|
stub_const('Rails', rails)
|
59
|
-
rails.
|
58
|
+
allow(rails).to receive(:root).and_return('/home/igel/dev/example.com/')
|
60
59
|
|
61
60
|
expect(described_class.smiley_file).to eq('/home/igel/dev/example.com/config/smileys.yml')
|
62
61
|
end
|
@@ -97,6 +96,10 @@ describe Smiley do
|
|
97
96
|
expect(smiley.parse("That's so funny! :P Will tell my grandma about that :rolleyes: ")).to eq(%(That's so funny! <em class="smiley smiley-razz"></em> Will tell my grandma about that <em class="smiley smiley-rolleyes"></em> ))
|
98
97
|
end
|
99
98
|
|
99
|
+
it 'works with smileys directly one after the other' do
|
100
|
+
expect(smiley.parse("That's so funny! :-) ;-)")).to eq(%(That's so funny! <em class="smiley smiley-smile"></em> <em class="smiley smiley-wink"></em>))
|
101
|
+
end
|
102
|
+
|
100
103
|
it 'parses smileys at the beginning and end of a string' do
|
101
104
|
expect(smiley.parse(':D So funny! ;-)')).to eq(%(<em class="smiley smiley-grin"></em> So funny! <em class="smiley smiley-wink"></em>))
|
102
105
|
end
|
@@ -144,13 +147,13 @@ describe Smiley do
|
|
144
147
|
erb_utils = double('ERB::Utils')
|
145
148
|
stub_const('ERB::Utils', erb_utils)
|
146
149
|
|
147
|
-
erb_utils.
|
148
|
-
|
150
|
+
expect(erb_utils).to receive(:html_escape).with('<script>alert("Hacked!")</script>').and_return('<script>alert("Hacked!")</script>')
|
151
|
+
|
149
152
|
smiley.parse('<script>alert("Hacked!")</script>')
|
150
153
|
end
|
151
154
|
|
152
155
|
it 'marks the String as HTML safe, if that method is available' do
|
153
|
-
String.
|
156
|
+
expect_any_instance_of(String).to receive(:html_safe)
|
154
157
|
|
155
158
|
smiley.parse(':-)')
|
156
159
|
end
|
data/spec/spec_helper.rb
CHANGED
metadata
CHANGED
@@ -1,54 +1,54 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: smiley
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Johannes Barre
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2014-03-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - ~>
|
17
|
+
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: '10.0'
|
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
26
|
version: '10.0'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: rspec
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- - ~>
|
31
|
+
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: 2.13
|
33
|
+
version: '2.13'
|
34
34
|
type: :development
|
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: 2.13
|
40
|
+
version: '2.13'
|
41
41
|
description:
|
42
42
|
email: igel@igels.net
|
43
43
|
executables: []
|
44
44
|
extensions: []
|
45
45
|
extra_rdoc_files: []
|
46
46
|
files:
|
47
|
-
- README.md
|
48
|
-
- MIT-LICENSE
|
49
|
-
- Rakefile
|
50
47
|
- Gemfile
|
51
48
|
- Gemfile.lock
|
49
|
+
- MIT-LICENSE
|
50
|
+
- README.md
|
51
|
+
- Rakefile
|
52
52
|
- lib/smiley.rb
|
53
53
|
- spec/smiley_spec.rb
|
54
54
|
- spec/spec_helper.rb
|
@@ -61,17 +61,17 @@ require_paths:
|
|
61
61
|
- lib
|
62
62
|
required_ruby_version: !ruby/object:Gem::Requirement
|
63
63
|
requirements:
|
64
|
-
- -
|
64
|
+
- - ">="
|
65
65
|
- !ruby/object:Gem::Version
|
66
66
|
version: '0'
|
67
67
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
68
68
|
requirements:
|
69
|
-
- -
|
69
|
+
- - ">="
|
70
70
|
- !ruby/object:Gem::Version
|
71
71
|
version: 1.3.6
|
72
72
|
requirements: []
|
73
73
|
rubyforge_project:
|
74
|
-
rubygems_version: 2.
|
74
|
+
rubygems_version: 2.2.2
|
75
75
|
signing_key:
|
76
76
|
specification_version: 4
|
77
77
|
summary: A small lib to parse smileys. Use CSS to display them!
|