pagificate 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 (59) hide show
  1. data/.gitignore +8 -0
  2. data/Gemfile +16 -0
  3. data/Gemfile.lock +138 -0
  4. data/README.markdown +20 -0
  5. data/Rakefile +2 -0
  6. data/app/controllers/pagificate/pages_controller.rb +67 -0
  7. data/app/models/pagificate/page.rb +15 -0
  8. data/app/views/pagificate/pages/_form.html.erb +36 -0
  9. data/app/views/pagificate/pages/edit.html.erb +5 -0
  10. data/app/views/pagificate/pages/index.html.erb +49 -0
  11. data/app/views/pagificate/pages/new.html.erb +5 -0
  12. data/app/views/pagificate/pages/show.html.erb +5 -0
  13. data/config/routes.rb +5 -0
  14. data/lib/generators/pagificate/pagificate_generator.rb +23 -0
  15. data/lib/generators/pagificate/templates/migration.rb +18 -0
  16. data/lib/pagificate.rb +3 -0
  17. data/lib/pagificate/engine.rb +8 -0
  18. data/lib/pagificate/version.rb +3 -0
  19. data/pagificate.gemspec +32 -0
  20. data/spec/dummy/Rakefile +7 -0
  21. data/spec/dummy/app/controllers/application_controller.rb +3 -0
  22. data/spec/dummy/app/helpers/application_helper.rb +2 -0
  23. data/spec/dummy/app/views/layouts/application.html.erb +15 -0
  24. data/spec/dummy/config.ru +4 -0
  25. data/spec/dummy/config/application.rb +45 -0
  26. data/spec/dummy/config/boot.rb +10 -0
  27. data/spec/dummy/config/database.yml +22 -0
  28. data/spec/dummy/config/environment.rb +5 -0
  29. data/spec/dummy/config/environments/development.rb +26 -0
  30. data/spec/dummy/config/environments/production.rb +49 -0
  31. data/spec/dummy/config/environments/test.rb +35 -0
  32. data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -0
  33. data/spec/dummy/config/initializers/inflections.rb +10 -0
  34. data/spec/dummy/config/initializers/mime_types.rb +5 -0
  35. data/spec/dummy/config/initializers/secret_token.rb +7 -0
  36. data/spec/dummy/config/initializers/session_store.rb +8 -0
  37. data/spec/dummy/config/locales/en.yml +5 -0
  38. data/spec/dummy/config/routes.rb +58 -0
  39. data/spec/dummy/db/migrate/20110208222908_create_pages_table.rb +18 -0
  40. data/spec/dummy/db/schema.rb +27 -0
  41. data/spec/dummy/public/404.html +26 -0
  42. data/spec/dummy/public/422.html +26 -0
  43. data/spec/dummy/public/500.html +26 -0
  44. data/spec/dummy/public/favicon.ico +0 -0
  45. data/spec/dummy/public/javascripts/application.js +2 -0
  46. data/spec/dummy/public/javascripts/controls.js +965 -0
  47. data/spec/dummy/public/javascripts/dragdrop.js +974 -0
  48. data/spec/dummy/public/javascripts/effects.js +1123 -0
  49. data/spec/dummy/public/javascripts/prototype.js +6001 -0
  50. data/spec/dummy/public/javascripts/rails.js +175 -0
  51. data/spec/dummy/public/stylesheets/.gitkeep +0 -0
  52. data/spec/dummy/public/stylesheets/screen.css +61 -0
  53. data/spec/dummy/script/rails +6 -0
  54. data/spec/factories.rb +6 -0
  55. data/spec/integration/models/page_spec.rb +21 -0
  56. data/spec/integration/requests/manage_pages_spec.rb +64 -0
  57. data/spec/pagificate_spec.rb +7 -0
  58. data/spec/spec_helper.rb +51 -0
  59. metadata +250 -0
