noodall-core 0.6.3 → 0.7.2
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 +3 -8
 - data/Rakefile +2 -24
 - data/lib/noodall-core.rb +1 -1
 - data/lib/noodall/core/version.rb +5 -0
 - data/lib/noodall/global_update_time.rb +8 -8
 - data/lib/noodall/indexer.rb +8 -7
 - data/lib/noodall/node.rb +35 -17
 - data/lib/noodall/search.rb +8 -7
 - data/lib/noodall/tagging.rb +12 -12
 - data/lib/versionable/models/version.rb +22 -0
 - data/noodall-core.gemspec +22 -77
 - data/spec/node_spec.rb +9 -0
 - metadata +61 -48
 - data/.rvmrc +0 -49
 - data/VERSION +0 -1
 
    
        data/Gemfile
    CHANGED
    
    | 
         @@ -1,19 +1,14 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            source "http://rubygems.org"
         
     | 
| 
       2 
2 
     | 
    
         | 
| 
       3 
     | 
    
         
            -
             
     | 
| 
       4 
     | 
    
         
            -
            gem 'ramdiv-mongo_mapper_acts_as_tree', '~> 0.1.1'
         
     | 
| 
       5 
     | 
    
         
            -
            gem 'mm-multi-parameter-attributes', '~> 0.1.1'
         
     | 
| 
       6 
     | 
    
         
            -
            gem 'canable', '~> 0.1.1'
         
     | 
| 
       7 
     | 
    
         
            -
            gem 'ruby-stemmer'
         
     | 
| 
       8 
     | 
    
         
            -
            gem 'i18n'
         
     | 
| 
      
 3 
     | 
    
         
            +
            gemspec
         
     | 
| 
       9 
4 
     | 
    
         | 
| 
       10 
5 
     | 
    
         
             
            group :development do
         
     | 
| 
       11 
     | 
    
         
            -
              gem  
     | 
| 
       12 
     | 
    
         
            -
              gem "rspec", "~> 2.0.0.beta.22"
         
     | 
| 
      
 6 
     | 
    
         
            +
              gem "rspec", "~> 2.0.0"
         
     | 
| 
       13 
7 
     | 
    
         
             
              gem "database_cleaner", "~> 0.5.2"
         
     | 
| 
       14 
8 
     | 
    
         
             
              gem "factory_girl", "~> 1.3.2"
         
     | 
| 
       15 
9 
     | 
    
         
             
              gem "faker", "~> 0.3.1"
         
     | 
| 
       16 
10 
     | 
    
         
             
              gem "rake"
         
     | 
| 
       17 
11 
     | 
    
         
             
              gem 'bson_ext', '~> 1.3.0'
         
     | 
| 
      
 12 
     | 
    
         
            +
              gem 'SystemTimer', '~> 1.2.0'
         
     | 
| 
       18 
13 
     | 
    
         
             
            end
         
     | 
| 
       19 
14 
     | 
    
         | 
    
        data/Rakefile
    CHANGED
    
    | 
         @@ -1,28 +1,8 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            require "bundler"
         
     | 
| 
       2 
2 
     | 
    
         
             
            Bundler.setup(:default, :development)
         
     | 
| 
       3 
     | 
    
         
            -
             
     | 
| 
       4 
     | 
    
         
            -
             
     | 
| 
       5 
     | 
    
         
            -
            begin
         
     | 
| 
       6 
     | 
    
         
            -
              require 'jeweler'
         
     | 
| 
       7 
     | 
    
         
            -
              Jeweler::Tasks.new do |gem|
         
     | 
| 
       8 
     | 
    
         
            -
                gem.name = "noodall-core"
         
     | 
| 
       9 
     | 
    
         
            -
                gem.summary = %Q{Core data objects for Noodall}
         
     | 
| 
       10 
     | 
    
         
            -
                gem.description = %Q{Core data objects for Noodall}
         
     | 
| 
       11 
     | 
    
         
            -
                gem.email = "steve@wearebeef.co.uk"
         
     | 
| 
       12 
     | 
    
         
            -
                gem.homepage = "http://github.com/beef/noodall-core"
         
     | 
| 
       13 
     | 
    
         
            -
                gem.authors = ["Steve England"]
         
     | 
| 
       14 
     | 
    
         
            -
                gem.add_dependency('mongo_mapper', '~> 0.8.6')
         
     | 
| 
       15 
     | 
    
         
            -
                gem.add_dependency('ramdiv-mongo_mapper_acts_as_tree', '~> 0.1.1')
         
     | 
| 
       16 
     | 
    
         
            -
                gem.add_dependency('mm-multi-parameter-attributes', '~> 0.1.1')
         
     | 
| 
       17 
     | 
    
         
            -
                gem.add_dependency('canable', '0.1.1')
         
     | 
| 
       18 
     | 
    
         
            -
                gem.add_dependency('ruby-stemmer')
         
     | 
| 
      
 3 
     | 
    
         
            +
            Bundler::GemHelper.install_tasks
         
     | 
| 
       19 
4 
     | 
    
         | 
| 
       20 
     | 
    
         
            -
             
     | 
| 
       21 
     | 
    
         
            -
              end
         
     | 
| 
       22 
     | 
    
         
            -
              Jeweler::GemcutterTasks.new
         
     | 
| 
       23 
     | 
    
         
            -
            rescue LoadError
         
     | 
| 
       24 
     | 
    
         
            -
              puts "Jeweler (or a dependency) not available. Install it with: gem install jeweler"
         
     | 
| 
       25 
     | 
    
         
            -
            end
         
     | 
| 
      
 5 
     | 
    
         
            +
            require "rspec/core/rake_task"
         
     | 
| 
       26 
6 
     | 
    
         | 
| 
       27 
7 
     | 
    
         
             
            RSpec::Core::RakeTask.new(:spec)
         
     | 
| 
       28 
8 
     | 
    
         | 
| 
         @@ -30,8 +10,6 @@ RSpec::Core::RakeTask.new(:rcov) do |spec| 
     | 
|
| 
       30 
10 
     | 
    
         
             
              spec.rcov = true
         
     | 
| 
       31 
11 
     | 
    
         
             
            end
         
     | 
| 
       32 
12 
     | 
    
         | 
| 
       33 
     | 
    
         
            -
            task :spec => :check_dependencies
         
     | 
| 
       34 
     | 
    
         
            -
             
     | 
| 
       35 
13 
     | 
    
         
             
            task :default => :spec
         
     | 
| 
       36 
14 
     | 
    
         | 
| 
       37 
15 
     | 
    
         | 
    
        data/lib/noodall-core.rb
    CHANGED
    
    | 
         @@ -2,6 +2,7 @@ require 'mongo_mapper' 
     | 
|
| 
       2 
2 
     | 
    
         
             
            require 'mongo_mapper_acts_as_tree'
         
     | 
| 
       3 
3 
     | 
    
         
             
            require 'canable'
         
     | 
| 
       4 
4 
     | 
    
         
             
            require 'mm-multi-parameter-attributes'
         
     | 
| 
      
 5 
     | 
    
         
            +
            require 'versionable'
         
     | 
| 
       5 
6 
     | 
    
         
             
            require 'noodall/global_update_time'
         
     | 
| 
       6 
7 
     | 
    
         
             
            require 'noodall/search'
         
     | 
| 
       7 
8 
     | 
    
         
             
            require 'noodall/tagging'
         
     | 
| 
         @@ -14,7 +15,6 @@ require 'noodall/node' 
     | 
|
| 
       14 
15 
     | 
    
         
             
            # Ruby 1.8 Compatibilty
         
     | 
| 
       15 
16 
     | 
    
         
             
            class Object
         
     | 
| 
       16 
17 
     | 
    
         
             
              unless defined?(define_singleton_method)
         
     | 
| 
       17 
     | 
    
         
            -
                puts "Redefining 'define_singleton_method' to work with Ruby1.8"
         
     | 
| 
       18 
18 
     | 
    
         
             
                def define_singleton_method(sym, &block)
         
     | 
| 
       19 
19 
     | 
    
         
             
                  singleton_class.instance_eval do
         
     | 
| 
       20 
20 
     | 
    
         
             
                    define_method sym, block
         
     | 
| 
         @@ -1,22 +1,22 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            module Noodall
         
     | 
| 
       2 
2 
     | 
    
         
             
              module GlobalUpdateTime
         
     | 
