shortcode 0.3.3 → 0.4.0

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/Gemfile.lock CHANGED
@@ -1,8 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- shortcode (0.3.3)
5
- haml (~> 4.0)
4
+ shortcode (0.4.0)
6
5
  parslet (= 1.6.0)
7
6
 
8
7
  GEM
@@ -19,7 +18,7 @@ GEM
19
18
  simplecov (>= 0.7)
20
19
  term-ansicolor
21
20
  thor
22
- diff-lcs (1.2.4)
21
+ diff-lcs (1.2.5)
23
22
  docile (1.1.3)
24
23
  haml (4.0.5)
25
24
  tilt
@@ -30,14 +29,18 @@ GEM
30
29
  rake (10.1.0)
31
30
  rest-client (1.6.7)
32
31
  mime-types (>= 1.16)
33
- rspec (2.14.1)
34
- rspec-core (~> 2.14.0)
35
- rspec-expectations (~> 2.14.0)
36
- rspec-mocks (~> 2.14.0)
37
- rspec-core (2.14.4)
38
- rspec-expectations (2.14.0)
39
- diff-lcs (>= 1.1.3, < 2.0)
40
- rspec-mocks (2.14.1)
32
+ rspec (3.0.0)
33
+ rspec-core (~> 3.0.0)
34
+ rspec-expectations (~> 3.0.0)
35
+ rspec-mocks (~> 3.0.0)
36
+ rspec-core (3.0.0)
37
+ rspec-support (~> 3.0.0)
38
+ rspec-expectations (3.0.0)
39
+ diff-lcs (>= 1.2.0, < 2.0)
40
+ rspec-support (~> 3.0.0)
41
+ rspec-mocks (3.0.0)
42
+ rspec-support (~> 3.0.0)
43
+ rspec-support (3.0.0)
41
44
  simplecov (0.8.2)
42
45
  docile (~> 1.1.0)
43
46
  multi_json
@@ -60,7 +63,8 @@ DEPENDENCIES
60
63
  appraisal (= 1.0.0.beta3)
61
64
  bundler (~> 1.3)
62
65
  coveralls
66
+ haml (~> 4.0)
63
67
  rake
64
- rspec
68
+ rspec (~> 3.0.0)
65
69
  shortcode!
66
70
  slim (~> 2.0)
data/README.md CHANGED
@@ -46,10 +46,10 @@ Shortcode.process("[quote]Hello World[/quote]")
46
46
  Shortcode.setup do |config|
47
47
 
48
48
  # the template parser to use
49
- config.template_parser = :haml # :erb, :haml, :slim supported, :haml is default
49
+ config.template_parser = :erb # :erb, :haml, :slim supported, :erb is default
50
50
 
51
51
  # location of the template files, default is "app/views/shortcode_templates"
52
- config.template_path = "support/templates/haml"
52
+ config.template_path = "support/templates/erb"
53
53
 
54
54
  # a hash of templates passed as strings, if this is set it overrides the
55
55
  # above template_path option. The default is nil
@@ -68,19 +68,26 @@ end
68
68
 
69
69
  ### Templates
70
70
 
71
- Each shortcode tag needs a template in order to translate the shortcode into html (or other output). Templates can be written in HAML or erb and work in
71
+ Each shortcode tag needs a template in order to translate the shortcode into html (or other output). Templates can be written in erb, haml or slim and work in
72
72
  a similar way to views in Rails. The main content of a tag is passed via the instance variable `@content`. Any attributes defined on a tag are passed in via an `@attributes` hash, shortcodes can have any number of attributes. For instance a quote shortcode might look like this:
73
73
 
74
74
  [quote author="Homer Simpson"]Doh![/quote]
75
75
 