@@ -0,0 +1,175 @@
1
+ (function() {
2
+ // Technique from Juriy Zaytsev
3
+ // http://thinkweb2.com/projects/prototype/detecting-event-support-without-browser-sniffing/
4
+ function isEventSupported(eventName) {
5
+ var el = document.createElement('div');
6
+ eventName = 'on' + eventName;
7
+ var isSupported = (eventName in el);
8
+ if (!isSupported) {
9
+ el.setAttribute(eventName, 'return;');
10
+ isSupported = typeof el[eventName] == 'function';
11
+ }
12
+ el = null;
13
+ return isSupported;
14
+ }
15
+
16
+ function isForm(element) {
17
+ return Object.isElement(element) && element.nodeName.toUpperCase() == 'FORM'
18
+ }
19
+
20
+ function isInput(element) {
21
+ if (Object.isElement(element)) {
22
+ var name = element.nodeName.toUpperCase()
23
+ return name == 'INPUT' || name == 'SELECT' || name == 'TEXTAREA'
24
+ }
25
+ else return false
26
+ }
27
+
28
+ var submitBubbles = isEventSupported('submit'),
29
+ changeBubbles = isEventSupported('change')
30
+
31
+ if (!submitBubbles || !changeBubbles) {
32
+ // augment the Event.Handler class to observe custom events when needed
33
+ Event.Handler.prototype.initialize = Event.Handler.prototype.initialize.wrap(
34
+ function(init, element, eventName, selector, callback) {
35
+ init(element, eventName, selector, callback)
36
+ // is the handler being attached to an element that doesn't support this event?
37
+ if ( (!submitBubbles && this.eventName == 'submit' && !isForm(this.element)) ||
38
+ (!changeBubbles && this.eventName == 'change' && !isInput(this.element)) ) {
39
+ // "submit" => "emulated:submit"
40
+ this.eventName = 'emulated:' + this.eventName
41
+ }
42
+ }
43
+ )
44
+ }
45
+
46
+ if (!submitBubbles) {
47
+ // discover forms on the page by observing focus events which always bubble
48
+ document.on('focusin', 'form', function(focusEvent, form) {
49
+ // special handler for the real "submit" event (one-time operation)
50
+ if (!form.retrieve('emulated:submit')) {
51
+ form.on('submit', function(submitEvent) {
52
+ var emulated = form.fire('emulated:submit', submitEvent, true)
53
+ // if custom event received preventDefault, cancel the real one too
54
+ if (emulated.returnValue === false) submitEvent.preventDefault()
55
+ })
56
+ form.store('emulated:submit', true)
57
+ }
58
+ })
59
+ }
60
+
61
+ if (!changeBubbles) {
62
+ // discover form inputs on the page
63
+ document.on('focusin', 'input, select, texarea', function(focusEvent, input) {
64
+ // special handler for real "change" events
65
+ if (!input.retrieve('emulated:change')) {
66
+ input.on('change', function(changeEvent) {
67
+ input.fire('emulated:change', changeEvent, true)
68
+ })
69
+ input.store('emulated:change', true)
70
+ }
71
+ })
72
+ }
73
+
74
+ function handleRemote(element) {
75
+ var method, url, params;
76
+
77
+ var event = element.fire("ajax:before");
78
+ if (event.stopped) return false;
79
+
80
+ if (element.tagName.toLowerCase() === 'form') {
81
+ method = element.readAttribute('method') || 'post';
82
+ url = element.readAttribute('action');
83
+ params = element.serialize();
84
+ } else {
85
+ method = element.readAttribute('data-method') || 'get';
86
+ url = element.readAttribute('href');
87
+ params = {};
88
+ }
89
+
90
+ new Ajax.Request(url, {
91
+ method: method,
92
+ parameters: params,
93
+ evalScripts: true,
94
+
95
+ onComplete: function(request) { element.fire("ajax:complete", request); },
96
+ onSuccess: function(request) { element.fire("ajax:success", request); },
97
+ onFailure: function(request) { element.fire("ajax:failure", request); }
98
+ });
99
+
100
+ element.fire("ajax:after");
101
+ }
102
+
103
+ function handleMethod(element) {
104
+ var method = element.readAttribute('data-method'),
105
+ url = element.readAttribute('href'),
106
+ csrf_param = $$('meta[name=csrf-param]')[0],
107
+ csrf_token = $$('meta[name=csrf-token]')[0];
108
+
109
+ var form = new Element('form', { method: "POST", action: url, style: "display: none;" });
110
+ element.parentNode.insert(form);
111
+
112
+ if (method !== 'post') {
113
+ var field = new Element('input', { type: 'hidden', name: '_method', value: method });
114
+ form.insert(field);
115
+ }
116
+
117
+ if (csrf_param) {
118
+ var param = csrf_param.readAttribute('content'),
119
+ token = csrf_token.readAttribute('content'),
120
+ field = new Element('input', { type: 'hidden', name: param, value: token });
121
+ form.insert(field);
122
+ }
123
+
124
+ form.submit();
125
+ }
126
+
127
+
128
+ document.on("click", "*[data-confirm]", function(event, element) {
129
+ var message = element.readAttribute('data-confirm');
130
+ if (!confirm(message)) event.stop();
131
+ });
132
+
133
+ document.on("click", "a[data-remote]", function(event, element) {
134
+ if (event.stopped) return;
135
+ handleRemote(element);
136
+ event.stop();
137
+ });
138
+
139
+ document.on("click", "a[data-method]", function(event, element) {
140
+ if (event.stopped) return;
141
+ handleMethod(element);
142
+ event.stop();
143
+ });
144
+
145
+ document.on("submit", function(event) {
146
+ var element = event.findElement(),
147
+ message = element.readAttribute('data-confirm');
148
+ if (message && !confirm(message)) {
149
+ event.stop();
150
+ return false;
151
+ }
152
+
153
+ var inputs = element.select("input[type=submit][data-disable-with]");
154
+ inputs.each(function(input) {
155
+ input.disabled = true;
156
+ input.writeAttribute('data-original-value', input.value);
157
+ input.value = input.readAttribute('data-disable-with');
158
+ });
159
+
160
+ var element = event.findElement("form[data-remote]");
161
+ if (element) {
162
+ handleRemote(element);
163
+ event.stop();
164
+ }
165
+ });
166
+
167
+ document.on("ajax:after", "form", function(event, element) {
168
+ var inputs = element.select("input[type=submit][disabled=true][data-disable-with]");
169
+ inputs.each(function(input) {
170
+ input.value = input.readAttribute('data-original-value');
171
+ input.removeAttribute('data-original-value');
172
+ input.disabled = false;
173
+ });
174
+ });
175
+ })();
File without changes
@@ -0,0 +1,61 @@
1
+ body { background-color: #fff; color: #333; }
2
+
3
+ body, p, ol, ul, td {
4
+ font-family: verdana, arial, helvetica, sans-serif;
5
+ font-size: 13px;
6
+ line-height: 18px;
7
+ }
8
+
9
+ pre {
10
+ background-color: #eee;
11
+ padding: 10px;
12
+ font-size: 11px;
13
+ }
14
+
15
+ a { color: #000; }
16
+ a:visited { color: #666; }
17
+ a:hover { color: #fff; background-color:#000; }
18
+
19
+ div.field, div.actions {
20
+ margin-bottom: 10px;
21
+ }
22
+
23
+ #notice {
24
+ color: green;
25
+ }
26
+
27
+ .field_with_errors {
28
+ padding: 2px;
29
+ background-color: red;
30
+ display: table;
31
+ }
32
+
33
+ #error_explanation {
34
+ width: 450px;
35
+ border: 2px solid red;
36
+ padding: 7px;
37
+ padding-bottom: 0;
38
+ margin-bottom: 20px;
39
+ background-color: #f0f0f0;
40
+ }
41
+
42
+ #error_explanation h2 {
43
+ text-align: left;
44
+ font-weight: bold;
45
+ padding: 5px 5px 5px 15px;
46
+ font-size: 12px;
47
+ margin: -7px;
48
+ margin-bottom: 0px;
49
+ background-color: #c00;
50
+ color: #fff;
51
+ }
52
+
53
+ #error_explanation ul li {
54
+ font-size: 12px;
55
+ list-style: square;
56
+ }
57
+
58
+ h2#app_layout_notice {
59
+ padding: 10px;
60
+ background-color: #6D8499;
61
+ }
@@ -0,0 +1,6 @@
1
+ #!/usr/bin/env ruby
2
+ # This command will automatically be run when you run "rails" with Rails 3 gems installed from the root of your application.
3
+
4
+ APP_PATH = File.expand_path('../../config/application', __FILE__)
5
+ require File.expand_path('../../config/boot', __FILE__)
6
+ require 'rails/commands'
@@ -0,0 +1,6 @@
1
+ Factory.define :page, :class => Pagificate::Page do |p|
2
+ p.title 'Test Page'
3
+ p.body 'This is just a test page.'
4
+ p.use_site_layout true
5
+ p.published false
6
+ end
@@ -0,0 +1,21 @@
1
+ require 'spec_helper'
2
+
3
+ describe Pagificate::Page do
4
+
5
+ it 'should validate presence of title' do
6
+ page = Factory.build :page, :title => nil
7
+ page.should_not be_valid
8
+
9
+ page.title = 'Test Title'
10
+ page.should be_valid
11
+ end
12
+
13
+ it "should validate uniqueness of title" do
14
+ page1 = Factory.create :page, :title => 'Test Page'
15
+ page1.should be_valid
16
+
17
+ page2 = Factory.build :page, :title => 'Test Page'
18
+ page2.should_not be_valid
19
+ end
20
+
21
+ end
@@ -0,0 +1,64 @@
1
+ require 'spec_helper'
2
+
3
+ describe 'Managing Pages' do
4
+
5
+ describe 'Creating' do
6
+
7
+ it 'can be created' do
8
+ visit pages_path
9
+
10
+ click_link 'Add a new page'
11
+
12
+ # with invalid data
13
+ click_button 'Save'
14
+ page.should have_content('prohibited this page from being saved')
15
+
16
+ # with valid data
17
+ fill_in :title, :with => 'cows'
18
+ click_button 'Save'
19
+
20
+ page.should have_no_content('prohibited this page from being saved')
21
+ end
22
+
23
+ end
24
+
25
+ describe 'Listing' do
26
+
27
+ it 'can be listed' do
28
+ 3.times { |n| Factory.create :page, :title => "Page #{ n + 1 }" }
29
+
30
+ visit pages_path
31
+
32
+ Pagificate::Page.all { |p| page.should have_content(p.title) }
33
+ end
34
+
35
+ end
36
+
37
+ describe 'Updating' do
38
+
39
+ it 'can be updated' do
40
+ page_a = Factory.create(:page, :title => 'Title One')
41
+
42
+ visit edit_page_path(page_a)
43
+ fill_in :title, :with => 'Title Two'
44
+ click_button 'Save'
45
+
46
+ page.should have_content('Title Two')
47
+ end
48
+
49
+ end
50
+
51
+ describe 'Deleting' do
52
+
53
+ it 'can be deleted' do
54
+ page_a = Factory.create(:page, :title => 'Delete Me')
55
+
56
+ visit pages_path
57
+ click_link 'Delete'
58
+
59
+ page.should have_no_content('Delete Me')
60
+ end
61
+
62
+ end
63
+
64
+ end
@@ -0,0 +1,7 @@
1
+ require 'spec_helper'
2
+
3
+ describe Pagificate do
4
+ it "should be valid" do
5
+ Pagificate.should be_a(Module)
6
+ end
7
+ end
@@ -0,0 +1,51 @@
1
+ # Configure Rails Envinronment
2
+ ENV["RAILS_ENV"] = "test"
3
+
4
+ require File.expand_path("../dummy/config/environment.rb", __FILE__)
5
+ require "rspec/rails"
6
+ require 'factory_girl_rails'
7
+ require File.expand_path('../factories', __FILE__)
8
+ require 'database_cleaner'
9
+
10
+ ActionMailer::Base.delivery_method = :test
11
+ ActionMailer::Base.perform_deliveries = true
12
+ ActionMailer::Base.default_url_options[:host] = "test.com"
13
+
14
+ Rails.backtrace_cleaner.remove_silencers!
15
+
16
+ # Configure capybara for integration testing
17
+ require "capybara/rails"
18
+ Capybara.default_driver = :rack_test
19
+ Capybara.default_selector = :css
20
+
21
+ # Run any available migration
22
+ ActiveRecord::Migrator.migrate File.expand_path("../dummy/db/migrate/", __FILE__)
23
+
24
+ # Load support files
25
+ Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each { |f| require f }
26
+
27
+ RSpec.configure do |config|
28
+ # Remove this line if you don't want RSpec's should and should_not
29
+ # methods or matchers
30
+ require 'rspec/expectations'
31
+ config.include RSpec::Matchers
32
+
33
+ config.include Capybara
34
+
35
+ # == Mock Framework
36
+ config.mock_with :rspec
37
+
38
+ # Clean database after each test
39
+ config.before(:suite) do
40
+ DatabaseCleaner.strategy = :transaction
41
+ DatabaseCleaner.clean_with(:truncation)
42
+ end
43
+
44
+ config.before(:each) do
45
+ DatabaseCleaner.start
46
+ end
47
+
48
+ config.after(:each) do
49
+ DatabaseCleaner.clean
50
+ end
51
+ end
metadata ADDED
@@ -0,0 +1,250 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: pagificate
3
+ version: !ruby/object:Gem::Version
4
+ prerelease:
5
+ version: 0.0.1
6
+ platform: ruby
7
+ authors:
8
+ - Andrew Bowerman
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+
13
+ date: 2011-02-09 00:00:00 -07:00
14
+ default_executable:
15
+ dependencies:
16
+ - !ruby/object:Gem::Dependency
17
+ name: rails
18
+ prerelease: false
19
+ requirement: &id001 !ruby/object:Gem::Requirement
20
+ none: false
21
+ requirements:
22
+ - - "="
23
+ - !ruby/object:Gem::Version
24
+ version: 3.0.3
25
+ type: :runtime
26
+ version_requirements: *id001
27
+ - !ruby/object:Gem::Dependency
28
+ name: permalink_fu
29
+ prerelease: false
30
+ requirement: &id002 !ruby/object:Gem::Requirement
31
+ none: false
32
+ requirements:
33
+ - - "="
34
+ - !ruby/object:Gem::Version
35
+ version: 1.0.0
36
+ type: :runtime
37
+ version_requirements: *id002
38
+ - !ruby/object:Gem::Dependency
39
+ name: rspec
40
+ prerelease: false
41
+ requirement: &id003 !ruby/object:Gem::Requirement
42
+ none: false
43
+ requirements:
44
+ - - "="
45
+ - !ruby/object:Gem::Version
46
+ version: 2.4.0
47
+ type: :development
48
+ version_requirements: *id003
49
+ - !ruby/object:Gem::Dependency
50
+ name: rspec-rails
51
+ prerelease: false
52
+ requirement: &id004 !ruby/object:Gem::Requirement
53
+ none: false
54
+ requirements:
55
+ - - "="
56
+ - !ruby/object:Gem::Version
57
+ version: 2.4.0
58
+ type: :development
59
+ version_requirements: *id004
60
+ - !ruby/object:Gem::Dependency
61
+ name: capybara
62
+ prerelease: false
63
+ requirement: &id005 !ruby/object:Gem::Requirement
64
+ none: false
65
+ requirements:
66
+ - - "="
67
+ - !ruby/object:Gem::Version
68
+ version: 0.4.0
69
+ type: :development
70
+ version_requirements: *id005
71
+ - !ruby/object:Gem::Dependency
72
+ name: factory_girl_rails
73
+ prerelease: false
74
+ requirement: &id006 !ruby/object:Gem::Requirement
75
+ none: false
76
+ requirements:
77
+ - - "="
78
+ - !ruby/object:Gem::Version
79
+ version: 1.0.1
80
+ type: :development
81
+ version_requirements: *id006
82
+ - !ruby/object:Gem::Dependency
83
+ name: database_cleaner
84
+ prerelease: false
85
+ requirement: &id007 !ruby/object:Gem::Requirement
86
+ none: false
87
+ requirements:
88
+ - - "="
89
+ - !ruby/object:Gem::Version
90
+ version: 0.6.2
91
+ type: :development
92
+ version_requirements: *id007
93
+ - !ruby/object:Gem::Dependency
94
+ name: sqlite3-ruby
95
+ prerelease: false
96
+ requirement: &id008 !ruby/object:Gem::Requirement
97
+ none: false
98
+ requirements:
99
+ - - ">="
100
+ - !ruby/object:Gem::Version
101
+ version: "0"
102
+ type: :development
103
+ version_requirements: *id008
104
+ - !ruby/object:Gem::Dependency
105
+ name: launchy
106
+ prerelease: false
107
+ requirement: &id009 !ruby/object:Gem::Requirement
108
+ none: false
109
+ requirements:
110
+ - - "="
111
+ - !ruby/object:Gem::Version
112
+ version: 0.3.7
113
+ type: :development
114
+ version_requirements: *id009
115
+ description: Simple semi-static page management Rails Engine
116
+ email:
117
+ - github@andrewbowerman.com
118
+ executables: []
119
+
120
+ extensions: []
121
+
122
+ extra_rdoc_files: []
123
+
124
+ files:
125
+ - .gitignore
126
+ - Gemfile
127
+ - Gemfile.lock
128
+ - README.markdown
129
+ - Rakefile
130
+ - app/controllers/pagificate/pages_controller.rb
131
+ - app/models/pagificate/page.rb
132
+ - app/views/pagificate/pages/_form.html.erb
133
+ - app/views/pagificate/pages/edit.html.erb
134
+ - app/views/pagificate/pages/index.html.erb
135
+ - app/views/pagificate/pages/new.html.erb
136
+ - app/views/pagificate/pages/show.html.erb
137
+ - config/routes.rb
138
+ - lib/generators/pagificate/pagificate_generator.rb
139
+ - lib/generators/pagificate/templates/migration.rb
140
+ - lib/pagificate.rb
141
+ - lib/pagificate/engine.rb
142
+ - lib/pagificate/version.rb
143
+ - pagificate.gemspec
144
+ - spec/dummy/Rakefile
145
+ - spec/dummy/app/controllers/application_controller.rb
146
+ - spec/dummy/app/helpers/application_helper.rb
147
+ - spec/dummy/app/views/layouts/application.html.erb
148
+ - spec/dummy/config.ru
149
+ - spec/dummy/config/application.rb
150
+ - spec/dummy/config/boot.rb
151
+ - spec/dummy/config/database.yml
152
+ - spec/dummy/config/environment.rb
153
+ - spec/dummy/config/environments/development.rb
154
+ - spec/dummy/config/environments/production.rb
155
+ - spec/dummy/config/environments/test.rb
156
+ - spec/dummy/config/initializers/backtrace_silencers.rb
157
+ - spec/dummy/config/initializers/inflections.rb
158
+ - spec/dummy/config/initializers/mime_types.rb
159
+ - spec/dummy/config/initializers/secret_token.rb
160
+ - spec/dummy/config/initializers/session_store.rb
161
+ - spec/dummy/config/locales/en.yml
162
+ - spec/dummy/config/routes.rb
163
+ - spec/dummy/db/migrate/20110208222908_create_pages_table.rb
164
+ - spec/dummy/db/schema.rb
165
+ - spec/dummy/public/404.html
166
+ - spec/dummy/public/422.html
167
+ - spec/dummy/public/500.html
168
+ - spec/dummy/public/favicon.ico
169
+ - spec/dummy/public/javascripts/application.js
170
+ - spec/dummy/public/javascripts/controls.js
171
+ - spec/dummy/public/javascripts/dragdrop.js
172
+ - spec/dummy/public/javascripts/effects.js
173
+ - spec/dummy/public/javascripts/prototype.js
174
+ - spec/dummy/public/javascripts/rails.js
175
+ - spec/dummy/public/stylesheets/.gitkeep
176
+ - spec/dummy/public/stylesheets/screen.css
177
+ - spec/dummy/script/rails
178
+ - spec/factories.rb
179
+ - spec/integration/models/page_spec.rb
180
+ - spec/integration/requests/manage_pages_spec.rb
181
+ - spec/pagificate_spec.rb
182
+ - spec/spec_helper.rb
183
+ has_rdoc: true
184
+ homepage: http://github.com/devfu/pagificate
185
+ licenses: []
186
+
187
+ post_install_message:
188
+ rdoc_options: []
189
+
190
+ require_paths:
191
+ - lib
192
+ required_ruby_version: !ruby/object:Gem::Requirement
193
+ none: false
194
+ requirements:
195
+ - - ">="
196
+ - !ruby/object:Gem::Version
197
+ version: "0"
198
+ required_rubygems_version: !ruby/object:Gem::Requirement
199
+ none: false
200
+ requirements:
201
+ - - ">="
202
+ - !ruby/object:Gem::Version
203
+ version: "0"
204
+ requirements: []
205
+
206
+ rubyforge_project: pagificate
207
+ rubygems_version: 1.5.0
208
+ signing_key:
209
+ specification_version: 3
210
+ summary: Simple semi-static page management Rails Engine
211
+ test_files:
212
+ - spec/dummy/Rakefile
213
+ - spec/dummy/app/controllers/application_controller.rb
214
+ - spec/dummy/app/helpers/application_helper.rb
215
+ - spec/dummy/app/views/layouts/application.html.erb
216
+ - spec/dummy/config.ru
217
+ - spec/dummy/config/application.rb
218
+ - spec/dummy/config/boot.rb
219
+ - spec/dummy/config/database.yml
220
+ - spec/dummy/config/environment.rb
221
+ - spec/dummy/config/environments/development.rb
222
+ - spec/dummy/config/environments/production.rb
223
+ - spec/dummy/config/environments/test.rb
224
+ - spec/dummy/config/initializers/backtrace_silencers.rb
225
+ - spec/dummy/config/initializers/inflections.rb
226
+ - spec/dummy/config/initializers/mime_types.rb
227
+ - spec/dummy/config/initializers/secret_token.rb
228
+ - spec/dummy/config/initializers/session_store.rb
229
+ - spec/dummy/config/locales/en.yml
230
+ - spec/dummy/config/routes.rb
231
+ - spec/dummy/db/migrate/20110208222908_create_pages_table.rb
232
+ - spec/dummy/db/schema.rb
233
+ - spec/dummy/public/404.html
234
+ - spec/dummy/public/422.html
235
+ - spec/dummy/public/500.html
236
+ - spec/dummy/public/favicon.ico
237
+ - spec/dummy/public/javascripts/application.js
238
+ - spec/dummy/public/javascripts/controls.js
239
+ - spec/dummy/public/javascripts/dragdrop.js
240
+ - spec/dummy/public/javascripts/effects.js
241
+ - spec/dummy/public/javascripts/prototype.js
242
+ - spec/dummy/public/javascripts/rails.js
243
+ - spec/dummy/public/stylesheets/.gitkeep
244
+ - spec/dummy/public/stylesheets/screen.css
245
+ - spec/dummy/script/rails
246
+ - spec/factories.rb
247
+ - spec/integration/models/page_spec.rb
248
+ - spec/integration/requests/manage_pages_spec.rb
249
+ - spec/pagificate_spec.rb
250
+ - spec/spec_helper.rb