puffer_pages 0.0.1

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.
Files changed (109) hide show
  1. data/.rspec +2 -0
  2. data/Gemfile +21 -0
  3. data/Gemfile.lock +155 -0
  4. data/MIT-LICENSE +20 -0
  5. data/README.rdoc +3 -0
  6. data/Rakefile +37 -0
  7. data/VERSION +1 -0
  8. data/app/controllers/pages_controller.rb +17 -0
  9. data/app/controllers/puffer_pages/layouts_controller.rb +13 -0
  10. data/app/controllers/puffer_pages/pages_controller.rb +20 -0
  11. data/app/controllers/puffer_pages/snippets_controller.rb +13 -0
  12. data/app/models/layout.rb +6 -0
  13. data/app/models/page.rb +114 -0
  14. data/app/models/page_part.rb +23 -0
  15. data/app/models/snippet.rb +4 -0
  16. data/autotest/discover.rb +2 -0
  17. data/config/puffer_routes.rb +3 -0
  18. data/config/routes.rb +9 -0
  19. data/lib/generators/puffer_pages/install/USAGE +6 -0
  20. data/lib/generators/puffer_pages/install/install_generator.rb +12 -0
  21. data/lib/generators/puffer_pages/install/templates/controllers/layouts_controller.rb +4 -0
  22. data/lib/generators/puffer_pages/install/templates/controllers/pages_controller.rb +4 -0
  23. data/lib/generators/puffer_pages/install/templates/controllers/snippets_controller.rb +4 -0
  24. data/lib/generators/puffer_pages/install/templates/migrate/20090422092419_create_pages.rb +28 -0
  25. data/lib/generators/puffer_pages/install/templates/migrate/20090504132337_create_page_parts.rb +18 -0
  26. data/lib/generators/puffer_pages/install/templates/migrate/20090506102004_create_layouts.rb +16 -0
  27. data/lib/generators/puffer_pages/install/templates/migrate/20090510121824_create_snippets.rb +16 -0
  28. data/lib/puffer_pages.rb +9 -0
  29. data/lib/puffer_pages/base.rb +8 -0
  30. data/lib/puffer_pages/engine.rb +14 -0
  31. data/lib/puffer_pages/extensions/core.rb +7 -0
  32. data/lib/puffer_pages/extensions/mapper.rb +31 -0
  33. data/lib/puffer_pages/liquid/page_drop.rb +43 -0
  34. data/lib/puffer_pages/liquid/tags/yield.rb +27 -0
  35. data/lib/puffer_pages/liquid/tracker.rb +29 -0
  36. data/puffer_pages.gemspec +216 -0
  37. data/spec/dummy/Rakefile +7 -0
  38. data/spec/dummy/app/controllers/admin/layouts_controller.rb +3 -0
  39. data/spec/dummy/app/controllers/admin/pages_controller.rb +3 -0
  40. data/spec/dummy/app/controllers/admin/snippets_controller.rb +3 -0
  41. data/spec/dummy/app/controllers/application_controller.rb +3 -0
  42. data/spec/dummy/app/helpers/application_helper.rb +2 -0
  43. data/spec/dummy/app/views/layouts/application.html.erb +14 -0
  44. data/spec/dummy/config.ru +4 -0
  45. data/spec/dummy/config/application.rb +45 -0
  46. data/spec/dummy/config/boot.rb +10 -0
  47. data/spec/dummy/config/database.yml +22 -0
  48. data/spec/dummy/config/environment.rb +5 -0
  49. data/spec/dummy/config/environments/development.rb +26 -0
  50. data/spec/dummy/config/environments/production.rb +49 -0
  51. data/spec/dummy/config/environments/test.rb +35 -0
  52. data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -0
  53. data/spec/dummy/config/initializers/inflections.rb +10 -0
  54. data/spec/dummy/config/initializers/mime_types.rb +5 -0
  55. data/spec/dummy/config/initializers/secret_token.rb +7 -0
  56. data/spec/dummy/config/initializers/session_store.rb +8 -0
  57. data/spec/dummy/config/locales/en.yml +5 -0
  58. data/spec/dummy/config/puffer.rb +0 -0
  59. data/spec/dummy/config/routes.rb +59 -0
  60. data/spec/dummy/db/migrate/20090422092419_create_pages.rb +29 -0
  61. data/spec/dummy/db/migrate/20090504132337_create_page_parts.rb +18 -0
  62. data/spec/dummy/db/migrate/20090506102004_create_layouts.rb +16 -0
  63. data/spec/dummy/db/migrate/20090510121824_create_snippets.rb +16 -0
  64. data/spec/dummy/db/schema.rb +65 -0
  65. data/spec/dummy/public/404.html +26 -0
  66. data/spec/dummy/public/422.html +26 -0
  67. data/spec/dummy/public/500.html +26 -0
  68. data/spec/dummy/public/favicon.ico +0 -0
  69. data/spec/dummy/public/javascripts/application.js +2 -0
  70. data/spec/dummy/public/javascripts/controls.js +965 -0
  71. data/spec/dummy/public/javascripts/dragdrop.js +974 -0
  72. data/spec/dummy/public/javascripts/effects.js +1123 -0
  73. data/spec/dummy/public/javascripts/prototype.js +6001 -0
  74. data/spec/dummy/public/javascripts/rails.js +175 -0
  75. data/spec/dummy/public/puffer/javascripts/application.js +10 -0
  76. data/spec/dummy/public/puffer/javascripts/rails-src.js +57 -0
  77. data/spec/dummy/public/puffer/javascripts/right-autocompleter-src.js +621 -0
  78. data/spec/dummy/public/puffer/javascripts/right-autocompleter.js +18 -0
  79. data/spec/dummy/public/puffer/javascripts/right-autocompleter.js.gz +0 -0
  80. data/spec/dummy/public/puffer/javascripts/right-calendar-src.js +1461 -0
  81. data/spec/dummy/public/puffer/javascripts/right-calendar.js +36 -0
  82. data/spec/dummy/public/puffer/javascripts/right-calendar.js.gz +0 -0
  83. data/spec/dummy/public/puffer/javascripts/right-in-edit-src.js +369 -0
  84. data/spec/dummy/public/puffer/javascripts/right-in-edit.js +13 -0
  85. data/spec/dummy/public/puffer/javascripts/right-in-edit.js.gz +0 -0
  86. data/spec/dummy/public/puffer/javascripts/right-lightbox-src.js +905 -0
  87. data/spec/dummy/public/puffer/javascripts/right-lightbox.js +24 -0
  88. data/spec/dummy/public/puffer/javascripts/right-lightbox.js.gz +0 -0
  89. data/spec/dummy/public/puffer/javascripts/right-sortable-src.js +428 -0
  90. data/spec/dummy/public/puffer/javascripts/right-sortable.js +17 -0
  91. data/spec/dummy/public/puffer/javascripts/right-sortable.js.gz +0 -0
  92. data/spec/dummy/public/puffer/javascripts/right-src.js +5892 -0
  93. data/spec/dummy/public/puffer/javascripts/right-tabs-src.js +1145 -0
  94. data/spec/dummy/public/puffer/javascripts/right-tabs.js +29 -0
  95. data/spec/dummy/public/puffer/javascripts/right-tabs.js.gz +0 -0
  96. data/spec/dummy/public/puffer/javascripts/right.js +95 -0
  97. data/spec/dummy/public/puffer/javascripts/right.js.gz +0 -0
  98. data/spec/dummy/public/puffer/stylesheets/puffer.css +397 -0
  99. data/spec/dummy/public/puffer/stylesheets/reset.css +60 -0
  100. data/spec/dummy/public/stylesheets/.gitkeep +0 -0
  101. data/spec/dummy/script/rails +6 -0
  102. data/spec/fabricators/layouts_fabricator.rb +4 -0
  103. data/spec/fabricators/page_parts_fabricator.rb +4 -0
  104. data/spec/fabricators/pages_fabricator.rb +7 -0
  105. data/spec/integration/navigation_spec.rb +9 -0
  106. data/spec/models/page_spec.rb +132 -0
  107. data/spec/puffer_pages_spec.rb +7 -0
  108. data/spec/spec_helper.rb +38 -0
  109. metadata +409 -0
