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 
         
     |