vanilla 1.16.1 → 1.16.2

Sign up to get free protection for your applications and to get access to all the features.
File without changes
data/Rakefile CHANGED
@@ -36,9 +36,10 @@ if Object.const_defined?(:Gem)
36
36
  s.rdoc_options = %w(--main README)
37
37
 
38
38
  # Add any extra files to include in the gem
39
- s.files = %w(Rakefile README) + Dir.glob("{test,lib,bin,pristine_app}/**/*")
39
+ s.files = %w(Rakefile README .gemtest) + Dir.glob("{lib,bin,pristine_app}/**/*")
40
40
  s.executables = ['vanilla']
41
41
  s.require_paths = ["lib"]
42
+ s.test_files = Dir.glob("test/**/*")
42
43
 
43
44
  # All the other gems we need.
44
45
  s.add_dependency("rack", ">= 0.9.1")
@@ -1,5 +1,5 @@
1
1
  module Vanilla
2
- VERSION = "1.16.1"
2
+ VERSION = "1.16.2"
3
3
 
4
4
  autoload :Renderers, "vanilla/renderers"
5
5
  autoload :App, "vanilla/app"
@@ -55,7 +55,7 @@ module Vanilla
55
55
  render_missing_snip(snip_name)
56
56
  end
57
57
  else