@@ -0,0 +1,4 @@
1
+ class Snippet < ActiveRecord::Base
2
+ validates_presence_of :name
3
+ validates_uniqueness_of :name
4
+ end
@@ -0,0 +1,2 @@
1
+ Autotest.add_discovery { "rails" }
2
+ Autotest.add_discovery { "rspec2" }
@@ -0,0 +1,3 @@
1
+ Rails.application.routes.draw do
2
+ match *puffer_pages_options
3
+ end
data/config/routes.rb ADDED
@@ -0,0 +1,9 @@
1
+ Rails.application.routes.draw do
2
+
3
+ namespace :admin do
4
+ resources :pages
5
+ resources :layouts
6
+ resources :snippets
7
+ end
8
+
9
+ end
@@ -0,0 +1,6 @@
1
+ Description:
2
+ Copy puffer files to your application
3
+
4
+ Example:
5
+ rails generate puffer:install
6
+
@@ -0,0 +1,12 @@
1
+ class PufferPages::InstallGenerator < Rails::Generators::Base
2
+ source_root File.expand_path('../templates', __FILE__)
3
+
4
+ def generate_migrations
5
+ directory 'migrate', 'db/migrate'
6
+ end
7
+
8
+ def generate_controllers
9
+ directory 'controllers', 'app/controllers/admin'
10
+ end
11
+
12
+ end
@@ -0,0 +1,4 @@
1
+ class Admin::LayoutsController < PufferPages::LayoutsController
2
+ before_filter :i_didnt_forget_to_protect_this
3
+
4
+ end
@@ -0,0 +1,4 @@
1
+ class Admin::PagesController < PufferPages::PagesController
2
+ before_filter :i_didnt_forget_to_protect_this
3
+
4
+ end
@@ -0,0 +1,4 @@
1
+ class Admin::SnippetsController < PufferPages::SnippetsController
2
+ before_filter :i_didnt_forget_to_protect_this
3
+
4
+ end
@@ -0,0 +1,28 @@
1
+ class CreatePages < ActiveRecord::Migration
2
+ def self.up
3
+ create_table :pages do |t|
4
+ t.string :name
5
+ t.string :slug
6
+ t.string :location
7
+ t.text :title
8
+ t.text :description
9
+ t.text :keywords
10
+ t.string :layout_name
11
+ t.string :status
12
+
13
+ t.integer :parent_id
14
+ t.integer :lft
15
+ t.integer :rgt
16
+ t.integer :depth, :default => 0
17
+
18
+ t.timestamps
19
+ end
20
+
21
+ add_index :pages, :slug
22
+ add_index :pages, :location
23
+ end
24
+
25
+ def self.down
26
+ drop_table :pages
27
+ end
28
+ end
@@ -0,0 +1,18 @@
1
+ class CreatePageParts < ActiveRecord::Migration
2
+ def self.up
3
+ create_table :page_parts do |t|
4
+ t.string :name
5
+ t.text :body
6
+ t.integer :page_id
7
+
8
+ t.timestamps
9
+ end
10
+
11
+ add_index :page_parts, :name
12
+ add_index :page_parts, :page_id
13
+ end
14
+
15
+ def self.down
16
+ drop_table :page_parts
17
+ end
18
+ end
@@ -0,0 +1,16 @@
1
+ class CreateLayouts < ActiveRecord::Migration
2
+ def self.up
3
+ create_table :layouts do |t|
4
+ t.string :name
5
+ t.text :body
6
+
7
+ t.timestamps
8
+ end
9
+
10
+ add_index :layouts, :name
11
+ end
12
+
13
+ def self.down
14
+ drop_table :layouts
15
+ end
16
+ end
@@ -0,0 +1,16 @@
1
+ class CreateSnippets < ActiveRecord::Migration
2
+ def self.up
3
+ create_table :snippets do |t|
4
+ t.string :name
5
+ t.text :body
6
+
7
+ t.timestamps
8
+ end
9
+
10
+ add_index :snippets, :name
11
+ end
12
+
13
+ def self.down
14
+ drop_table :snippets
15
+ end
16
+ end
@@ -0,0 +1,9 @@
1
+ module PufferPages
2
+ MAIN_PART = 'main'
3
+ end
4
+
5
+ require 'puffer_pages/engine'
6
+ require 'puffer_pages/extensions/core'
7
+ require 'puffer_pages/extensions/mapper'
8
+ require 'puffer_pages/liquid/tags/yield'
9
+
@@ -0,0 +1,8 @@
1
+ class PufferPages::Base < Puffer::Base
2
+ unloadable
3
+
4
+ configure do
5
+ group :cms
6
+ end
7
+
8
+ end
@@ -0,0 +1,14 @@
1
+ module PufferPages
2
+ class Engine < Rails::Engine
3
+ config.autoload_paths << File.join(root, 'lib')
4
+
5
+ initializer 'puffer_pages.add_cells_paths', :after => :add_view_paths do
6
+ require 'cells'
7
+ ::Cell::Base.prepend_view_path(Cells::DEFAULT_VIEW_PATHS.map { |path| File.join(root, path) })
8
+ end
9
+
10
+ initializer 'puffer_pages.add_puffer_pages_route', :after => :add_builtin_route do |app|
11
+ app.routes_reloader.paths << File.join(root, 'config/puffer_routes.rb')
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,7 @@
1
+ Kernel.class_eval do
2
+ def swallow_nil
3
+ yield
4
+ rescue NoMethodError
5
+ nil
6
+ end
7
+ end
@@ -0,0 +1,31 @@
1
+ module PufferPages
2
+ module Extensions
3
+ module Mapper
4
+
5
+ def self.included base
6
+ base.class_eval do
7
+ class_attribute :_puffer_pages
8
+ include InstanceMethods
9
+ end
10
+ end
11
+
12
+ module InstanceMethods
13
+
14
+ def puffer_pages_options
15
+ self.class._puffer_pages.presence || [{'*path' => 'pages#index', :as => 'puffer_pages'}]
16
+ end
17
+
18
+ def puffer_pages *args
19
+ options = args.extract_options!
20
+ options.merge! :as => 'puffer_pages'
21
+ self.class._puffer_pages = args.push(options)
22
+ end
23
+
24
+ end
25
+
26
+ end
27
+
28
+ end
29
+ end
30
+
31
+ ActionDispatch::Routing::Mapper.send :include, PufferPages::Extensions::Mapper
@@ -0,0 +1,43 @@
1
+ module PufferPages
2
+ module Liquid
3
+ class PageDrop < ::Liquid::Drop
4
+
5
+ def initialize page, request = nil
6
+ @page, @request = page, request
7
+ end
8
+
9
+ (%w(name title description keywords created_at updated_at) + Page.statuses.map{|s| "#{s}?"}).each do |attribute|
10
+ define_method attribute do
11
+ @page.send(attribute)
12
+ end
13
+ end
14
+
15
+ def parent
16
+ @parent ||= self.class.new(@page.parent, @request)
17
+ end
18
+
19
+ %w(children ancestors).each do |attribute|
20
+ define_method attribute do
21
+ instance_variable_get("@#{attribute}") || instance_variable_set("@#{attribute}", @page.send(attribute).map{ |page| self.class.new(page, @request)})
22
+ end
23
+ end
24
+
25
+ def ancestors?
26
+ !@page.root?
27
+ end
28
+
29
+ def children?
30
+ @page.children.present?
31
+ end
32
+
33
+ def path
34
+ @page.location
35
+ end
36
+
37
+ def url
38
+ @url ||= @request.protocol + @request.host_with_port + path
39
+ end
40
+
41
+ end
42
+ end
43
+ end
@@ -0,0 +1,27 @@
1
+ module PufferPages
2
+ module Liquid
3
+ module Tags
4
+
5
+ class Yield < ::Liquid::Tag
6
+ Syntax = /(\w+)/
7
+
8
+ def initialize(tag_name, markup, tokens)
9
+ if markup =~ Syntax
10
+ @name = $1
11
+ else
12
+ @name = PufferPages::MAIN_PART
13
+ end
14
+
15
+ super
16
+ end
17
+
18
+ def render(context)
19
+ swallow_nil{context.registers[:page].part(@name).render(context)}
20
+ end
21
+ end
22
+
23
+ end
24
+ end
25
+ end
26
+
27
+ Liquid::Template.register_tag('yield', PufferPages::Liquid::Tags::Yield)
@@ -0,0 +1,29 @@
1
+ module PufferPages
2
+ module Liquid
3
+ class Tracker
4
+
5
+ def initialize
6
+ @ids = []
7
+ end
8
+
9
+ def register content
10
+ @ids << uid
11
+ content.gsub(/<%/, "<#{@ids.last}%").gsub(/%>/, "%#{@ids.last}>")
12
+ end
13
+
14
+ def cleanup text
15
+ ids = @ids.join('|')
16
+ @ids = []
17
+ text = text.gsub(/<%/, "&lt;%").gsub(/%>/, "%&gt;")# unless Cobalt.config[:allow_erb]
18
+ text.gsub(/<(#{ids})%/, "<%").gsub(/%(#{ids})>/, "%>")
19
+ end
20
+
21
+ private
22
+
23
+ def uid
24
+ Digest::MD5.hexdigest("#{rand}#{Time.now.to_f}")
25
+ end
26
+
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,216 @@
1
+ # Generated by jeweler
2
+ # DO NOT EDIT THIS FILE DIRECTLY
3
+ # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
+ # -*- encoding: utf-8 -*-
5
+
6
+ Gem::Specification.new do |s|
7
+ s.name = %q{puffer_pages}
8
+ s.version = "0.0.1"
9
+
10
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
+ s.authors = ["pyromaniac"]
12
+ s.date = %q{2011-02-03}
13
+ s.description = %q{Puffer pages is integratable rails CMS with puffer admin interface}
14
+ s.email = %q{kinwizard@gmail.com}
15
+ s.extra_rdoc_files = [
16
+ "README.rdoc"
17
+ ]
18
+ s.files = [
19
+ ".rspec",
20
+ "Gemfile",
21
+ "Gemfile.lock",
22
+ "MIT-LICENSE",
23
+ "README.rdoc",
24
+ "Rakefile",
25
+ "VERSION",
26
+ "app/controllers/pages_controller.rb",
27
+ "app/controllers/puffer_pages/layouts_controller.rb",
28
+ "app/controllers/puffer_pages/pages_controller.rb",
29
+ "app/controllers/puffer_pages/snippets_controller.rb",
30
+ "app/models/layout.rb",
31
+ "app/models/page.rb",
32
+ "app/models/page_part.rb",
33
+ "app/models/snippet.rb",
34
+ "autotest/discover.rb",
35
+ "config/puffer_routes.rb",
36
+ "config/routes.rb",
37
+ "lib/generators/puffer_pages/install/USAGE",
38
+ "lib/generators/puffer_pages/install/install_generator.rb",
39
+ "lib/generators/puffer_pages/install/templates/controllers/layouts_controller.rb",
40
+ "lib/generators/puffer_pages/install/templates/controllers/pages_controller.rb",
41
+ "lib/generators/puffer_pages/install/templates/controllers/snippets_controller.rb",
42
+ "lib/generators/puffer_pages/install/templates/migrate/20090422092419_create_pages.rb",
43
+ "lib/generators/puffer_pages/install/templates/migrate/20090504132337_create_page_parts.rb",
44
+ "lib/generators/puffer_pages/install/templates/migrate/20090506102004_create_layouts.rb",
45
+ "lib/generators/puffer_pages/install/templates/migrate/20090510121824_create_snippets.rb",
46
+ "lib/puffer_pages.rb",
47
+ "lib/puffer_pages/base.rb",
48
+ "lib/puffer_pages/engine.rb",
49
+ "lib/puffer_pages/extensions/core.rb",
50
+ "lib/puffer_pages/extensions/mapper.rb",
51
+ "lib/puffer_pages/liquid/page_drop.rb",
52
+ "lib/puffer_pages/liquid/tags/yield.rb",
53
+ "lib/puffer_pages/liquid/tracker.rb",
54
+ "puffer_pages.gemspec",
55
+ "spec/dummy/Rakefile",
56
+ "spec/dummy/app/controllers/admin/layouts_controller.rb",
57
+ "spec/dummy/app/controllers/admin/pages_controller.rb",
58
+ "spec/dummy/app/controllers/admin/snippets_controller.rb",
59
+ "spec/dummy/app/controllers/application_controller.rb",
60
+ "spec/dummy/app/helpers/application_helper.rb",
61
+ "spec/dummy/app/views/layouts/application.html.erb",
62
+ "spec/dummy/config.ru",
63
+ "spec/dummy/config/application.rb",
64
+ "spec/dummy/config/boot.rb",
65
+ "spec/dummy/config/database.yml",
66
+ "spec/dummy/config/environment.rb",
67
+ "spec/dummy/config/environments/development.rb",
68
+ "spec/dummy/config/environments/production.rb",
69
+ "spec/dummy/config/environments/test.rb",
70
+ "spec/dummy/config/initializers/backtrace_silencers.rb",
71
+ "spec/dummy/config/initializers/inflections.rb",
72
+ "spec/dummy/config/initializers/mime_types.rb",
73
+ "spec/dummy/config/initializers/secret_token.rb",
74
+ "spec/dummy/config/initializers/session_store.rb",
75
+ "spec/dummy/config/locales/en.yml",
76
+ "spec/dummy/config/puffer.rb",
77
+ "spec/dummy/config/routes.rb",
78
+ "spec/dummy/db/migrate/20090422092419_create_pages.rb",
79
+ "spec/dummy/db/migrate/20090504132337_create_page_parts.rb",
80
+ "spec/dummy/db/migrate/20090506102004_create_layouts.rb",
81
+ "spec/dummy/db/migrate/20090510121824_create_snippets.rb",
82
+ "spec/dummy/db/schema.rb",
83
+ "spec/dummy/public/404.html",
84
+ "spec/dummy/public/422.html",
85
+ "spec/dummy/public/500.html",
86
+ "spec/dummy/public/favicon.ico",
87
+ "spec/dummy/public/javascripts/application.js",
88
+ "spec/dummy/public/javascripts/controls.js",
89
+ "spec/dummy/public/javascripts/dragdrop.js",
90
+ "spec/dummy/public/javascripts/effects.js",
91
+ "spec/dummy/public/javascripts/prototype.js",
92
+ "spec/dummy/public/javascripts/rails.js",
93
+ "spec/dummy/public/puffer/javascripts/application.js",
94
+ "spec/dummy/public/puffer/javascripts/rails-src.js",
95
+ "spec/dummy/public/puffer/javascripts/right-autocompleter-src.js",
96
+ "spec/dummy/public/puffer/javascripts/right-autocompleter.js",
97
+ "spec/dummy/public/puffer/javascripts/right-autocompleter.js.gz",
98
+ "spec/dummy/public/puffer/javascripts/right-calendar-src.js",
99
+ "spec/dummy/public/puffer/javascripts/right-calendar.js",
100
+ "spec/dummy/public/puffer/javascripts/right-calendar.js.gz",
101
+ "spec/dummy/public/puffer/javascripts/right-in-edit-src.js",
102
+ "spec/dummy/public/puffer/javascripts/right-in-edit.js",
103
+ "spec/dummy/public/puffer/javascripts/right-in-edit.js.gz",
104
+ "spec/dummy/public/puffer/javascripts/right-lightbox-src.js",
105
+ "spec/dummy/public/puffer/javascripts/right-lightbox.js",
106
+ "spec/dummy/public/puffer/javascripts/right-lightbox.js.gz",
107
+ "spec/dummy/public/puffer/javascripts/right-sortable-src.js",
108
+ "spec/dummy/public/puffer/javascripts/right-sortable.js",
109
+ "spec/dummy/public/puffer/javascripts/right-sortable.js.gz",
110
+ "spec/dummy/public/puffer/javascripts/right-src.js",
111
+ "spec/dummy/public/puffer/javascripts/right-tabs-src.js",
112
+ "spec/dummy/public/puffer/javascripts/right-tabs.js",
113
+ "spec/dummy/public/puffer/javascripts/right-tabs.js.gz",
114
+ "spec/dummy/public/puffer/javascripts/right.js",
115
+ "spec/dummy/public/puffer/javascripts/right.js.gz",
116
+ "spec/dummy/public/puffer/stylesheets/puffer.css",
117
+ "spec/dummy/public/puffer/stylesheets/reset.css",
118
+ "spec/dummy/public/stylesheets/.gitkeep",
119
+ "spec/dummy/script/rails",
120
+ "spec/fabricators/layouts_fabricator.rb",
121
+ "spec/fabricators/page_parts_fabricator.rb",
122
+ "spec/fabricators/pages_fabricator.rb",
123
+ "spec/integration/navigation_spec.rb",
124
+ "spec/models/page_spec.rb",
125
+ "spec/puffer_pages_spec.rb",
126
+ "spec/spec_helper.rb"
127
+ ]
128
+ s.homepage = %q{http://github.com/puffer/puffer_pages}
129
+ s.require_paths = ["lib"]
130
+ s.rubygems_version = %q{1.4.2}
131
+ s.summary = %q{Content management system}
132
+ s.test_files = [
133
+ "spec/dummy/app/controllers/admin/layouts_controller.rb",
134
+ "spec/dummy/app/controllers/admin/pages_controller.rb",
135
+ "spec/dummy/app/controllers/admin/snippets_controller.rb",
136
+ "spec/dummy/app/controllers/application_controller.rb",
137
+ "spec/dummy/app/helpers/application_helper.rb",
138
+ "spec/dummy/config/application.rb",
139
+ "spec/dummy/config/boot.rb",
140
+ "spec/dummy/config/environment.rb",
141
+ "spec/dummy/config/environments/development.rb",
142
+ "spec/dummy/config/environments/production.rb",
143
+ "spec/dummy/config/environments/test.rb",
144
+ "spec/dummy/config/initializers/backtrace_silencers.rb",
145
+ "spec/dummy/config/initializers/inflections.rb",
146
+ "spec/dummy/config/initializers/mime_types.rb",
147
+ "spec/dummy/config/initializers/secret_token.rb",
148
+ "spec/dummy/config/initializers/session_store.rb",
149
+ "spec/dummy/config/puffer.rb",
150
+ "spec/dummy/config/routes.rb",
151
+ "spec/dummy/db/migrate/20090422092419_create_pages.rb",
152
+ "spec/dummy/db/migrate/20090504132337_create_page_parts.rb",
153
+ "spec/dummy/db/migrate/20090506102004_create_layouts.rb",
154
+ "spec/dummy/db/migrate/20090510121824_create_snippets.rb",
155
+ "spec/dummy/db/schema.rb",
156
+ "spec/fabricators/layouts_fabricator.rb",
157
+ "spec/fabricators/page_parts_fabricator.rb",
158
+ "spec/fabricators/pages_fabricator.rb",
159
+ "spec/integration/navigation_spec.rb",
160
+ "spec/models/page_spec.rb",
161
+ "spec/puffer_pages_spec.rb",
162
+ "spec/spec_helper.rb"
163
+ ]
164
+
165
+ if s.respond_to? :specification_version then
166
+ s.specification_version = 3
167
+
168
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
169
+ s.add_runtime_dependency(%q<rails>, ["~> 3.0.3"])
170
+ s.add_runtime_dependency(%q<liquid>, [">= 0"])
171
+ s.add_runtime_dependency(%q<nested_set>, [">= 0"])
172
+ s.add_runtime_dependency(%q<puffer>, [">= 0"])
173
+ s.add_runtime_dependency(%q<will_paginate>, ["~> 3.0.pre2"])
174
+ s.add_runtime_dependency(%q<cells>, ["~> 3.4.4"])
175
+ s.add_development_dependency(%q<capybara>, [">= 0.4.0"])
176
+ s.add_development_dependency(%q<sqlite3-ruby>, [">= 0"])
177
+ s.add_development_dependency(%q<rspec-rails>, [">= 0"])
178
+ s.add_development_dependency(%q<autotest>, [">= 0"])
179
+ s.add_development_dependency(%q<forgery>, [">= 0"])
180
+ s.add_development_dependency(%q<fabrication>, ["= 0.9.2"])
181
+ s.add_development_dependency(%q<jeweler>, [">= 0"])
182
+ s.add_development_dependency(%q<mongrel>, [">= 0"])
183
+ else
184
+ s.add_dependency(%q<rails>, ["~> 3.0.3"])
185
+ s.add_dependency(%q<liquid>, [">= 0"])
186
+ s.add_dependency(%q<nested_set>, [">= 0"])
187
+ s.add_dependency(%q<puffer>, [">= 0"])
188
+ s.add_dependency(%q<will_paginate>, ["~> 3.0.pre2"])
189
+ s.add_dependency(%q<cells>, ["~> 3.4.4"])
190
+ s.add_dependency(%q<capybara>, [">= 0.4.0"])
191
+ s.add_dependency(%q<sqlite3-ruby>, [">= 0"])
192
+ s.add_dependency(%q<rspec-rails>, [">= 0"])
193
+ s.add_dependency(%q<autotest>, [">= 0"])
194
+ s.add_dependency(%q<forgery>, [">= 0"])
195
+ s.add_dependency(%q<fabrication>, ["= 0.9.2"])
196
+ s.add_dependency(%q<jeweler>, [">= 0"])
197
+ s.add_dependency(%q<mongrel>, [">= 0"])
198
+ end
199
+ else
200
+ s.add_dependency(%q<rails>, ["~> 3.0.3"])
201
+ s.add_dependency(%q<liquid>, [">= 0"])
202
+ s.add_dependency(%q<nested_set>, [">= 0"])
203
+ s.add_dependency(%q<puffer>, [">= 0"])
204
+ s.add_dependency(%q<will_paginate>, ["~> 3.0.pre2"])
205
+ s.add_dependency(%q<cells>, ["~> 3.4.4"])
206
+ s.add_dependency(%q<capybara>, [">= 0.4.0"])
207
+ s.add_dependency(%q<sqlite3-ruby>, [">= 0"])
208
+ s.add_dependency(%q<rspec-rails>, [">= 0"])
209
+ s.add_dependency(%q<autotest>, [">= 0"])
210
+ s.add_dependency(%q<forgery>, [">= 0"])
211
+ s.add_dependency(%q<fabrication>, ["= 0.9.2"])
212
+ s.add_dependency(%q<jeweler>, [">= 0"])
213
+ s.add_dependency(%q<mongrel>, [">= 0"])
214
+ end
215
+ end
216
+