| 
      
 3 
     | 
    
         
            +
                extend ActiveSupport::Concern
         
     | 
| 
      
 4 
     | 
    
         
            +
             
     | 
| 
       3 
5 
     | 
    
         
             
                class Stamp
         
     | 
| 
       4 
6 
     | 
    
         
             
                  def self.read
         
     | 
| 
       5 
7 
     | 
    
         
             
                    Rails.cache.read('global_update_time') if defined?(Rails)
         
     | 
| 
       6 
8 
     | 
    
         
             
                  end
         
     | 
| 
       7 
     | 
    
         
            -
             
     | 
| 
      
 9 
     | 
    
         
            +
             
     | 
| 
       8 
10 
     | 
    
         
             
                  def self.update!
         
     | 
| 
       9 
11 
     | 
    
         
             
                    Rails.cache.write('global_update_time', Time.zone.now.utc) if defined?(Rails)
         
     | 
| 
       10 
12 
     | 
    
         
             
                  end
         
     | 
| 
       11 
13 
     | 
    
         
             
                end
         
     | 
| 
       12 
     | 
    
         
            -
             
     | 
| 
       13 
     | 
    
         
            -
                 
     | 
| 
       14 
     | 
    
         
            -
                   
     | 
| 
       15 
     | 
    
         
            -
             
     | 
| 
       16 
     | 
    
         
            -
                    after_destroy :global_updated!
         
     | 
| 
       17 
     | 
    
         
            -
                  end
         
     | 
| 
      
 14 
     | 
    
         
            +
             
     | 
| 
      
 15 
     | 
    
         
            +
                included do
         
     | 
| 
      
 16 
     | 
    
         
            +
                  after_save :global_updated!
         
     | 
| 
      
 17 
     | 
    
         
            +
                  after_destroy :global_updated!
         
     | 
| 
       18 
18 
     | 
    
         
             
                end
         
     | 
| 
       19 
     | 
    
         
            -
             
     | 
| 
      
 19 
     | 
    
         
            +
             
     | 
| 
       20 
20 
     | 
    
         
             
                module InstanceMethods
         
     | 
| 
       21 
21 
     | 
    
         
             
                  # Cache the updated time
         
     | 
| 
       22 
22 
     | 
    
         
             
                  def global_updated!
         
     | 
    
        data/lib/noodall/indexer.rb
    CHANGED
    
    | 
         @@ -1,18 +1,19 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            module Noodall
         
     | 
| 
       2 
2 
     | 
    
         
             
              module Indexer
         
     | 
| 
       3 
     | 
    
         
            -
                 
     | 
| 
       4 
     | 
    
         
            -
             
     | 
| 
       5 
     | 
    
         
            -
             
     | 
| 
       6 
     | 
    
         
            -
                   
     | 
| 
       7 
     | 
    
         
            -
                   
     | 
| 
      
 3 
     | 
    
         
            +
                extend ActiveSupport::Concern
         
     | 
| 
      
 4 
     | 
    
         
            +
             
     | 
| 
      
 5 
     | 
    
         
            +
                included do
         
     | 
| 
      
 6 
     | 
    
         
            +
                  cattr_accessor :indexes
         
     | 
| 
      
 7 
     | 
    
         
            +
                  self.indexes = []
         
     | 
| 
       8 
8 
     | 
    
         
             
                end
         
     | 
| 
      
 9 
     | 
    
         
            +
             
     | 
| 
       9 
10 
     | 
    
         
             
                module ClassMethods
         
     | 
| 
       10 
11 
     | 
    
         
             
                  def ensure_index(*args)
         
     | 
| 
       11 
     | 
    
         
            -
                    indexes << args
         
     | 
| 
      
 12 
     | 
    
         
            +
                    self.indexes << args
         
     | 
| 
       12 
13 
     | 
    
         
             
                  end
         
     | 
| 
       13 
14 
     | 
    
         | 
| 
       14 
15 
     | 
    
         
             
                  def create_indexes!
         
     | 
| 
       15 
     | 
    
         
            -
                    indexes.each do |args|
         
     | 
| 
      
 16 
     | 
    
         
            +
                    self.indexes.each do |args|
         
     | 
| 
       16 
17 
     | 
    
         
             
                      puts "Creating index #{args.inspect}"
         
     | 
| 
       17 
18 
     | 
    
         
             
                      collection.create_index(*args)
         
     | 
| 
       18 
19 
     | 
    
         
             
                    end
         
     | 
    
        data/lib/noodall/node.rb
    CHANGED
    
    | 
         @@ -28,6 +28,8 @@ module Noodall 
     | 
|
| 
       28 
28 
     | 
    
         
             
                timestamps!
         
     | 
| 
       29 
29 
     | 
    
         
             
                userstamps!
         
     | 
| 
       30 
30 
     | 
    
         | 
| 
      
 31 
     | 
    
         
            +
                enable_versioning
         
     | 
| 
      
 32 
     | 
    
         
            +
             
     | 
| 
       31 
33 
     | 
    
         
             
                alias_method :keywords, :tag_list
         
     | 
| 
       32 
34 
     | 
    
         
             
                alias_method :keywords=, :tag_list=
         
     | 
| 
       33 
35 
     | 
    
         | 
| 
         @@ -37,9 +39,7 @@ module Noodall 
     | 
|
| 
       37 
39 
     | 
    
         
             
                acts_as_tree :order => "position", :search_class => Noodall::Node
         
     | 
| 
       38 
40 
     | 
    
         | 
| 
       39 
41 
     | 
    
         
             
                # if there are any children that are not of an allowed template, error
         
     | 
| 
       40 
     | 
    
         
            -
                 
     | 
| 
       41 
     | 
    
         
            -
                  :message => "cannot be changed as sub content is not allowed in this template",
         
     | 
| 
       42 
     | 
    
         
            -
                  :logic => lambda { |args| !_type_changed? or children.empty? or children.select{|c| !self._type.constantize.template_classes.include?(c.class)}.empty? }
         
     | 
| 
      
 42 
     | 
    
         
            +
                validate :child_templates_allowed
         
     | 
| 
       43 
43 
     | 
    
         | 
| 
       44 
44 
     | 
    
         
             
                scope :published, lambda { where(:published_at => { :$lte => current_time }, :published_to => { :$gte => current_time }) }
         
     | 
| 
       45 
45 
     | 
    
         | 
| 
         @@ -65,6 +65,10 @@ module Noodall 
     | 
|
| 
       65 
65 
     | 
    
         
             
                  !published_at.nil? and published_at <= current_time and (published_to.nil? or published_to >= current_time)
         
     | 
| 
       66 
66 
     | 
    
         
             
                end
         
     | 
| 
       67 
67 
     | 
    
         | 
| 
      
 68 
     | 
    
         
            +
                def has_draft?
         
     | 
| 
      
 69 
     | 
    
         
            +
                  !version_at(:latest).nil? && version_at(:latest).pos != version_number
         
     | 
| 
      
 70 
     | 
    
         
            +
                end
         
     | 
| 
      
 71 
     | 
    
         
            +
             
     | 
| 
       68 
72 
     | 
    
         
             
                def pending?
         
     | 
| 
       69 
73 
     | 
    
         
             
                  published_at.nil? or published_at >= current_time
         
     | 
| 
       70 
74 
     | 
    
         
             
                end
         
     | 
| 
         @@ -91,17 +95,17 @@ module Noodall 
     | 
|
| 
       91 
95 
     | 
    
         
             
                  switch_position(sibling)
         
     | 
| 
       92 
96 
     | 
    
         
             
                end
         
     | 
| 
       93 
97 
     | 
    
         | 
| 
       94 
     | 
    
         
            -
                def run_callbacks(kind, options = {}, &block)
         
     | 
| 
       95 
     | 
    
         
            -
                  self.class.send("#{kind}_callback_chain").run(self, options, &block)
         
     | 
| 
       96 
     | 
    
         
            -
                  self.embedded_associations.each do |association|
         
     | 
| 
       97 
     | 
    
         
            -
                    self.send(association.name).each do |document|
         
     | 
| 
       98 
     | 
    
         
            -
                      document.run_callbacks(kind, options, &block)
         
     | 
| 
       99 
     | 
    
         
            -
                    end
         
     | 
| 
       100 
     | 
    
         
            -
                  end
         
     | 
| 
       101 
     | 
    
         
            -
                  self.embedded_keys.each do |key|
         
     | 
