puffer_pages 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
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
+