76
- And the haml template to render the shortcode
77
-
78
- ```haml
79
- %blockquote
80
- %p.quotation= @content
81
- -if @attributes[:author]
82
- %p.citation
83
- %span.author= @attributes[:author]
76
+ And the erb template to render the shortcode
77
+
78
+ ```erb
79
+ <blockquote>
80
+ <p class='quotation'>
81
+ <%= @content %>
82
+ </p>
83
+ <% if @attributes[:author] %>
84
+ <p class='citation'>
85
+ <span class='author'>
86
+ <%= @attributes[:author] %>
87
+ </span>
88
+ </p>
89
+ <% end %>
90
+ </blockquote>
84
91
  ```
85
92
 
86
93
  If using the gem within a Rails project you can use the Rails helper methods within templates.
@@ -101,7 +108,7 @@ block as strings.
101
108
 
102
109
  #### Templates loaded from the file system
103
110
 
104
- Simply create files with the extension or .haml or .erb with a filename the same as the shortcode tag, e.g. gallery.haml would render a [gallery] shortcode tag. The default
111
+ Simply create files with the extension or .erb, .haml, or .slim with a filename the same as the shortcode tag, e.g. gallery.html.erb would render a [gallery] shortcode tag. The default
105
112
  location for template files is `app/views/shortcode_templates`, if you want to load tempaltes from a different location use the `template_path` config option.
106
113
 
107
114
  #### Templates set as configuration options
data/lib/shortcode.rb CHANGED
@@ -1,11 +1,13 @@
1
1
  require 'parslet'
2
- require 'haml'
2
+ require 'erb'
3
3
 
4
4
  begin
5
- require 'slim'
5
+ require 'haml'
6
6
  rescue LoadError; end
7
7
 
8
- require 'erb'
8
+ begin
9
+ require 'slim'
10
+ rescue LoadError; end
9
11
 
10
12
  module Shortcode
11
13
 
@@ -1,20 +1,7 @@
1
1
  class Shortcode::Configuration
2
- # This stores if the parser has been set in a configuration block so that deprication
3
- # warnings can be issued
4
- attr_accessor :parser_set
5
-
6
- def haml_deprecation_warning
7
- "[DEPRECATION] HAML will no longer be the default template parser in version 0.4 of Shortcode. A HAML template has been used without explicitly specifying HAML as the template parser in a setup block. Please set config.template_parser = :haml to suppress this warning"
8
- end
9
-
10
2
  # Sets the template parser to use, supports :erb, :haml, and :slim, default is :haml
11
3
  attr_accessor :template_parser
12
4
 
13
- def template_parser=(parser)
14
- @parser_set = true
15
- @template_parser = parser
16
- end
17
-
18
5
  # Sets the path to search for template files
19
6
  attr_accessor :template_path
20
7
 
@@ -31,12 +18,11 @@ class Shortcode::Configuration
31
18
  attr_accessor :quotes
32
19
 
33
20
  def initialize
34
- @template_parser = :haml
21
+ @template_parser = :erb
35
22
  @template_path = "app/views/shortcode_templates"
36
23
  @templates = nil
37
24
  @block_tags = []
38
25
  @self_closing_tags = []
39
26
  @quotes = '"'
40
- @parser_set = false
41
27
  end
42
28
  end
data/lib/shortcode/tag.rb CHANGED
@@ -29,13 +29,12 @@ class Shortcode::Tag
29
29
 
30
30
  def render_template
31
31
  case Shortcode.configuration.template_parser
32
- when :slim
33
- Slim::Template.new { markup }.render(self)
34
- when :haml
35
- warn Shortcode.configuration.haml_deprecation_warning unless Shortcode.configuration.parser_set
36
- Haml::Engine.new(markup, ugly: true).render(binding)
37
32
  when :erb
38
33
  ERB.new(markup).result(binding)
34
+ when :haml
35
+ Haml::Engine.new(markup, ugly: true).render(binding)
36
+ when :slim
37
+ Slim::Template.new { markup }.render(self)
39
38
  else
40
39
  raise Shortcode::TemplateParserNotSupported, Shortcode.configuration.template_parser
41
40
  end
@@ -1,3 +1,3 @@
1
1
  module Shortcode
2
- VERSION = "0.3.3"
2
+ VERSION = "0.4.0"
3
3
  end
data/shortcode.gemspec CHANGED
@@ -19,11 +19,11 @@ Gem::Specification.new do |spec|
19
19
  spec.require_paths = ["lib"]
20
20
 
21
21
  spec.add_dependency "parslet", "1.6.0"
22
- spec.add_dependency "haml", "~> 4.0"
23
22
 
24
23
  spec.add_development_dependency "bundler", "~> 1.3"
25
24
  spec.add_development_dependency "rake"
26
- spec.add_development_dependency "rspec"
25
+ spec.add_development_dependency "rspec", "~> 3.0.0"
27
26
  spec.add_development_dependency "coveralls"
28
27
  spec.add_development_dependency "slim", "~> 2.0"
28
+ spec.add_development_dependency "haml", "~> 4.0"
29
29
  end
data/spec/parser_spec.rb CHANGED
@@ -21,7 +21,7 @@ describe Shortcode::Parser do
21
21
 
22
22
  it "parses quote shortcodes" do
23
23
  quotes.each do |string|
24
- parser.should parse(string)
24
+ expect(parser).to parse(string)
25
25
  end
26
26
  end
27
27
 
@@ -32,7 +32,7 @@ describe Shortcode::Parser do
32
32
 
33
33
  quotes.each do |string|
34
34
  # Change double quotes to single quotes in the fixture
35
- parser.should parse(string.gsub '"', "'")
35
+ expect(parser).to parse(string.gsub '"', "'")
36
36
  end
37
37
 
38
38
  # Reset configuration to default
@@ -43,18 +43,18 @@ describe Shortcode::Parser do
43
43
 
44
44
  it "parses list shortcodes" do
45
45
  collapsible_lists.each do |string|
46
- parser.should parse(string)
46
+ expect(parser).to parse(string)
47
47
  end
48
48
  end
49
49
 
50
50
  it "parses timeline shortcodes" do
51
51
  timelines.each do |string|
52
- parser.should parse(string)
52
+ expect(parser).to parse(string)
53
53
  end
54
54
  end
55
55
 
56
56
  it "parses complex nested shortcodes" do
57
- parser.should parse(complex_snippet)
57
+ expect(parser).to parse(complex_snippet)
58
58
  end
59
59
 
60
60
  describe "parsed strings" do
@@ -64,7 +64,7 @@ describe Shortcode::Parser do
64
64
  let(:parsed_object) { parser.parse(simple_quote) }
65
65
 
66
66
  it "created the expected object" do
67
- parsed_object[:body].should == [{ open: "quote", options: [], inner: [{ text: "hello" }], close: "quote" }]
67
+ expect(parsed_object[:body]).to eq([{ open: "quote", options: [], inner: [{ text: "hello" }], close: "quote" }])
68
68
  end
69
69
 
70
70
  end
@@ -74,7 +74,7 @@ describe Shortcode::Parser do
74
74
  let(:parsed_object) { parser.parse(full_quote) }
75
75
 
76
76
  it "created the expected object" do
77
- parsed_object[:body].should == [{
77
+ expect(parsed_object[:body]).to eq([{
78
78
  open: "quote",
79
79
  options: [
80
80
  { key: "author", value: "Jamie Dyer" },
@@ -82,7 +82,7 @@ describe Shortcode::Parser do
82
82
  ],
83
83
  inner: [{ text: "A quote" }],
84
84
  close: "quote"
85
- }]
85
+ }])
86
86
  end
87
87
 
88
88
  end
@@ -92,7 +92,7 @@ describe Shortcode::Parser do
92
92
  let(:parsed_object) { parser.parse(quote_with_extras) }
93
93
 
94
94
  it "created the expected object" do
95
- parsed_object[:body].should == [
95
+ expect(parsed_object[:body]).to eq([
96
96
  { text: "Blah blah " },
97
97
  {
98
98
  open: "quote",
@@ -103,7 +103,7 @@ describe Shortcode::Parser do
103
103
  close: "quote"
104
104
  },
105
105
  { text: "<br> blah blah\n" }
106
- ]
106
+ ])
107
107
  end
108
108
 
109
109
  end
@@ -113,7 +113,7 @@ describe Shortcode::Parser do
113
113
  let(:parsed_object) { parser.parse(simple_list) }
114
114
 
115
115
  it "created the expected object" do
116
- parsed_object[:body].should == [{
116
+ expect(parsed_object[:body]).to eq([{
117
117
  open: "collapsible_list",
118
118
  options: [],
119
119
  inner: [{
@@ -135,7 +135,7 @@ describe Shortcode::Parser do
135
135
  close: "item"
136
136
  }],
137
137
  close: "collapsible_list"
138
- }]
138
+ }])
139
139
  end
140
140
 
141
141
  end
@@ -145,14 +145,14 @@ describe Shortcode::Parser do
145
145
  let(:parsed_object) { parser.parse(timeline_event) }
146
146
 
147
147
  it "created the expected object" do
148
- parsed_object[:body].should == [{
148
+ expect(parsed_object[:body]).to eq([{
149
149
  open_close: "timeline_event",
150
150
  options: [
151
151
  { key: "date", value: "March 2013" },
152
152
  { key: "title", value: "a title" },
153
153
  { key: "link", value: "http://blah.com" }
154
154
  ]
155
- }]
155
+ }])
156
156
  end
157
157
 
158
158
  end
@@ -162,13 +162,13 @@ describe Shortcode::Parser do
162
162
  let(:parsed_object) { parser.parse(timeline_info) }
163
163
 
164
164
  it "created the expected object" do
165
- parsed_object[:body].should == [{
165
+ expect(parsed_object[:body]).to eq([{
166
166
  open_close: "timeline_info",
167
167
  options: [
168
168
  { key: "date", value: "Feb 2013" },
169
169
  { key: "title", value: "Something amazing" }
170
170
  ]
171
- }]
171
+ }])
172
172
  end
173
173
 
174
174
  end
@@ -178,7 +178,7 @@ describe Shortcode::Parser do
178
178
  let(:parsed_object) { parser.parse(timeline_person) }
179
179
 
180
180
  it "created the expected object" do
181
- parsed_object[:body].should == [{
181
+ expect(parsed_object[:body]).to eq([{
182
182
  open: "timeline_person",
183
183
  options: [
184
184
  { key: "date", value: "Jan 2012" },
@@ -190,7 +190,7 @@ describe Shortcode::Parser do
190
190
  ],
191
191
  inner: [{ text: "A bit of body copy\nwith a newline\n" }],
192
192
  close: "timeline_person"
193
- }]
193
+ }])
194
194
  end
195
195
 
196
196
  end
@@ -200,7 +200,7 @@ describe Shortcode::Parser do
200
200
  let(:parsed_object) { parser.parse(complex_snippet) }
201
201
 
202
202
  it "created the expected object" do
203
- parsed_object[:body].should == [{
203
+ expect(parsed_object[:body]).to eq([{
204
204
  text: "<h3>A page title</h3>\n<p>Some text</p>\n"},
205
205
  {
206
206
  open: "collapsible_list",
@@ -244,7 +244,7 @@ describe Shortcode::Parser do
244
244
  close: "collapsible_list"
245
245
  },
246
246
  { text: "<p>Some more text</p>\n" }
247
- ]
247
+ ])
248
248
  end
249
249
  end
250
250
  end
@@ -36,11 +36,11 @@ describe Shortcode::Presenter do
36
36
  end
37
37
 
38
38
  it "uses the custom attributes" do
39
- Shortcode.process(simple_quote).gsub("\n",'').should == presenter_output.gsub("\n",'')
39
+ expect(Shortcode.process(simple_quote).gsub("\n",'')).to eq(presenter_output)
40
40
  end
41
41
 
42
42
  it "passes through additional attributes" do
43
- Shortcode.process(simple_quote, { title: 'Additional attribute title' }).gsub("\n",'').should == attributes_output.gsub("\n",'')
43
+ expect(Shortcode.process(simple_quote, { title: 'Additional attribute title' }).gsub("\n",'')).to eq(attributes_output)
44
44
  end
45
45
 
46
46
  end
@@ -10,23 +10,23 @@ describe "rails helpers" do
10
10
 
11
11
  describe "erb" do
12
12
 
13
- before(:each) do
14
- Shortcode.setup do |config|
15
- config.template_parser = :erb
16
- config.template_path = File.join File.dirname(__FILE__), "support/templates/erb"
17
- end
18
- end
19
-
20
13
  it "are accessible within erb templates" do
21
- Shortcode.process(template).gsub("\n",'').should == erb_output.gsub("\n",'')
14
+ expect(Shortcode.process(template).gsub("\n",'')).to eq(erb_output)
22
15
  end
23
16
 
24
17
  end
25
18
 
26
19
  describe "haml" do
27
20
 
21
+ before(:each) do
22
+ Shortcode.setup do |config|
23
+ config.template_parser = :haml
24
+ config.template_path = File.join File.dirname(__FILE__), "support/templates/haml"
25
+ end
26
+ end
27
+
28
28
  it "are accessible within haml templates" do
29
- Shortcode.process(template).gsub("\n",'').should == haml_output.gsub("\n",'')
29
+ expect(Shortcode.process(template).gsub("\n",'')).to eq(haml_output)
30
30
  end
31
31
 
32
32
  end
@@ -41,7 +41,7 @@ describe "rails helpers" do
41
41
  end
42
42
 
43
43
  it "are accessible within slim templates" do
44
- Shortcode.process(template).gsub("\n",'').should == slim_output.gsub("\n",'')
44
+ expect(Shortcode.process(template).gsub("\n",'')).to eq(slim_output)
45
45
  end
46
46
 
47
47
  end
@@ -10,22 +10,15 @@ describe Shortcode do
10
10
  context "simple_quote" do
11
11
 
12
12
  it "converts into html" do
13
- Shortcode.process(simple_quote).should == simple_quote_output
13
+ expect(Shortcode.process(simple_quote).gsub("\n",'')).to eq(simple_quote_output)
14
14
  end
15
15
 
16
16
  end
17
17
 
18
18
  context "erb templates" do
19
19
 
20
- before(:each) do
21
- Shortcode.setup do |config|
22
- config.template_parser = :erb
23
- config.template_path = File.join File.dirname(__FILE__), "support/templates/erb"
24
- end
25
- end
26
-
27
20
  it "converts into html" do
28
- Shortcode.process(simple_quote).gsub("\n",'').should == simple_quote_output.gsub("\n",'')
21
+ expect(Shortcode.process(simple_quote).gsub("\n",'')).to eq(simple_quote_output)
29
22
  end
30
23
  end
31
24
 
data/spec/spec_helper.rb CHANGED
@@ -1,14 +1,15 @@
1
1
  $LOAD_PATH.unshift File.dirname(__FILE__)
2
2
 
3
- require 'coveralls'
4
- Coveralls.wear!
3
+ if ENV["CI"]
4
+ require 'coveralls'
5
+ Coveralls.wear!
6
+ end
5
7
 
6
8
  require 'rspec'
7
9
  require 'rails'
8
10
  require 'action_view'
9
11
  require 'shortcode'
10
12
  require 'support/fixtures'
11
- require 'support/custom_expectations/write_expectation'
12
13
 
13
14
  # Set slim's attribute quotes to use single quotes so it's the same as haml
14
15
  Slim::Engine.set_default_options attr_quote: "'"
@@ -19,9 +20,8 @@ RSpec.configure do |config|
19
20
  config.before(:each) do
20
21
  Shortcode.presenters = {}
21
22
  Shortcode.setup do |config|
22
- config.template_parser = :haml
23
- config.parser_set = false
24
- config.template_path = File.join File.dirname(__FILE__), "support/templates/haml"
23
+ config.template_parser = :erb
24
+ config.template_path = File.join File.dirname(__FILE__), "support/templates/erb"
25
25
  config.templates = nil
26
26
  config.block_tags = [:quote, :collapsible_list, :item, :timeline_person, :rails_helper]
27
27
  config.self_closing_tags = [:timeline_event, :timeline_info]
@@ -1,7 +1,9 @@
1
1
  RSpec.configure do |config|
2
2
 
3
3
  def load_fixture(name, type='txt')
4
- File.read File.join(File.dirname(__FILE__), 'fixtures', "#{name}.#{type}")
4
+ type = type.to_s
5
+ string = File.read(File.join(File.dirname(__FILE__), 'fixtures', "#{name}.#{type}"))
6
+ type == 'txt' ? string : string.gsub("\n",'')
5
7
  end
6
8
 
7
9
  end
@@ -0,0 +1,3 @@
1
+ <div class='collapsible'>
2
+ <%= @content %>
3
+ </div>
@@ -0,0 +1,4 @@
1
+ <section>
2
+ <h5><%= @attributes[:title] %></h5>
3
+ <div><%= @content %></div>
4
+ </section>
@@ -5,7 +5,8 @@
5
5
  <% if @attributes[:author] %>
6
6
  <span class='author'><%= @attributes[:author] %></span>
7
7
  <% end %>
8
- <% if @attributes[:title] <% end %><span class='position'><%= @attributes[:title] %></span>
8
+ <% if @attributes[:title] %>
9
+ <span class='position'><%= @attributes[:title] %></span>
9
10
  <% end %>
10
11
  </p>
11
12
  <% end %>
@@ -0,0 +1,17 @@
1
+ <div class='timeline'>
2
+ <table>
3
+ <tbody>
4
+ <tr>
5
+ <th scope='row'>
6
+ <%= @attributes[:date] %>
7
+ </th>
8
+ <td class='event'>
9
+ <span class='description'><%= @attributes[:title] %></span>
10
+ <% if @attributes[:link] %>
11
+ <a class='read_more' href='<%= @attributes[:link] %>'>Read More</a>
12
+ <% end %>
13
+ </td>
14
+ </tr>
15
+ </tbody>
16
+ </table>
17
+ </div>
@@ -0,0 +1,15 @@
1
+ <div class='timeline'>
2
+ <table>
3
+ <tbody>
4
+ <tr>
5
+ <th scope='row'>
6
+ <%= @attributes[:date] %>
7
+ </th>
8
+ <td class='information'>
9
+ <p><%= @attributes[:title] %></p>
10
+ </td>
11
+ </tr>
12
+ </tbody>
13
+ </table>
14
+ </div>
15
+
@@ -0,0 +1,23 @@
1
+ <div class='timeline'>
2
+ <table>
3
+ <tbody>
4
+ <tr>
5
+ <th scope='row'>
6
+ <%= @attributes[:date] %>
7
+ </th>
8
+ <td class='team_news'>
9
+ <img src='<%= @attributes[:image] %>'>
10
+ <h4><%= @attributes[:title] %></h4>
11
+ <span class='name'><%= @attributes[:name] %></span>
12
+ <span class='position'><%= @attributes[:position] %></span>
13
+ <% if @attributes[:link] %>
14
+ <a class='read_more' href='<%= @attributes[:link] %>'>View Profile</a>
15
+ <% end %>
16
+ <div class='description'>
17
+ <p><%= @content %></p>
18
+ </div>
19
+ </td>
20
+ </tr>
21
+ </tbody>
22
+ </table>
23
+ </div>
data/spec/tag_spec.rb CHANGED
@@ -34,7 +34,6 @@ describe Shortcode::Tag do
34
34
 
35
35
  before(:each) do
36
36
  Shortcode.setup do |config|
37
- config.template_parser = :erb
38
37
  config.templates = {
39
38
  from_string: '<p><%= @attributes[:string] %></p>'
40
39
  }
@@ -42,7 +41,7 @@ describe Shortcode::Tag do
42
41
  end
43
42
 
44
43
  it "renders a template from a string" do
45
- tag.render.should == '<p>batman</p>'
44
+ expect(tag.render).to eq('<p>batman</p>')
46
45
  end
47
46
 
48
47
  end
@@ -53,7 +52,6 @@ describe Shortcode::Tag do
53
52
 
54
53
  before(:each) do
55
54
  Shortcode.setup do |config|
56
- config.template_parser = :erb
57
55
  config.templates = {
58
56
  from_string: '<p><%= @attributes[:string] %></p>'
59
57
  }
@@ -7,46 +7,23 @@ describe "template parsers" do
7
7
 
8
8
  context "erb" do
9
9
 
10
- # TODO remove this before block as erb will eb the default at version 0.4
11
- before(:each) do
12
- Shortcode.setup do |config|
13
- config.template_parser = :erb
14
- config.template_path = File.join File.dirname(__FILE__), "support/templates/erb"
15
- end
16
- end
17
-
18
10
  it "can render a template" do
19
- Shortcode.process(simple_quote).gsub("\n",'').should == simple_quote_output.gsub("\n",'')
11
+ expect(Shortcode.process(simple_quote).gsub("\n",'')).to eq(simple_quote_output)
20
12
  end
21
13
 
22
14
  end
23
15
 
24
16
  context "haml" do
25
17
 
26
- it "can render a template" do
27
- Shortcode.process(simple_quote).gsub("\n",'').should == simple_quote_output.gsub("\n",'')
28
- end
29
-
30
- context "when specified in the config" do
31
-
32
- before(:each) do
33
- Shortcode.setup do |config|
34
- config.template_parser = :haml
35
- end
36
- end
37
-
38
- it "does not show a deprecation warning" do
39
- expect { Shortcode.process(simple_quote) }.not_to write(Shortcode.configuration.haml_deprecation_warning).to(:error)
18
+ before(:each) do
19
+ Shortcode.setup do |config|
20
+ config.template_parser = :haml
21
+ config.template_path = File.join File.dirname(__FILE__), "support/templates/haml"
40
22
  end
41
-
42
23
  end
43
24
 
44
- context "when not specifed in the config" do
45
-
46
- it "shows a deprecation warning" do
47
- expect { Shortcode.process(simple_quote) }.to write(Shortcode.configuration.haml_deprecation_warning).to(:error)
48
- end
49
-
25
+ it "can render a template" do
26
+ expect(Shortcode.process(simple_quote).gsub("\n",'')).to eq(simple_quote_output)
50
27
  end
51
28
 
52
29
  end
@@ -61,7 +38,7 @@ describe "template parsers" do
61
38
  end
62
39
 
63
40
  it "can render a template" do
64
- Shortcode.process(simple_quote).gsub("\n",'').should == simple_quote_output.gsub("\n",'')
41
+ expect(Shortcode.process(simple_quote).gsub("\n",'')).to eq(simple_quote_output)
65
42
  end
66
43
 
67
44
  end
@@ -34,7 +34,7 @@ describe Shortcode do
34
34
  it "converts into html" do
35
35
  obj = parser.parse(simple_quote)
36
36
  html = transformer.apply obj, additional_attributes: nil
37
- html.should == simple_quote_output
37
+ expect(html.gsub("\n", '')).to eq(simple_quote_output)
38
38
  end
39
39
 
40
40
  end
@@ -43,7 +43,7 @@ describe Shortcode do
43
43
 
44
44
  it "converts into html" do
45
45
  html = transformer.apply(parser.parse(full_quote), additional_attributes: nil)
46
- html.should == full_quote_output
46
+ expect(html.gsub("\n", '')).to eq(full_quote_output)
47
47
  end
48
48
 
49
49
  end
@@ -52,7 +52,7 @@ describe Shortcode do
52
52
 
53
53
  it "converts into html" do
54
54
  html = transformer.apply(parser.parse(quote_with_extras), additional_attributes: nil)
55
- html.should == quote_with_extras_output
55
+ expect(html.gsub("\n", '')).to eq(quote_with_extras_output)
56
56
  end
57
57
 
58
58
  end
@@ -61,7 +61,7 @@ describe Shortcode do
61
61
 
62
62
  it "converts into html" do
63
63
  html = transformer.apply(parser.parse(simple_list), additional_attributes: nil)
64
- html.should == simple_list_output
64
+ expect(html.gsub("\n", '')).to eq(simple_list_output)
65
65
  end
66
66
 
67
67
  end
@@ -70,7 +70,7 @@ describe Shortcode do
70
70
 
71
71
  it "converts into html" do
72
72
  html = transformer.apply(parser.parse(timeline_event), additional_attributes: nil)
73
- html.should == timeline_event_output
73
+ expect(html.gsub("\n", '')).to eq(timeline_event_output)
74
74
  end
75
75
 
76
76
  end
@@ -79,7 +79,7 @@ describe Shortcode do
79
79
 
80
80
  it "converts into html" do
81
81
  html = transformer.apply(parser.parse(timeline_info), additional_attributes: nil)
82
- html.should == timeline_info_output
82
+ expect(html.gsub("\n", '')).to eq(timeline_info_output)
83
83
  end
84
84
 
85
85
  end
@@ -88,7 +88,7 @@ describe Shortcode do
88
88
 
89
89
  it "converts into html" do
90
90
  html = transformer.apply(parser.parse(timeline_person), additional_attributes: nil)
91
- html.should == timeline_person_output
91
+ expect(html.gsub("\n", '')).to eq(timeline_person_output)
92
92
  end
93
93
 
94
94
  end
@@ -97,22 +97,15 @@ describe Shortcode do
97
97
 
98
98
  it "converts into html" do
99
99
  html = transformer.apply(parser.parse(complex_snippet), additional_attributes: nil)
100
- html.should == complex_snippet_output
100
+ expect(html.gsub("\n", '')).to eq(complex_snippet_output)
101
101
  end
102
102
  end
103
103
 
104
104
  context "erb templates" do
105
105
 
106
- before(:each) do
107
- Shortcode.setup do |config|
108
- config.template_parser = :erb
109
- config.template_path = File.join File.dirname(__FILE__), "support/templates/erb"
110
- end
111
- end
112
-
113
106
  it "converts into html" do
114
107
  html = transformer.apply(parser.parse(simple_quote), additional_attributes: nil)
115
- html.gsub("\n",'').should == simple_quote_output.gsub("\n",'')
108
+ expect(html.gsub("\n",'')).to eq(simple_quote_output)
116
109
  end
117
110
  end
118
111
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: shortcode
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.3
4
+ version: 0.4.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2014-06-03 00:00:00.000000000 Z
12
+ date: 2014-06-16 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: parslet
@@ -27,22 +27,6 @@ dependencies:
27
27
  - - '='
28
28
  - !ruby/object:Gem::Version
29
29
  version: 1.6.0
30
- - !ruby/object:Gem::Dependency
31
- name: haml
32
- requirement: !ruby/object:Gem::Requirement
33
- none: false
34
- requirements:
35
- - - ~>
36
- - !ruby/object:Gem::Version
37
- version: '4.0'
38
- type: :runtime
39
- prerelease: false
40
- version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
- requirements:
43
- - - ~>
44
- - !ruby/object:Gem::Version
45
- version: '4.0'
46
30
  - !ruby/object:Gem::Dependency
47
31
  name: bundler
48
32
  requirement: !ruby/object:Gem::Requirement
@@ -80,17 +64,17 @@ dependencies:
80
64
  requirement: !ruby/object:Gem::Requirement
81
65
  none: false
82
66
  requirements:
83
- - - ! '>='
67
+ - - ~>
84
68
  - !ruby/object:Gem::Version
85
- version: '0'
69
+ version: 3.0.0
86
70
  type: :development
87
71
  prerelease: false
88
72
  version_requirements: !ruby/object:Gem::Requirement
89
73
  none: false
90
74
  requirements:
91
- - - ! '>='
75
+ - - ~>
92
76
  - !ruby/object:Gem::Version
93
- version: '0'
77
+ version: 3.0.0
94
78
  - !ruby/object:Gem::Dependency
95
79
  name: coveralls
96
80
  requirement: !ruby/object:Gem::Requirement
@@ -123,6 +107,22 @@ dependencies:
123
107
  - - ~>
124
108
  - !ruby/object:Gem::Version
125
109
  version: '2.0'
110
+ - !ruby/object:Gem::Dependency
111
+ name: haml
112
+ requirement: !ruby/object:Gem::Requirement
113
+ none: false
114
+ requirements:
115
+ - - ~>
116
+ - !ruby/object:Gem::Version
117
+ version: '4.0'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ none: false
122
+ requirements:
123
+ - - ~>
124
+ - !ruby/object:Gem::Version
125
+ version: '4.0'
126
126
  description: Gem for parsing wordpress style shortcodes
127
127
  email:
128
128
  - jamie@kernowsoul.com
@@ -161,7 +161,6 @@ files:
161
161
  - spec/rails_helpers_spec.rb
162
162
  - spec/shortcode_spec.rb
163
163
  - spec/spec_helper.rb
164
- - spec/support/custom_expectations/write_expectation.rb
165
164
  - spec/support/fixtures.rb
166
165
  - spec/support/fixtures/complex_snippet.txt
167
166
  - spec/support/fixtures/complex_snippet_output.html
@@ -186,15 +185,15 @@ files:
186
185
  - spec/support/fixtures/timeline_info_output.html
187
186
  - spec/support/fixtures/timeline_person.txt
188
187
  - spec/support/fixtures/timeline_person_output.html
188
+ - spec/support/templates/erb/collapsible_list.html.erb
189
+ - spec/support/templates/erb/item.html.erb
189
190
  - spec/support/templates/erb/quote.html.erb
190
191
  - spec/support/templates/erb/rails_helper.html.erb
191
- - spec/support/templates/haml/collapsible_list.html.haml
192
- - spec/support/templates/haml/item.html.haml
192
+ - spec/support/templates/erb/timeline_event.html.erb
193
+ - spec/support/templates/erb/timeline_info.html.erb
194
+ - spec/support/templates/erb/timeline_person.html.erb
193
195
  - spec/support/templates/haml/quote.html.haml
194
196
  - spec/support/templates/haml/rails_helper.html.haml
195
- - spec/support/templates/haml/timeline_event.html.haml
196
- - spec/support/templates/haml/timeline_info.html.haml
197
- - spec/support/templates/haml/timeline_person.html.haml
198
197
  - spec/support/templates/slim/quote.html.slim
199
198
  - spec/support/templates/slim/rails_helper.html.slim
200
199
  - spec/tag_spec.rb
@@ -232,7 +231,6 @@ test_files:
232
231
  - spec/rails_helpers_spec.rb
233
232
  - spec/shortcode_spec.rb
234
233
  - spec/spec_helper.rb
235
- - spec/support/custom_expectations/write_expectation.rb
236
234
  - spec/support/fixtures.rb
237
235
  - spec/support/fixtures/complex_snippet.txt
238
236
  - spec/support/fixtures/complex_snippet_output.html
@@ -257,15 +255,15 @@ test_files:
257
255
  - spec/support/fixtures/timeline_info_output.html
258
256
  - spec/support/fixtures/timeline_person.txt
259
257
  - spec/support/fixtures/timeline_person_output.html
258
+ - spec/support/templates/erb/collapsible_list.html.erb
259
+ - spec/support/templates/erb/item.html.erb
260
260
  - spec/support/templates/erb/quote.html.erb
261
261
  - spec/support/templates/erb/rails_helper.html.erb
262
- - spec/support/templates/haml/collapsible_list.html.haml
263
- - spec/support/templates/haml/item.html.haml
262
+ - spec/support/templates/erb/timeline_event.html.erb
263
+ - spec/support/templates/erb/timeline_info.html.erb
264
+ - spec/support/templates/erb/timeline_person.html.erb
264
265
  - spec/support/templates/haml/quote.html.haml
265
266
  - spec/support/templates/haml/rails_helper.html.haml
266
- - spec/support/templates/haml/timeline_event.html.haml
267
- - spec/support/templates/haml/timeline_info.html.haml
268
- - spec/support/templates/haml/timeline_person.html.haml
269
267
  - spec/support/templates/slim/quote.html.slim
270
268
  - spec/support/templates/slim/rails_helper.html.slim
271
269
  - spec/tag_spec.rb
@@ -1,62 +0,0 @@
1
- RSpec::Matchers.define :write do |message|
2
-
3
- chain(:to) do |io|
4
- @io = io
5
- end
6
-
7
- match do |block|
8
- output =
9
- case io
10
- when :output then fake_stdout(&block)
11
- when :error then fake_stderr(&block)
12
- else raise("Allowed values for `to` are :output and :error, got `#{io.inspect}`")
13
- end
14
- output.include? message
15
- end
16
-
17
- description do
18
- "write \"#{message}\" #{io_name}"
19
- end
20
-
21
- failure_message_for_should do
22
- "expected to #{description}"
23
- end
24
-
25
- failure_message_for_should_not do
26
- "expected to not #{description}"
27
- end
28
-
29
- def supports_block_expectations?
30
- true
31
- end
32
-
33
- # Fake STDERR and return a string written to it.
34
- def fake_stderr
35
- original_stderr = $stderr
36
- $stderr = StringIO.new
37
- yield
38
- $stderr.string
39
- ensure
40
- $stderr = original_stderr
41
- end
42
-
43
- # Fake STDOUT and return a string written to it.
44
- def fake_stdout
45
- original_stdout = $stdout
46
- $stdout = StringIO.new
47
- yield
48
- $stdout.string
49
- ensure
50
- $stdout = original_stdout
51
- end
52
-
53
- # default IO is standard output
54
- def io
55
- @io ||= :output
56
- end
57
-
58
- # IO name is used for description message
59
- def io_name
60
- { output: "standard output", error: "standard error" }[io]
61
- end
62
- end
@@ -1,2 +0,0 @@
1
- .collapsible
2
- = @content
@@ -1,3 +0,0 @@
1
- %section
2
- %h5= @attributes[:title]
3
- %div= @content
@@ -1,10 +0,0 @@
1
- .timeline
2
- %table
3
- %tbody
4
- %tr
5
- %th{scope: :row}
6
- = @attributes[:date]
7
- %td.event
8
- %span.description= @attributes[:title]
9
- -if @attributes[:link]
10
- %a.read_more{href: @attributes[:link]} Read More
@@ -1,8 +0,0 @@
1
- .timeline
2
- %table
3
- %tbody
4
- %tr
5
- %th{scope: :row}
6
- = @attributes[:date]
7
- %td.information
8
- %p= @attributes[:title]
@@ -1,15 +0,0 @@
1
- .timeline
2
- %table
3
- %tbody
4
- %tr
5
- %th{scope: :row}
6
- = @attributes[:date]
7
- %td.team_news
8
- %img{src: @attributes[:image]}
9
- %h4= @attributes[:title]
10
- %span.name= @attributes[:name]
11
- %span.position= @attributes[:position]
12
- -if @attributes[:link]
13
- %a.read_more{href: @attributes[:link]} View Profile
14
- .description
15
- %p= @content