| 
       102 
     | 
    
         
            -
                    self.send(key.name).run_callbacks(kind, options, &block) unless self.send(key.name).nil?
         
     | 
| 
       103 
     | 
    
         
            -
                  end
         
     | 
| 
       104 
     | 
    
         
            -
                end
         
     | 
| 
      
 98 
     | 
    
         
            +
                #def run_callbacks(kind, options = {}, &block)
         
     | 
| 
      
 99 
     | 
    
         
            +
                  #self.class.send("#{kind}_callback_chain").run(self, options, &block)
         
     | 
| 
      
 100 
     | 
    
         
            +
                  #self.embedded_associations.each do |association|
         
     | 
| 
      
 101 
     | 
    
         
            +
                    #self.send(association.name).each do |document|
         
     | 
| 
      
 102 
     | 
    
         
            +
                      #document.run_callbacks(kind, options, &block)
         
     | 
| 
      
 103 
     | 
    
         
            +
                    #end
         
     | 
| 
      
 104 
     | 
    
         
            +
                  #end
         
     | 
| 
      
 105 
     | 
    
         
            +
                  #self.embedded_keys.each do |key|
         
     | 
| 
      
 106 
     | 
    
         
            +
                    #self.send(key.name).run_callbacks(kind, options, &block) unless self.send(key.name).nil?
         
     | 
| 
      
 107 
     | 
    
         
            +
                  #end
         
     | 
| 
      
 108 
     | 
    
         
            +
                #end
         
     | 
| 
       105 
109 
     | 
    
         | 
| 
       106 
110 
     | 
    
         
             
                def slots
         
     | 
| 
       107 
111 
     | 
    
         
             
                  slots = []
         
     | 
| 
         @@ -302,6 +306,13 @@ module Noodall 
     | 
|
| 
       302 
306 
     | 
    
         
             
                  self.name = self.title if self.name.blank?
         
     | 
| 
       303 
307 
     | 
    
         
             
                end
         
     | 
| 
       304 
308 
     | 
    
         | 
| 
      
 309 
     | 
    
         
            +
                # Validate that child templates (set via sub_templates) are allowed if the template is changed
         
     | 
| 
      
 310 
     | 
    
         
            +
                def child_templates_allowed
         
     | 
| 
      
 311 
     | 
    
         
            +
                  unless !_type_changed? or children.empty?
         
     | 
| 
      
 312 
     | 
    
         
            +
                    errors.add(:base, "Template cannot be changed as sub content is not allowed in this template") unless children.select{|c| !self._type.constantize.template_classes.include?(c.class)}.empty?
         
     | 
| 
      
 313 
     | 
    
         
            +
                  end
         
     | 
| 
      
 314 
     | 
    
         
            +
                end
         
     | 
| 
      
 315 
     | 
    
         
            +
             
     | 
| 
       305 
316 
     | 
    
         
             
                class << self
         
     | 
| 
       306 
317 
     | 
    
         
             
                  @@slots = []
         
     | 
| 
       307 
318 
     | 
    
         | 
| 
         @@ -320,9 +331,10 @@ module Noodall 
     | 
|
| 
       320 
331 
     | 
    
         
             
                      define_singleton_method("#{slot}_slots") do |count|
         
     | 
| 
       321 
332 
     | 
    
         
             
                        instance_variable_set("@#{slot}_slots_count", count)
         
     | 
| 
       322 
333 
     | 
    
         
             
                        count.times do |i|
         
     | 
| 
       323 
     | 
    
         
            -
                           
     | 
| 
       324 
     | 
    
         
            -
                           
     | 
| 
       325 
     | 
    
         
            -
                           
     | 
| 
      
 334 
     | 
    
         
            +
                          slot_sym = "#{slot}_slot_#{i}".to_sym
         
     | 
| 
      
 335 
     | 
    
         
            +
                          key slot_sym, Noodall::Component
         
     | 
| 
      
 336 
     | 
    
         
            +
                          validates slot_sym, :slot => { :slot_type => slot }
         
     | 
| 
      
 337 
     | 
    
         
            +
                          validates_associated slot_sym
         
     | 
| 
       326 
338 
     | 
    
         
             
                        end
         
     | 
| 
       327 
339 
     | 
    
         
             
                      end
         
     | 
| 
       328 
340 
     | 
    
         
             
                      define_singleton_method("#{slot}_slots_count") { instance_variable_get("@#{slot}_slots_count") }
         
     | 
| 
         @@ -403,6 +415,12 @@ module Noodall 
     | 
|
| 
       403 
415 
     | 
    
         
             
                  end
         
     | 
| 
       404 
416 
     | 
    
         
             
                end
         
     | 
| 
       405 
417 
     | 
    
         | 
| 
      
 418 
     | 
    
         
            +
                class SlotValidator < ActiveModel::EachValidator
         
     | 
| 
      
 419 
     | 
    
         
            +
                  def validate_each(record, attribute, value)
         
     | 
| 
      
 420 
     | 
    
         
            +
                    record.errors[attribute] << "cannnot contain  #{value.class.name.humanize}" unless value.nil? or Noodall::Component.positions_classes(options[:slot_type]).include?(value.class)
         
     | 
| 
      
 421 
     | 
    
         
            +
                  end
         
     | 
| 
      
 422 
     | 
    
         
            +
                end
         
     | 
| 
      
 423 
     | 
    
         
            +
             
     | 
| 
       406 
424 
     | 
    
         
             
              end
         
     | 
| 
       407 
425 
     | 
    
         | 
| 
       408 
426 
     | 
    
         
             
            end
         
     | 
    
        data/lib/noodall/search.rb
    CHANGED
    
    | 
         @@ -1,16 +1,17 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            module Noodall
         
     | 
| 
       2 
2 
     | 
    
         
             
              module Search
         
     | 
| 
      
 3 
     | 
    
         
            +
                extend ActiveSupport::Concern
         
     | 
| 
      
 4 
     | 
    
         
            +
             
     | 
| 
       3 
5 
     | 
    
         
             
                STOPWORDS = ["all","also","and","any","are","been","but","can", "cannot", "cant","else","etc","for","from","get", "give","had","has","hasnt","have","inc","into","its","not","put","see","this","too","via","was","were","when","with"]
         
     | 
| 
       4 
6 
     | 
    
         | 
| 
       5 
     | 
    
         
            -
             
     | 
| 
      
 7 
     | 
    
         
            +
             
     | 
| 
      
 8 
     | 
    
         
            +
                included do
         
     | 
| 
       6 
9 
     | 
    
         
             
                  require 'lingua/stemmer'
         
     | 
| 
       7 
10 
     | 
    
         | 
| 
       8 
     | 
    
         
            -
                   
     | 
| 
       9 
     | 
    
         
            -
             
     | 
| 
       10 
     | 
    
         
            -
                    attr_accessor :relevance
         
     | 
| 
      
 11 
     | 
    
         
            +
                  key :_keywords, Array, :index => true
         
     | 
| 
      
 12 
     | 
    
         
            +
                  attr_accessor :relevance
         
     | 
| 
       11 
13 
     | 
    
         | 
| 
       12 
     | 
    
         
            -
             
     | 
| 
       13 
     | 
    
         
            -
                  end
         
     | 
| 
      
 14 
     | 
    
         
            +
                  before_save :_update_keywords
         
     | 
| 
       14 
15 
     | 
    
         
             
                end
         
     | 
| 
       15 
16 
     | 
    
         | 
| 
       16 
17 
     | 
    
         
             
                module ClassMethods
         
     | 
| 
         @@ -41,7 +42,7 @@ module Noodall 
     | 
|
| 
       41 
42 
     | 
    
         
             
                    options = plucky_query.options.to_hash
         
     | 
| 
       42 
43 
     | 
    
         | 
| 
       43 
44 
     | 
    
         
             
                    # Extract words from the query and clean up
         
     | 
| 
       44 
     | 
    
         
            -
                    words = query. 
     | 
| 
      
 45 
     | 
    
         
            +
                    words = query.downcase.split(/\W/) - STOPWORDS
         
     | 
| 
       45 
46 
     | 
    
         
             
                    words.reject!{|w| w.length < 3}
         
     | 
| 
       46 
47 
     | 
    
         | 
| 
       47 
48 
     | 
    
         
             
                    # add stemmed words to the array of words
         
     | 
    
        data/lib/noodall/tagging.rb
    CHANGED
    
    | 
         @@ -1,11 +1,11 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            module Noodall
         
     | 
