noodall-core 0.3.5 → 0.3.6
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/VERSION +1 -1
- data/lib/noodall/node.rb +8 -5
- data/noodall-core.gemspec +2 -2
- data/spec/node_spec.rb +14 -2
- metadata +4 -4
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.3.
|
1
|
+
0.3.6
|
data/lib/noodall/node.rb
CHANGED
@@ -258,7 +258,7 @@ module Noodall
|
|
258
258
|
self.name = self.title if self.name.blank?
|
259
259
|
end
|
260
260
|
|
261
|
-
|
261
|
+
class << self
|
262
262
|
@@slots = []
|
263
263
|
|
264
264
|
# Set the names of the slots that will be avaiable to fill with components
|
@@ -304,13 +304,18 @@ module Noodall
|
|
304
304
|
end
|
305
305
|
|
306
306
|
def template_classes
|
307
|
-
return
|
307
|
+
return root_templates if self == Noodall::Node
|
308
|
+
@template_classes || []
|
309
|
+
end
|
310
|
+
|
311
|
+
def root_templates
|
312
|
+
return @root_templates if @root_templates
|
308
313
|
classes = []
|
309
314
|
ObjectSpace.each_object(Class) do |c|
|
310
315
|
next unless c.ancestors.include?(Noodall::Node) and (c != Noodall::Node) and c.root_template?
|
311
316
|
classes << c
|
312
317
|
end
|
313
|
-
@
|
318
|
+
@root_templates = classes
|
314
319
|
end
|
315
320
|
|
316
321
|
def template_names
|
@@ -353,8 +358,6 @@ module Noodall
|
|
353
358
|
Time.zone ? Time.zone.now : Time.now
|
354
359
|
end
|
355
360
|
end
|
356
|
-
extend ClassMethods
|
357
|
-
|
358
361
|
|
359
362
|
end
|
360
363
|
|
data/noodall-core.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{noodall-core}
|
8
|
-
s.version = "0.3.
|
8
|
+
s.version = "0.3.6"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Steve England"]
|
12
|
-
s.date = %q{2010-12-
|
12
|
+
s.date = %q{2010-12-13}
|
13
13
|
s.description = %q{Core data objects for Noodall}
|
14
14
|
s.email = %q{steve@wearebeef.co.uk}
|
15
15
|
s.extra_rdoc_files = [
|
data/spec/node_spec.rb
CHANGED
@@ -344,17 +344,29 @@ describe Noodall::Node do
|
|
344
344
|
end
|
345
345
|
|
346
346
|
it "should know who can be a parent" do
|
347
|
-
class
|
347
|
+
class LandingPage < Noodall::Node
|
348
348
|
sub_templates Page
|
349
349
|
end
|
350
350
|
class ArticlesList < Noodall::Node
|
351
|
-
sub_templates
|
351
|
+
sub_templates LandingPage
|
352
352
|
end
|
353
353
|
|
354
354
|
Page.parent_classes.should include(LandingPage)
|
355
355
|
Page.parent_classes.should_not include(ArticlesList)
|
356
356
|
end
|
357
357
|
|
358
|
+
it "should know what sub templates are allowed" do
|
359
|
+
class LandingPage < Noodall::Node
|
360
|
+
root_template!
|
361
|
+
sub_templates Page, LandingPage
|
362
|
+
end
|
363
|
+
class Article < Noodall::Node
|
364
|
+
end
|
365
|
+
|
366
|
+
LandingPage.template_classes.should include(Page)
|
367
|
+
Article.template_classes.should have(0).things
|
368
|
+
end
|
369
|
+
|
358
370
|
it "should fall back to title for link name if it is blank" do
|
359
371
|
page = Factory(:page, :title => "My Long Title that is long")
|
360
372
|
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: noodall-core
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 31
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 3
|
9
|
-
-
|
10
|
-
version: 0.3.
|
9
|
+
- 6
|
10
|
+
version: 0.3.6
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Steve England
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2010-12-
|
18
|
+
date: 2010-12-13 00:00:00 +00:00
|
19
19
|
default_executable:
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|