58
- "malformed snip reference: #{$1.inspect}"
58
+ %|<span class="malformed_snip_inclusion">(malformed snip inclusion: #{self.class.escape_curly_braces($1)})</span>|
59
59
  end
60
60
  end
61
61
  end
@@ -63,6 +63,8 @@ module Vanilla
63
63
  def parse_snip_reference(string)
64
64
  @parser ||= Vanilla::SnipReferenceParser.new
65
65
  @parser.parse(string)
66
+ rescue
67
+ nil
66
68
  end
67
69
 
68
70
  def render_missing_snip(snip_name)
@@ -40,7 +40,11 @@ module Vanilla
40
40
  rule(:single_quoted_string) do
41
41
  squote >> (quotables | dquote).repeat(1).as(:string) >> squote
42
42
  end
43
+ rule(:spaced_string) { (word >> (spaces >> word).repeat).as(:string) }
43
44
  rule(:string) do
45
+ single_quoted_string | double_quoted_string | str("nil").as(:nil) | spaced_string | word.as(:string)
46
+ end
47
+ rule(:string_without_spaces) do
44
48
  single_quoted_string | double_quoted_string | str("nil").as(:nil) | word.as(:string)
45
49
  end
46
50
  rule(:symbol) { str(":") >> string }
@@ -62,7 +66,7 @@ module Vanilla
62
66
  rule(:further_named_args) { comma_separator >> named_arg.as(:named_arg) }
63
67
 
64
68
  rule(:arguments) { hash_arg_list | named_arg_list | string_arg_list }
65
- rule(:snip_part) { string.as(:snip) >> (dot >> string.as(:attribute)).maybe }
69
+ rule(:snip_part) { string_without_spaces.as(:snip) >> (dot >> string_without_spaces.as(:attribute)).maybe }
66
70
 
67
71
  rule(:snip_reference) do
68
72
  left_brace >> spaces? >>
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: /Users/james/Code/lazyatom/vanilla-rb
3
3
  specs:
4
- vanilla (1.16)
4
+ vanilla (1.16.1)
5
5
  BlueCloth (>= 1.0.0)
6
6
  RedCloth (>= 4.1.1)
7
7
  haml
@@ -12,4 +12,8 @@ pre {
12
12
  margin-left: 1em;
13
13
  background-color: #ddd;
14
14
  padding: 1em;
15
+ }
16
+
17
+ .malformed_snip_inclusion {
18
+ background-color: rgba(180,0,0,0.2);
15
19
  }
@@ -25,6 +25,8 @@ How about some {link_to debug} information: {debug}
25
25
 
26
26
  What about a missing snip? Lets try to include one: {monkey}
27
27
 
28
+ What about some jibberish snip inclusion? {link_to something !mental}
29
+
28
30
  And an error when running? {bad_dynasnip}
29
31
 
30
32
  :render_as: Markdown
@@ -53,6 +53,12 @@ context "When including snips in other snips" do
53
53
  assert_equal "{\nnot a dyna\n}", render("{\nnot a dyna\n}")
54
54
  end
55
55
 
56
+ should "render malformed snip inclusions for easier debugging" do
57
+ create_snip :name => "some_dyna"
58
+ assert_equal %|this is a <span class="malformed_snip_inclusion">(malformed snip inclusion: &#123;some_dyna blah! blah&#125;)</span>|,
59
+ render("this is a {some_dyna blah! blah}")
60
+ end
61
+
56
62
  def render(content)
57
63
  snip = create_snip :name => "test-content", :content => content
58
64
  Vanilla::Renderers::Base.new(@app).render(snip)
@@ -46,8 +46,8 @@ context "The SnipReference parser" do
46
46
  },
47
47
 
48
48
  :arguments_with_spaces => {
49
- # %|{snip arg spaces}| => {:snip => 'snip', :attribute => nil, :arguments => ['arg spaces']},
50
- # %|{snip arg spaces, and this}| => {:snip => 'snip', :attribute => nil, :arguments => ['arg spaces', 'and this']},
49
+ %|{snip arg spaces}| => {:snip => 'snip', :attribute => nil, :arguments => ['arg spaces']},
50
+ %|{snip arg spaces, and this}| => {:snip => 'snip', :attribute => nil, :arguments => ['arg spaces', 'and this']},
51
51
  %|{snip "arg spaces"}| => {:snip => 'snip', :attribute => nil, :arguments => ['arg spaces']},
52
52
  %|{snip 'arg spaces'}| => {:snip => 'snip', :attribute => nil, :arguments => ['arg spaces']},
53
53
  %|{snip "arg spaces", arg2}| => {:snip => 'snip', :attribute => nil, :arguments => ['arg spaces', 'arg2']}
@@ -64,7 +64,7 @@ context "The SnipReference parser" do
64
64
  %|{s :key1 => value1, :key2 => value2}| => {:snip => 's', :arguments => {:key1 => 'value1', :key2 => 'value2'}},
65
65
  %|{s key1 => "value with spaces"}| => {:snip => 's', :arguments => {:key1 => "value with spaces"}},
66
66
  %|{s.attr key1=>value1}| => {:snip => 's', :attribute => 'attr', :arguments => {:key1 => 'value1'}},
67
- # %|{s "key with spaces" => value}| => {:snip => 's', :arguments => {:"key with spaces" => "value"}}
67
+ %|{s "key with spaces" => value}| => {:snip => 's', :arguments => {:"key with spaces" => "value"}}
68
68
  },
69
69
 
70
70
  :named_arguments => {
@@ -1,7 +1,3 @@
1
- require 'rubygems'
2
- require 'bundler/setup'
3
- $:.unshift File.join(File.dirname(__FILE__), *%w[.. lib])
4
-
5
1
  require "kintama"
6
2
  require "kintama/mocha"
7
3
  require "fileutils"
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vanilla
3
3
  version: !ruby/object:Gem::Version
4
- hash: 85
5
- prerelease: false
4
+ hash: 83
5
+ prerelease:
6
6
  segments:
7
7
  - 1
8
8
  - 16
9
- - 1
10
- version: 1.16.1
9
+ - 2
10
+ version: 1.16.2
11
11
  platform: ruby
12
12
  authors:
13
13
  - James Adam
@@ -15,12 +15,10 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2011-05-03 00:00:00 +01:00
18
+ date: 2011-05-04 00:00:00 +01:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
22
- prerelease: false
23
- type: :runtime
24
22
  name: rack
25
23
  version_requirements: &id001 !ruby/object:Gem::Requirement
26
24
  none: false
@@ -33,10 +31,10 @@ dependencies:
33
31
  - 9
34
32
  - 1
35
33
  version: 0.9.1
36
- requirement: *id001
37
- - !ruby/object:Gem::Dependency
38
34
  prerelease: false
39
35
  type: :runtime
36
+ requirement: *id001
37
+ - !ruby/object:Gem::Dependency
40
38
  name: soup
41
39
  version_requirements: &id002 !ruby/object:Gem::Requirement
42
40
  none: false
@@ -49,10 +47,10 @@ dependencies:
49
47
  - 0
50
48
  - 6
51
49
  version: 1.0.6
52
- requirement: *id002
53
- - !ruby/object:Gem::Dependency
54
50
  prerelease: false
55
51
  type: :runtime
52
+ requirement: *id002
53
+ - !ruby/object:Gem::Dependency
56
54
  name: ratom
57
55
  version_requirements: &id003 !ruby/object:Gem::Requirement
58
56
  none: false
@@ -65,10 +63,10 @@ dependencies:
65
63
  - 3
66
64
  - 5
67
65
  version: 0.3.5
68
- requirement: *id003
69
- - !ruby/object:Gem::Dependency
70
66
  prerelease: false
71
67
  type: :runtime
68
+ requirement: *id003
69
+ - !ruby/object:Gem::Dependency
72
70
  name: RedCloth
73
71
  version_requirements: &id004 !ruby/object:Gem::Requirement
74
72
  none: false
@@ -81,10 +79,10 @@ dependencies:
81
79
  - 1
82
80
  - 1
83
81
  version: 4.1.1
84
- requirement: *id004
85
- - !ruby/object:Gem::Dependency
86
82
  prerelease: false
87
83
  type: :runtime
84
+ requirement: *id004
85
+ - !ruby/object:Gem::Dependency
88
86
  name: BlueCloth
89
87
  version_requirements: &id005 !ruby/object:Gem::Requirement
90
88
  none: false
@@ -97,10 +95,10 @@ dependencies:
97
95
  - 0
98
96
  - 0
99
97
  version: 1.0.0
100
- requirement: *id005
101
- - !ruby/object:Gem::Dependency
102
98
  prerelease: false
103
99
  type: :runtime
100
+ requirement: *id005
101
+ - !ruby/object:Gem::Dependency
104
102
  name: haml
105
103
  version_requirements: &id006 !ruby/object:Gem::Requirement
106
104
  none: false
@@ -111,10 +109,10 @@ dependencies:
111
109
  segments:
112
110
  - 0
113
111
  version: "0"
114
- requirement: *id006
115
- - !ruby/object:Gem::Dependency
116
112
  prerelease: false
117
113
  type: :runtime
114
+ requirement: *id006
115
+ - !ruby/object:Gem::Dependency
118
116
  name: parslet
119
117
  version_requirements: &id007 !ruby/object:Gem::Requirement
120
118
  none: false
@@ -127,10 +125,10 @@ dependencies:
127
125
  - 2
128
126
  - 0
129
127
  version: 1.2.0
128
+ prerelease: false
129
+ type: :runtime
130
130
  requirement: *id007
131
131
  - !ruby/object:Gem::Dependency
132
- prerelease: false
133
- type: :development
134
132
  name: kintama
135
133
  version_requirements: &id008 !ruby/object:Gem::Requirement
136
134
  none: false
@@ -143,10 +141,10 @@ dependencies:
143
141
  - 1
144
142
  - 6
145
143
  version: 0.1.6
146
- requirement: *id008
147
- - !ruby/object:Gem::Dependency
148
144
  prerelease: false
149
145
  type: :development
146
+ requirement: *id008
147
+ - !ruby/object:Gem::Dependency
150
148
  name: mocha
151
149
  version_requirements: &id009 !ruby/object:Gem::Requirement
152
150
  none: false
@@ -157,6 +155,8 @@ dependencies:
157
155
  segments:
158
156
  - 0
159
157
  version: "0"
158
+ prerelease: false
159
+ type: :development
160
160
  requirement: *id009
161
161
  description:
162
162
  email: james@lazyatom.com.com
@@ -169,22 +169,7 @@ extra_rdoc_files:
169
169
  files:
170
170
  - Rakefile
171
171
  - README
172
- - test/dynasnip_test.rb
173
- - test/dynasnips/link_to_current_snip_test.rb
174
- - test/dynasnips/link_to_test.rb
175
- - test/dynasnips/page_title_test.rb
176
- - test/renderers/base_renderer_test.rb
177
- - test/renderers/erb_renderer_test.rb
178
- - test/renderers/haml_renderer_test.rb
179
- - test/renderers/markdown_renderer_test.rb
180
- - test/renderers/raw_renderer_test.rb
181
- - test/renderers/ruby_renderer_test.rb
182
- - test/snip_inclusion_test.rb
183
- - test/snip_reference_parser_test.rb
184
- - test/test_helper.rb
185
- - test/vanilla_app_test.rb
186
- - test/vanilla_presenting_test.rb
187
- - test/vanilla_request_test.rb
172
+ - .gemtest
188
173
  - lib/vanilla/app.rb
189
174
  - lib/vanilla/console.rb
190
175
  - lib/vanilla/dynasnip.rb
@@ -239,6 +224,22 @@ files:
239
224
  - pristine_app/soups/tutorial/vanilla-rb.snip
240
225
  - pristine_app/soups/tutorial/vanilla.snip
241
226
  - pristine_app/tmp/restart.txt
227
+ - test/dynasnip_test.rb
228
+ - test/dynasnips/link_to_current_snip_test.rb
229
+ - test/dynasnips/link_to_test.rb
230
+ - test/dynasnips/page_title_test.rb
231
+ - test/renderers/base_renderer_test.rb
232
+ - test/renderers/erb_renderer_test.rb
233
+ - test/renderers/haml_renderer_test.rb
234
+ - test/renderers/markdown_renderer_test.rb
235
+ - test/renderers/raw_renderer_test.rb
236
+ - test/renderers/ruby_renderer_test.rb
237
+ - test/snip_inclusion_test.rb
238
+ - test/snip_reference_parser_test.rb
239
+ - test/test_helper.rb
240
+ - test/vanilla_app_test.rb
241
+ - test/vanilla_presenting_test.rb
242
+ - test/vanilla_request_test.rb
242
243
  has_rdoc: true
243
244
  homepage: http://github.com/lazyatom/vanilla-rb
244
245
  licenses: []
@@ -270,9 +271,24 @@ required_rubygems_version: !ruby/object:Gem::Requirement
270
271
  requirements: []
271
272
 
272
273
  rubyforge_project: vanilla
273
- rubygems_version: 1.3.7
274
+ rubygems_version: 1.5.0
274
275
  signing_key:
275
276
  specification_version: 3
276
277
  summary: A bliki-type web content thing.
277
- test_files: []
278
-
278
+ test_files:
279
+ - test/dynasnip_test.rb
280
+ - test/dynasnips/link_to_current_snip_test.rb
281
+ - test/dynasnips/link_to_test.rb
282
+ - test/dynasnips/page_title_test.rb
283
+ - test/renderers/base_renderer_test.rb
284
+ - test/renderers/erb_renderer_test.rb
285
+ - test/renderers/haml_renderer_test.rb
286
+ - test/renderers/markdown_renderer_test.rb
287
+ - test/renderers/raw_renderer_test.rb
288
+ - test/renderers/ruby_renderer_test.rb
289
+ - test/snip_inclusion_test.rb
290
+ - test/snip_reference_parser_test.rb
291
+ - test/test_helper.rb
292
+ - test/vanilla_app_test.rb
293
+ - test/vanilla_presenting_test.rb
294
+ - test/vanilla_request_test.rb