| 
       2 
2 
     | 
    
         
             
              module Tagging
         
     | 
| 
       3 
     | 
    
         
            -
                 
     | 
| 
       4 
     | 
    
         
            -
             
     | 
| 
       5 
     | 
    
         
            -
             
     | 
| 
       6 
     | 
    
         
            -
                   
     | 
| 
      
 3 
     | 
    
         
            +
                extend ActiveSupport::Concern
         
     | 
| 
      
 4 
     | 
    
         
            +
             
     | 
| 
      
 5 
     | 
    
         
            +
                included do
         
     | 
| 
      
 6 
     | 
    
         
            +
                  key :tags, Array, :index => true
         
     | 
| 
       7 
7 
     | 
    
         
             
                end
         
     | 
| 
       8 
     | 
    
         
            -
             
     | 
| 
      
 8 
     | 
    
         
            +
             
     | 
| 
       9 
9 
     | 
    
         
             
                module ClassMethods
         
     | 
| 
       10 
10 
     | 
    
         
             
                  def tag_cloud(options = {})
         
     | 
| 
       11 
11 
     | 
    
         
             
                    return [] if self.count == 0 # Don't bother if there is nothing in this collection
         
     | 
| 
         @@ -20,7 +20,7 @@ module Noodall 
     | 
|
| 
       20 
20 
     | 
    
         
             
                      []
         
     | 
| 
       21 
21 
     | 
    
         
             
                    end
         
     | 
| 
       22 
22 
     | 
    
         
             
                  end
         
     | 
| 
       23 
     | 
    
         
            -
             
     | 
| 
      
 23 
     | 
    
         
            +
             
     | 
| 
       24 
24 
     | 
    
         
             
                  def tag_cloud_map
         
     | 
| 
       25 
25 
     | 
    
         
             
                   "function(){" +
         
     | 
| 
       26 
26 
     | 
    
         
             
                    "this.tags.forEach(" +
         
     | 
| 
         @@ -29,7 +29,7 @@ module Noodall 
     | 
|
| 
       29 
29 
     | 
    
         
             
                    "}" +
         
     | 
| 
       30 
30 
     | 
    
         
             
                    ")}"
         
     | 
| 
       31 
31 
     | 
    
         
             
                  end
         
     | 
| 
       32 
     | 
    
         
            -
             
     | 
| 
      
 32 
     | 
    
         
            +
             
     | 
| 
       33 
33 
     | 
    
         
             
                  def tag_cloud_reduce
         
     | 
| 
       34 
34 
     | 
    
         
             
                    "function( key , values ){" +
         
     | 
| 
       35 
35 
     | 
    
         
             
                    "var total = 0;" +
         
     | 
| 
         @@ -40,24 +40,24 @@ module Noodall 
     | 
|
| 
       40 
40 
     | 
    
         
             
                    "}"
         
     | 
| 
       41 
41 
     | 
    
         
             
                  end
         
     | 
| 
       42 
42 
     | 
    
         
             
                end
         
     | 
| 
       43 
     | 
    
         
            -
             
     | 
| 
      
 43 
     | 
    
         
            +
             
     | 
| 
       44 
44 
     | 
    
         
             
                module InstanceMethods
         
     | 
| 
       45 
45 
     | 
    
         
             
                  def tag_list=(string)
         
     | 
| 
       46 
46 
     | 
    
         
             
                    self.tags = string.to_s.split(',').map{ |t| t.strip.downcase }.reject(&:blank?).compact.uniq
         
     | 
| 
       47 
47 
     | 
    
         
             
                  end
         
     | 
| 
       48 
     | 
    
         
            -
             
     | 
| 
      
 48 
     | 
    
         
            +
             
     | 
| 
       49 
49 
     | 
    
         
             
                  def tag_list
         
     | 
| 
       50 
50 
     | 
    
         
             
                    tags.join(', ')
         
     | 
| 
       51 
51 
     | 
    
         
             
                  end
         
     | 
| 
       52 
     | 
    
         
            -
             
     | 
| 
      
 52 
     | 
    
         
            +
             
     | 
| 
       53 
53 
     | 
    
         
             
                  def related(options ={})
         
     | 
| 
       54 
