noodall-core 0.6.3 → 0.7.2
Sign up to get free protection for your applications and to get access to all the features.
- 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
|