54 
     | 
    
         
             
                    self.class.all(options.merge({:_id => {'$ne' => self._id}, :tags => /(#{self.tags.join('|')})/i}))
         
     | 
| 
       55 
55 
     | 
    
         
             
                  end
         
     | 
| 
       56 
56 
     | 
    
         
             
                end
         
     | 
| 
       57 
     | 
    
         
            -
             
     | 
| 
      
 57 
     | 
    
         
            +
             
     | 
| 
       58 
58 
     | 
    
         
             
                class Tag
         
     | 
| 
       59 
59 
     | 
    
         
             
                  attr_reader :name, :count
         
     | 
| 
       60 
     | 
    
         
            -
             
     | 
| 
      
 60 
     | 
    
         
            +
             
     | 
| 
       61 
61 
     | 
    
         
             
                  def initialize(name, count)
         
     | 
| 
       62 
62 
     | 
    
         
             
                    @name = name
         
     | 
| 
       63 
63 
     | 
    
         
             
                    @count = count.to_i
         
     | 
| 
         @@ -0,0 +1,22 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            # This is a duplicate of mm-versionable lib/versionable/models/version.rb
         
     | 
| 
      
 2 
     | 
    
         
            +
            # with indexing turned off so it doesn't complian when included that there
         
     | 
| 
      
 3 
     | 
    
         
            +
            # is no db connection
         
     | 
| 
      
 4 
     | 
    
         
            +
            class Version
         
     | 
| 
      
 5 
     | 
    
         
            +
              include MongoMapper::Document
         
     | 
| 
      
 6 
     | 
    
         
            +
             
     | 
| 
      
 7 
     | 
    
         
            +
              key :data, Hash
         
     | 
| 
      
 8 
     | 
    
         
            +
              key :date, Time
         
     | 
| 
      
 9 
     | 
    
         
            +
              key :pos, Integer#, :index => true
         
     | 
| 
      
 10 
     | 
    
         
            +
              key :doc_id, String#, :index => true
         
     | 
| 
      
 11 
     | 
    
         
            +
              key :message, String
         
     | 
| 
      
 12 
     | 
    
         
            +
              key :updater_id, String
         
     | 
| 
      
 13 
     | 
    
         
            +
             
     | 
| 
      
 14 
     | 
    
         
            +
              def content(key)
         
     | 
| 
      
 15 
     | 
    
         
            +
                cdata = self.data[key]
         
     | 
| 
      
 16 
     | 
    
         
            +
                if cdata.respond_to?(:join)
         
     | 
| 
      
 17 
     | 
    
         
            +
                  cdata.join(" ")
         
     | 
| 
      
 18 
     | 
    
         
            +
                else
         
     | 
| 
      
 19 
     | 
    
         
            +
                  cdata
         
     | 
| 
      
 20 
     | 
    
         
            +
                end
         
     | 
| 
      
 21 
     | 
    
         
            +
              end
         
     | 
| 
      
 22 
     | 
    
         
            +
            end
         
     | 
    
        data/noodall-core.gemspec
    CHANGED
    
    | 
         @@ -1,83 +1,28 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            # Generated by jeweler
         
     | 
| 
       2 
     | 
    
         
            -
            # DO NOT EDIT THIS FILE DIRECTLY
         
     | 
| 
       3 
     | 
    
         
            -
            # Instead, edit Jeweler::Tasks in Rakefile, and run the gemspec command
         
     | 
| 
       4 
1 
     | 
    
         
             
            # -*- encoding: utf-8 -*-
         
     | 
| 
      
 2 
     | 
    
         
            +
            require File.expand_path("../lib/noodall/core/version", __FILE__)
         
     | 
| 
       5 
3 
     | 
    
         | 
| 
       6 
4 
     | 
    
         
             
            Gem::Specification.new do |s|
         
     | 
| 
       7 
     | 
    
         
            -
              s.name =  
     | 
| 
       8 
     | 
    
         
            -
              s.version =  
     | 
| 
       9 
     | 
    
         
            -
             
     | 
| 
       10 
     | 
    
         
            -
               
     | 
| 
      
 5 
     | 
    
         
            +
              s.name = "noodall-core"
         
     | 
| 
      
 6 
     | 
    
         
            +
              s.version = Noodall::Core::VERSION
         
     | 
| 
      
 7 
     | 
    
         
            +
              s.platform    = Gem::Platform::RUBY
         
     | 
| 
      
 8 
     | 
    
         
            +
              
         
     | 
| 
       11 
9 
     | 
    
         
             
              s.authors = ["Steve England"]
         
     | 
| 
       12 
     | 
    
         
            -
              s. 
     | 
| 
       13 
     | 
    
         
            -
              s. 
     | 
| 
       14 
     | 
    
         
            -
              s. 
     | 
| 
       15 
     | 
    
         
            -
              s. 
     | 
| 
       16 
     | 
    
         
            -
             
     | 
| 
       17 
     | 
    
         
            -
             
     | 
| 
       18 
     | 
    
         
            -
               
     | 
| 
       19 
     | 
    
         
            -
              s. 
     | 
| 
       20 
     | 
    
         
            -
             
     | 
| 
       21 
     | 
    
         
            -
             
     | 
| 
       22 
     | 
    
         
            -
             
     | 
| 
       23 
     | 
    
         
            -
             
     | 
| 
       24 
     | 
    
         
            -
             
     | 
| 
       25 
     | 
    
         
            -
             
     | 
| 
       26 
     | 
    
         
            -
             
     | 
| 
       27 
     | 
    
         
            -
             
     | 
| 
       28 
     | 
    
         
            -
             
     | 
| 
       29 
     | 
    
         
            -
                 "lib/noodall/component.rb",
         
     | 
| 
       30 
     | 
    
         
            -
                 "lib/noodall/global_update_time.rb",
         
     | 
| 
       31 
     | 
    
         
            -
                 "lib/noodall/indexer.rb",
         
     | 
| 
       32 
     | 
    
         
            -
                 "lib/noodall/node.rb",
         
     | 
| 
       33 
     | 
    
         
            -
                 "lib/noodall/permalink.rb",
         
     | 
| 
       34 
     | 
    
         
            -
                 "lib/noodall/search.rb",
         
     | 
| 
       35 
     | 
    
         
            -
                 "lib/noodall/site.rb",
         
     | 
| 
       36 
     | 
    
         
            -
                 "lib/noodall/tagging.rb",
         
     | 
| 
       37 
     | 
    
         
            -
                 "noodall-core.gemspec",
         
     | 
| 
       38 
     | 
    
         
            -
                 "spec/component_spec.rb",
         
     | 
| 
       39 
     | 
    
         
            -
                 "spec/factories/component.rb",
         
     | 
| 
       40 
     | 
    
         
            -
                 "spec/factories/node.rb",
         
     | 
| 
       41 
     | 
    
         
            -
                 "spec/node_spec.rb",
         
     | 
| 
       42 
     | 
    
         
            -
                 "spec/site_map_spec.rb",
         
     | 
| 
       43 
     | 
    
         
            -
                 "spec/spec_helper.rb"
         
     | 
| 
       44 
     | 
    
         
            -
              ]
         
     | 
| 
       45 
     | 
    
         
            -
              s.homepage = %q{http://github.com/beef/noodall-core}
         
     | 
| 
       46 
     | 
    
         
            -
              s.rdoc_options = ["--charset=UTF-8"]
         
     | 
| 
       47 
     | 
    
         
            -
              s.require_paths = ["lib"]
         
     | 
| 
       48 
     | 
    
         
            -
              s.rubygems_version = %q{1.6.2}
         
     | 
| 
       49 
     | 
    
         
            -
              s.summary = %q{Core data objects for Noodall}
         
     | 
| 
       50 
     | 
    
         
            -
              s.test_files = [
         
     | 
| 
       51 
     | 
    
         
            -
                "spec/component_spec.rb",
         
     | 
| 
       52 
     | 
    
         
            -
                 "spec/factories/component.rb",
         
     | 
| 
       53 
     | 
    
         
            -
                 "spec/factories/node.rb",
         
     | 
| 
       54 
     | 
    
         
            -
                 "spec/node_spec.rb",
         
     | 
| 
       55 
     | 
    
         
            -
                 "spec/site_map_spec.rb",
         
     | 
| 
       56 
     | 
    
         
            -
                 "spec/spec_helper.rb"
         
     | 
| 
       57 
     | 
    
         
            -
              ]
         
     | 
| 
       58 
     | 
    
         
            -
             
     | 
| 
       59 
     | 
    
         
            -
              if s.respond_to? :specification_version then
         
     | 
| 
       60 
     | 
    
         
            -
                s.specification_version = 3
         
     | 
| 
       61 
     | 
    
         
            -
             
     | 
| 
       62 
     | 
    
         
            -
                if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
         
     | 
| 
       63 
     | 
    
         
            -
                  s.add_runtime_dependency(%q<mongo_mapper>, ["~> 0.8.6"])
         
     | 
| 
       64 
     | 
    
         
            -
                  s.add_runtime_dependency(%q<ramdiv-mongo_mapper_acts_as_tree>, ["~> 0.1.1"])
         
     | 
| 
       65 
     | 
    
         
            -
                  s.add_runtime_dependency(%q<mm-multi-parameter-attributes>, ["~> 0.1.1"])
         
     | 
| 
       66 
     | 
    
         
            -
                  s.add_runtime_dependency(%q<canable>, ["= 0.1.1"])
         
     | 
| 
       67 
     | 
    
         
            -
                  s.add_runtime_dependency(%q<ruby-stemmer>, [">= 0"])
         
     | 
| 
       68 
     | 
    
         
            -
                else
         
     | 
| 
       69 
     | 
    
         
            -
                  s.add_dependency(%q<mongo_mapper>, ["~> 0.8.6"])
         
     | 
| 
       70 
     | 
    
         
            -
                  s.add_dependency(%q<ramdiv-mongo_mapper_acts_as_tree>, ["~> 0.1.1"])
         
     | 
| 
       71 
     | 
    
         
            -
                  s.add_dependency(%q<mm-multi-parameter-attributes>, ["~> 0.1.1"])
         
     | 
| 
       72 
     | 
    
         
            -
                  s.add_dependency(%q<canable>, ["= 0.1.1"])
         
     | 
| 
       73 
     | 
    
         
            -
                  s.add_dependency(%q<ruby-stemmer>, [">= 0"])
         
     | 
| 
       74 
     | 
    
         
            -
                end
         
     | 
| 
       75 
     | 
    
         
            -
              else
         
     | 
| 
       76 
     | 
    
         
            -
                s.add_dependency(%q<mongo_mapper>, ["~> 0.8.6"])
         
     | 
| 
       77 
     | 
    
         
            -
                s.add_dependency(%q<ramdiv-mongo_mapper_acts_as_tree>, ["~> 0.1.1"])
         
     | 
| 
       78 
     | 
    
         
            -
                s.add_dependency(%q<mm-multi-parameter-attributes>, ["~> 0.1.1"])
         
     | 
| 
       79 
     | 
    
         
            -
                s.add_dependency(%q<canable>, ["= 0.1.1"])
         
     | 
| 
       80 
     | 
    
         
            -
                s.add_dependency(%q<ruby-stemmer>, [">= 0"])
         
     | 
| 
       81 
     | 
    
         
            -
              end
         
     | 
| 
      
 10 
     | 
    
         
            +
              s.email = ['steve@wearebeef.co.uk']
         
     | 
| 
      
 11 
     | 
    
         
            +
              s.homepage = "http://github.com/beef/noodall-core"
         
     | 
| 
      
 12 
     | 
    
         
            +
              s.summary = "Core data objects for Noodall"
         
     | 
| 
      
 13 
     | 
    
         
            +
              s.description = "Core data objects for Noodall"
         
     | 
| 
      
 14 
     | 
    
         
            +
              
         
     | 
| 
      
 15 
     | 
    
         
            +
              s.required_rubygems_version = ">= 1.3.6"
         
     | 
| 
      
 16 
     | 
    
         
            +
              
         
     | 
| 
      
 17 
     | 
    
         
            +
              s.add_dependency(%q<mongo_mapper>, ["~> 0.9.0"])
         
     | 
| 
      
 18 
     | 
    
         
            +
              s.add_dependency(%q<ramdiv-mongo_mapper_acts_as_tree>, ["~> 0.1.1"])
         
     | 
| 
      
 19 
     | 
    
         
            +
              s.add_dependency(%q<mm-multi-parameter-attributes>, ["~> 0.2.1"])
         
     | 
| 
      
 20 
     | 
    
         
            +
              s.add_dependency(%q<canable>, ["= 0.1.1"])
         
     | 
| 
      
 21 
     | 
    
         
            +
              s.add_dependency(%q<mm-versionable>, ["= 0.2.4"])
         
     | 
| 
      
 22 
     | 
    
         
            +
              s.add_dependency(%q<ruby-stemmer>, [">= 0"])
         
     | 
| 
      
 23 
     | 
    
         
            +
              
         
     | 
| 
      
 24 
     | 
    
         
            +
              s.files        = `git ls-files`.split("\n")
         
     | 
| 
      
 25 
     | 
    
         
            +
              s.executables  = `git ls-files`.split("\n").map{|f| f =~ /^bin\/(.*)/ ? $1 : nil}.compact
         
     | 
| 
      
 26 
     | 
    
         
            +
              s.require_path = 'lib'
         
     | 
| 
       82 
27 
     | 
    
         
             
            end
         
     | 
| 
       83 
28 
     | 
    
         | 
    
        data/spec/node_spec.rb
    CHANGED
    
    | 
         @@ -464,4 +464,13 @@ describe Noodall::Node do 
     | 
|
| 
       464 
464 
     | 
    
         
             
                  @page.save!
         
     | 
| 
       465 
465 
     | 
    
         
             
                end
         
     | 
| 
       466 
466 
     | 
    
         
             
              end
         
     | 
| 
      
 467 
     | 
    
         
            +
             
     | 
| 
      
 468 
     | 
    
         
            +
              it "should know if newer (draft) versions are avaiable" do
         
     | 
| 
      
 469 
     | 
    
         
            +
                  @page = Factory(:page)
         
     | 
| 
      
 470 
     | 
    
         
            +
                  @page.has_draft?.should be(false)
         
     | 
| 
      
 471 
     | 
    
         
            +
                  @page.title = "Some title"
         
     | 
| 
      
 472 
     | 
    
         
            +
                  @page.save_version
         
     | 
| 
      
 473 
     | 
    
         
            +
                  @page.reload
         
     | 
| 
      
 474 
     | 
    
         
            +
                  @page.has_draft?.should == true
         
     | 
| 
      
 475 
     | 
    
         
            +
              end
         
     | 
| 
       467 
476 
     | 
    
         
             
            end
         
     | 
    
        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: 7
         
     | 
| 
       5 
5 
     | 
    
         
             
              prerelease: 
         
     | 
| 
       6 
6 
     | 
    
         
             
              segments: 
         
     | 
| 
       7 
7 
     | 
    
         
             
              - 0
         
     | 
| 
       8 
     | 
    
         
            -
              -  
     | 
| 
       9 
     | 
    
         
            -
              -  
     | 
| 
       10 
     | 
    
         
            -
              version: 0. 
     | 
| 
      
 8 
     | 
    
         
            +
              - 7
         
     | 
| 
      
 9 
     | 
    
         
            +
              - 2
         
     | 
| 
      
 10 
     | 
    
         
            +
              version: 0.7.2
         
     | 
| 
       11 
11 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       12 
12 
     | 
    
         
             
            authors: 
         
     | 
| 
       13 
13 
     | 
    
         
             
            - Steve England
         
     | 
| 
         @@ -15,29 +15,27 @@ autorequire: 
     | 
|
| 
       15 
15 
     | 
    
         
             
            bindir: bin
         
     | 
| 
       16 
16 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       17 
17 
     | 
    
         | 
| 
       18 
     | 
    
         
            -
            date: 2011-06- 
     | 
| 
      
 18 
     | 
    
         
            +
            date: 2011-06-17 00:00:00 +01:00
         
     | 
| 
       19 
19 
     | 
    
         
             
            default_executable: 
         
     | 
| 
       20 
20 
     | 
    
         
             
            dependencies: 
         
     | 
| 
       21 
21 
     | 
    
         
             
            - !ruby/object:Gem::Dependency 
         
     | 
| 
       22 
     | 
    
         
            -
               
     | 
| 
       23 
     | 
    
         
            -
              type: :runtime
         
     | 
| 
       24 
     | 
    
         
            -
              requirement: &id001 !ruby/object:Gem::Requirement 
         
     | 
| 
      
 22 
     | 
    
         
            +
              version_requirements: &id001 !ruby/object:Gem::Requirement 
         
     | 
| 
       25 
23 
     | 
    
         
             
                none: false
         
     | 
| 
       26 
24 
     | 
    
         
             
                requirements: 
         
     | 
| 
       27 
25 
     | 
    
         
             
                - - ~>
         
     | 
| 
       28 
26 
     | 
    
         
             
                  - !ruby/object:Gem::Version 
         
     | 
| 
       29 
     | 
    
         
            -
                    hash:  
     | 
| 
      
 27 
     | 
    
         
            +
                    hash: 59
         
     | 
| 
       30 
28 
     | 
    
         
             
                    segments: 
         
     | 
| 
       31 
29 
     | 
    
         
             
                    - 0
         
     | 
| 
       32 
     | 
    
         
            -
                    -  
     | 
| 
       33 
     | 
    
         
            -
                    -  
     | 
| 
       34 
     | 
    
         
            -
                    version: 0. 
     | 
| 
       35 
     | 
    
         
            -
              name: mongo_mapper
         
     | 
| 
       36 
     | 
    
         
            -
              version_requirements: *id001
         
     | 
| 
       37 
     | 
    
         
            -
            - !ruby/object:Gem::Dependency 
         
     | 
| 
      
 30 
     | 
    
         
            +
                    - 9
         
     | 
| 
      
 31 
     | 
    
         
            +
                    - 0
         
     | 
| 
      
 32 
     | 
    
         
            +
                    version: 0.9.0
         
     | 
| 
       38 
33 
     | 
    
         
             
              prerelease: false
         
     | 
| 
      
 34 
     | 
    
         
            +
              requirement: *id001
         
     | 
| 
       39 
35 
     | 
    
         
             
              type: :runtime
         
     | 
| 
       40 
     | 
    
         
            -
               
     | 
| 
      
 36 
     | 
    
         
            +
              name: mongo_mapper
         
     | 
| 
      
 37 
     | 
    
         
            +
            - !ruby/object:Gem::Dependency 
         
     | 
| 
      
 38 
     | 
    
         
            +
              version_requirements: &id002 !ruby/object:Gem::Requirement 
         
     | 
| 
       41 
39 
     | 
    
         
             
                none: false
         
     | 
| 
       42 
40 
     | 
    
         
             
                requirements: 
         
     | 
| 
       43 
41 
     | 
    
         
             
                - - ~>
         
     | 
| 
         @@ -48,28 +46,28 @@ dependencies: 
     | 
|
| 
       48 
46 
     | 
    
         
             
                    - 1
         
     | 
| 
       49 
47 
     | 
    
         
             
                    - 1
         
     | 
| 
       50 
48 
     | 
    
         
             
                    version: 0.1.1
         
     | 
| 
       51 
     | 
    
         
            -
              name: ramdiv-mongo_mapper_acts_as_tree
         
     | 
| 
       52 
     | 
    
         
            -
              version_requirements: *id002
         
     | 
| 
       53 
     | 
    
         
            -
            - !ruby/object:Gem::Dependency 
         
     | 
| 
       54 
49 
     | 
    
         
             
              prerelease: false
         
     | 
| 
      
 50 
     | 
    
         
            +
              requirement: *id002
         
     | 
| 
       55 
51 
     | 
    
         
             
              type: :runtime
         
     | 
| 
       56 
     | 
    
         
            -
               
     | 
| 
      
 52 
     | 
    
         
            +
              name: ramdiv-mongo_mapper_acts_as_tree
         
     | 
| 
      
 53 
     | 
    
         
            +
            - !ruby/object:Gem::Dependency 
         
     | 
| 
      
 54 
     | 
    
         
            +
              version_requirements: &id003 !ruby/object:Gem::Requirement 
         
     | 
| 
       57 
55 
     | 
    
         
             
                none: false
         
     | 
| 
       58 
56 
     | 
    
         
             
                requirements: 
         
     | 
| 
       59 
57 
     | 
    
         
             
                - - ~>
         
     | 
| 
       60 
58 
     | 
    
         
             
                  - !ruby/object:Gem::Version 
         
     | 
| 
       61 
     | 
    
         
            -
                    hash:  
     | 
| 
      
 59 
     | 
    
         
            +
                    hash: 21
         
     | 
| 
       62 
60 
     | 
    
         
             
                    segments: 
         
     | 
| 
       63 
61 
     | 
    
         
             
                    - 0
         
     | 
| 
      
 62 
     | 
    
         
            +
                    - 2
         
     | 
| 
       64 
63 
     | 
    
         
             
                    - 1
         
     | 
| 
       65 
     | 
    
         
            -
                     
     | 
| 
       66 
     | 
    
         
            -
                    version: 0.1.1
         
     | 
| 
       67 
     | 
    
         
            -
              name: mm-multi-parameter-attributes
         
     | 
| 
       68 
     | 
    
         
            -
              version_requirements: *id003
         
     | 
| 
       69 
     | 
    
         
            -
            - !ruby/object:Gem::Dependency 
         
     | 
| 
      
 64 
     | 
    
         
            +
                    version: 0.2.1
         
     | 
| 
       70 
65 
     | 
    
         
             
              prerelease: false
         
     | 
| 
      
 66 
     | 
    
         
            +
              requirement: *id003
         
     | 
| 
       71 
67 
     | 
    
         
             
              type: :runtime
         
     | 
| 
       72 
     | 
    
         
            -
               
     | 
| 
      
 68 
     | 
    
         
            +
              name: mm-multi-parameter-attributes
         
     | 
| 
      
 69 
     | 
    
         
            +
            - !ruby/object:Gem::Dependency 
         
     | 
| 
      
 70 
     | 
    
         
            +
              version_requirements: &id004 !ruby/object:Gem::Requirement 
         
     | 
| 
       73 
71 
     | 
    
         
             
                none: false
         
     | 
| 
       74 
72 
     | 
    
         
             
                requirements: 
         
     | 
| 
       75 
73 
     | 
    
         
             
                - - "="
         
     | 
| 
         @@ -80,12 +78,28 @@ dependencies: 
     | 
|
| 
       80 
78 
     | 
    
         
             
                    - 1
         
     | 
| 
       81 
79 
     | 
    
         
             
                    - 1
         
     | 
| 
       82 
80 
     | 
    
         
             
                    version: 0.1.1
         
     | 
| 
      
 81 
     | 
    
         
            +
              prerelease: false
         
     | 
| 
      
 82 
     | 
    
         
            +
              requirement: *id004
         
     | 
| 
      
 83 
     | 
    
         
            +
              type: :runtime
         
     | 
| 
       83 
84 
     | 
    
         
             
              name: canable
         
     | 
| 
       84 
     | 
    
         
            -
              version_requirements: *id004
         
     | 
| 
       85 
85 
     | 
    
         
             
            - !ruby/object:Gem::Dependency 
         
     | 
| 
      
 86 
     | 
    
         
            +
              version_requirements: &id005 !ruby/object:Gem::Requirement 
         
     | 
| 
      
 87 
     | 
    
         
            +
                none: false
         
     | 
| 
      
 88 
     | 
    
         
            +
                requirements: 
         
     | 
| 
      
 89 
     | 
    
         
            +
                - - "="
         
     | 
| 
      
 90 
     | 
    
         
            +
                  - !ruby/object:Gem::Version 
         
     | 
| 
      
 91 
     | 
    
         
            +
                    hash: 31
         
     | 
| 
      
 92 
     | 
    
         
            +
                    segments: 
         
     | 
| 
      
 93 
     | 
    
         
            +
                    - 0
         
     | 
| 
      
 94 
     | 
    
         
            +
                    - 2
         
     | 
| 
      
 95 
     | 
    
         
            +
                    - 4
         
     | 
| 
      
 96 
     | 
    
         
            +
                    version: 0.2.4
         
     | 
| 
       86 
97 
     | 
    
         
             
              prerelease: false
         
     | 
| 
      
 98 
     | 
    
         
            +
              requirement: *id005
         
     | 
| 
       87 
99 
     | 
    
         
             
              type: :runtime
         
     | 
| 
       88 
     | 
    
         
            -
               
     | 
| 
      
 100 
     | 
    
         
            +
              name: mm-versionable
         
     | 
| 
      
 101 
     | 
    
         
            +
            - !ruby/object:Gem::Dependency 
         
     | 
| 
      
 102 
     | 
    
         
            +
              version_requirements: &id006 !ruby/object:Gem::Requirement 
         
     | 
| 
       89 
103 
     | 
    
         
             
                none: false
         
     | 
| 
       90 
104 
     | 
    
         
             
                requirements: 
         
     | 
| 
       91 
105 
     | 
    
         
             
                - - ">="
         
     | 
| 
         @@ -94,28 +108,29 @@ dependencies: 
     | 
|
| 
       94 
108 
     | 
    
         
             
                    segments: 
         
     | 
| 
       95 
109 
     | 
    
         
             
                    - 0
         
     | 
| 
       96 
110 
     | 
    
         
             
                    version: "0"
         
     | 
| 
      
 111 
     | 
    
         
            +
              prerelease: false
         
     | 
| 
      
 112 
     | 
    
         
            +
              requirement: *id006
         
     | 
| 
      
 113 
     | 
    
         
            +
              type: :runtime
         
     | 
| 
       97 
114 
     | 
    
         
             
              name: ruby-stemmer
         
     | 
| 
       98 
     | 
    
         
            -
              version_requirements: *id005
         
     | 
| 
       99 
115 
     | 
    
         
             
            description: Core data objects for Noodall
         
     | 
| 
       100 
     | 
    
         
            -
            email:  
     | 
| 
      
 116 
     | 
    
         
            +
            email: 
         
     | 
| 
      
 117 
     | 
    
         
            +
            - steve@wearebeef.co.uk
         
     | 
| 
       101 
118 
     | 
    
         
             
            executables: []
         
     | 
| 
       102 
119 
     | 
    
         | 
| 
       103 
120 
     | 
    
         
             
            extensions: []
         
     | 
| 
       104 
121 
     | 
    
         | 
| 
       105 
     | 
    
         
            -
            extra_rdoc_files: 
         
     | 
| 
       106 
     | 
    
         
            -
             
     | 
| 
       107 
     | 
    
         
            -
            - README.rdoc
         
     | 
| 
      
 122 
     | 
    
         
            +
            extra_rdoc_files: []
         
     | 
| 
      
 123 
     | 
    
         
            +
             
     | 
| 
       108 
124 
     | 
    
         
             
            files: 
         
     | 
| 
       109 
125 
     | 
    
         
             
            - .document
         
     | 
| 
       110 
126 
     | 
    
         
             
            - .gitignore
         
     | 
| 
       111 
     | 
    
         
            -
            - .rvmrc
         
     | 
| 
       112 
127 
     | 
    
         
             
            - Gemfile
         
     | 
| 
       113 
128 
     | 
    
         
             
            - LICENSE
         
     | 
| 
       114 
129 
     | 
    
         
             
            - README.rdoc
         
     | 
| 
       115 
130 
     | 
    
         
             
            - Rakefile
         
     | 
| 
       116 
     | 
    
         
            -
            - VERSION
         
     | 
| 
       117 
131 
     | 
    
         
             
            - lib/noodall-core.rb
         
     | 
| 
       118 
132 
     | 
    
         
             
            - lib/noodall/component.rb
         
     | 
| 
      
 133 
     | 
    
         
            +
            - lib/noodall/core/version.rb
         
     | 
| 
       119 
134 
     | 
    
         
             
            - lib/noodall/global_update_time.rb
         
     | 
| 
       120 
135 
     | 
    
         
             
            - lib/noodall/indexer.rb
         
     | 
| 
       121 
136 
     | 
    
         
             
            - lib/noodall/node.rb
         
     | 
| 
         @@ -123,6 +138,7 @@ files: 
     | 
|
| 
       123 
138 
     | 
    
         
             
            - lib/noodall/search.rb
         
     | 
| 
       124 
139 
     | 
    
         
             
            - lib/noodall/site.rb
         
     | 
| 
       125 
140 
     | 
    
         
             
            - lib/noodall/tagging.rb
         
     | 
| 
      
 141 
     | 
    
         
            +
            - lib/versionable/models/version.rb
         
     | 
| 
       126 
142 
     | 
    
         
             
            - noodall-core.gemspec
         
     | 
| 
       127 
143 
     | 
    
         
             
            - spec/component_spec.rb
         
     | 
| 
       128 
144 
     | 
    
         
             
            - spec/factories/component.rb
         
     | 
| 
         @@ -135,8 +151,8 @@ homepage: http://github.com/beef/noodall-core 
     | 
|
| 
       135 
151 
     | 
    
         
             
            licenses: []
         
     | 
| 
       136 
152 
     | 
    
         | 
| 
       137 
153 
     | 
    
         
             
            post_install_message: 
         
     | 
| 
       138 
     | 
    
         
            -
            rdoc_options: 
         
     | 
| 
       139 
     | 
    
         
            -
             
     | 
| 
      
 154 
     | 
    
         
            +
            rdoc_options: []
         
     | 
| 
      
 155 
     | 
    
         
            +
             
     | 
| 
       140 
156 
     | 
    
         
             
            require_paths: 
         
     | 
| 
       141 
157 
     | 
    
         
             
            - lib
         
     | 
| 
       142 
158 
     | 
    
         
             
            required_ruby_version: !ruby/object:Gem::Requirement 
         
     | 
| 
         @@ -153,10 +169,12 @@ required_rubygems_version: !ruby/object:Gem::Requirement 
     | 
|
| 
       153 
169 
     | 
    
         
             
              requirements: 
         
     | 
| 
       154 
170 
     | 
    
         
             
              - - ">="
         
     | 
| 
       155 
171 
     | 
    
         
             
                - !ruby/object:Gem::Version 
         
     | 
| 
       156 
     | 
    
         
            -
                  hash:  
     | 
| 
      
 172 
     | 
    
         
            +
                  hash: 23
         
     | 
| 
       157 
173 
     | 
    
         
             
                  segments: 
         
     | 
| 
       158 
     | 
    
         
            -
                  -  
     | 
| 
       159 
     | 
    
         
            -
                   
     | 
| 
      
 174 
     | 
    
         
            +
                  - 1
         
     | 
| 
      
 175 
     | 
    
         
            +
                  - 3
         
     | 
| 
      
 176 
     | 
    
         
            +
                  - 6
         
     | 
| 
      
 177 
     | 
    
         
            +
                  version: 1.3.6
         
     | 
| 
       160 
178 
     | 
    
         
             
            requirements: []
         
     | 
| 
       161 
179 
     | 
    
         | 
| 
       162 
180 
     | 
    
         
             
            rubyforge_project: 
         
     | 
| 
         @@ -164,10 +182,5 @@ rubygems_version: 1.6.2 
     | 
|
| 
       164 
182 
     | 
    
         
             
            signing_key: 
         
     | 
| 
       165 
183 
     | 
    
         
             
            specification_version: 3
         
     | 
| 
       166 
184 
     | 
    
         
             
            summary: Core data objects for Noodall
         
     | 
| 
       167 
     | 
    
         
            -
            test_files: 
         
     | 
| 
       168 
     | 
    
         
            -
             
     | 
| 
       169 
     | 
    
         
            -
            - spec/factories/component.rb
         
     | 
| 
       170 
     | 
    
         
            -
            - spec/factories/node.rb
         
     | 
| 
       171 
     | 
    
         
            -
            - spec/node_spec.rb
         
     | 
| 
       172 
     | 
    
         
            -
            - spec/site_map_spec.rb
         
     | 
| 
       173 
     | 
    
         
            -
            - spec/spec_helper.rb
         
     | 
| 
      
 185 
     | 
    
         
            +
            test_files: []
         
     | 
| 
      
 186 
     | 
    
         
            +
             
     | 
    
        data/.rvmrc
    DELETED
    
    | 
         @@ -1,49 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            #!/usr/bin/env bash
         
     | 
| 
       2 
     | 
    
         
            -
             
     | 
| 
       3 
     | 
    
         
            -
            # This is an RVM Project .rvmrc file, used to automatically load the ruby
         
     | 
| 
       4 
     | 
    
         
            -
            # development environment upon cd'ing into the directory
         
     | 
| 
       5 
     | 
    
         
            -
             
     | 
| 
       6 
     | 
    
         
            -
            # First we specify our desired <ruby>[@<gemset>], the @gemset name is optional.
         
     | 
| 
       7 
     | 
    
         
            -
            environment_id="ruby-1.8.7-p334@g-noodall-core"
         
     | 
| 
       8 
     | 
    
         
            -
             
     | 
| 
       9 
     | 
    
         
            -
            #
         
     | 
| 
       10 
     | 
    
         
            -
            # First we attempt to load the desired environment directly from the environment
         
     | 
| 
       11 
     | 
    
         
            -
            # file. This is very fast and efficicent compared to running through the entire
         
     | 
| 
       12 
     | 
    
         
            -
            # CLI and selector. If you want feedback on which environment was used then
         
     | 
| 
       13 
     | 
    
         
            -
            # insert the word 'use' after --create as this triggers verbose mode.
         
     | 
| 
       14 
     | 
    
         
            -
            #
         
     | 
| 
       15 
     | 
    
         
            -
            if [[ -d "${rvm_path:-$HOME/.rvm}/environments" \
         
     | 
| 
       16 
     | 
    
         
            -
              && -s "${rvm_path:-$HOME/.rvm}/environments/$environment_id" ]] ; then
         
     | 
| 
       17 
     | 
    
         
            -
              \. "${rvm_path:-$HOME/.rvm}/environments/$environment_id"
         
     | 
| 
       18 
     | 
    
         
            -
             
     | 
| 
       19 
     | 
    
         
            -
              [[ -s ".rvm/hooks/after_use" ]] && . ".rvm/hooks/after_use"
         
     | 
| 
       20 
     | 
    
         
            -
            else
         
     | 
| 
       21 
     | 
    
         
            -
              # If the environment file has not yet been created, use the RVM CLI to select.
         
     | 
| 
       22 
     | 
    
         
            -
              rvm --create use  "$environment_id"
         
     | 
| 
       23 
     | 
    
         
            -
            fi
         
     | 
| 
       24 
     | 
    
         
            -
             
     | 
| 
       25 
     | 
    
         
            -
            #
         
     | 
| 
       26 
     | 
    
         
            -
            # If you use an RVM gemset file to install a list of gems (*.gems), you can have
         
     | 
| 
       27 
     | 
    
         
            -
            # it be automatically loaded. Uncomment the following and adjust the filename if
         
     | 
| 
       28 
     | 
    
         
            -
            # necessary.
         
     | 
| 
       29 
     | 
    
         
            -
            #
         
     | 
| 
       30 
     | 
    
         
            -
            # filename=".gems"
         
     | 
| 
       31 
     | 
    
         
            -
            # if [[ -s "$filename" ]] ; then
         
     | 
| 
       32 
     | 
    
         
            -
            #   rvm gemset import "$filename" | grep -v already | grep -v listed | grep -v complete | sed '/^$/d'
         
     | 
| 
       33 
     | 
    
         
            -
            # fi
         
     | 
| 
       34 
     | 
    
         
            -
             
     | 
| 
       35 
     | 
    
         
            -
            #
         
     | 
| 
       36 
     | 
    
         
            -
            # If you use bundler and would like to run bundle each time you enter the
         
     | 
| 
       37 
     | 
    
         
            -
            # directory, you can uncomment the following code.
         
     | 
| 
       38 
     | 
    
         
            -
            #
         
     | 
| 
       39 
     | 
    
         
            -
            #   # Ensure that Bundler is installed. Install it if it is not.
         
     | 
| 
       40 
     | 
    
         
            -
            #   if ! command -v bundle >/dev/null; then
         
     | 
| 
       41 
     | 
    
         
            -
            #      printf "The rubygem 'bundler' is not installed. Installing it now.\n"
         
     | 
| 
       42 
     | 
    
         
            -
            #      gem install bundler
         
     | 
| 
       43 
     | 
    
         
            -
            #   fi
         
     | 
| 
       44 
     | 
    
         
            -
            #
         
     | 
| 
       45 
     | 
    
         
            -
            #   # Bundle while reducing excess noise.
         
     | 
| 
       46 
     | 
    
         
            -
            #   printf "Bundling your gems. This may take a few minutes on a fresh clone.\n"
         
     | 
| 
       47 
     | 
    
         
            -
            #   bundle | grep -v '^Using ' | grep -v ' is complete' | sed '/^$/d'
         
     | 
| 
       48 
     | 
    
         
            -
            #
         
     | 
| 
       49 
     | 
    
         
            -
             
     | 
    
        data/VERSION
    DELETED
    
    | 
         @@ -1 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            0.6.3
         
     |