manifest-rails 0.0.4 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (58) hide show
  1. data/MIT-LICENSE +1 -1
  2. data/README.rdoc +3 -0
  3. data/app/assets/javascripts/manifest/main.js +17 -0
  4. data/app/assets/stylesheets/manifest/_forms.css.scss +42 -21
  5. data/app/assets/stylesheets/manifest/_tables.css.scss +24 -20
  6. data/app/assets/stylesheets/manifest/main.css.scss +72 -0
  7. data/app/assets/stylesheets/manifest/sessions.css.scss +9 -0
  8. data/app/controllers/manifest/content_blocks_controller.rb +14 -11
  9. data/app/controllers/manifest/manifest_controller.rb +3 -8
  10. data/app/controllers/manifest/pages_controller.rb +2 -5
  11. data/app/controllers/manifest/sessions_controller.rb +1 -1
  12. data/app/controllers/pages_controller.rb +1 -8
  13. data/app/form_builders/manifest/labelled_form_builder.rb +23 -0
  14. data/app/models/content_block.rb +6 -2
  15. data/app/models/page.rb +18 -13
  16. data/app/views/layouts/manifest/manifest.html.erb +19 -18
  17. data/app/views/layouts/manifest/sessions.html.erb +10 -7
  18. data/app/views/manifest/content_blocks/_form.html.erb +24 -26
  19. data/app/views/manifest/content_blocks/edit.html.erb +1 -9
  20. data/app/views/manifest/content_blocks/index.html.erb +14 -14
  21. data/app/views/manifest/content_blocks/new.html.erb +1 -1
  22. data/app/views/manifest/pages/_form.html.erb +9 -10
  23. data/app/views/manifest/pages/edit.html.erb +1 -9
  24. data/app/views/manifest/pages/index.html.erb +5 -3
  25. data/app/views/manifest/pages/new.html.erb +1 -1
  26. data/app/views/manifest/pages/show.html.erb +29 -6
  27. data/config/initializers/manifest.rb +1 -1
  28. data/config/routes.rb +1 -1
  29. data/db/migrate/20120303200114_create_pages.rb +10 -0
  30. data/db/migrate/20120304152605_create_content_blocks.rb +13 -0
  31. data/db/migrate/20120304155055_add_index_to_pages.rb +5 -0
  32. data/db/migrate/20120304155130_add_index_to_content_blocks.rb +5 -0
  33. data/db/migrate/20120305164036_create_editors.rb +11 -0
  34. data/lib/active_record/base/data_type_for_manifest.rb +11 -0
  35. data/lib/generators/manifest/data_type/data_type_generator.rb +13 -2
  36. data/lib/generators/manifest/data_type/templates/_form.html.erb +19 -0
  37. data/lib/generators/manifest/data_type/templates/controller.rb +41 -4
  38. data/lib/generators/manifest/data_type/templates/edit.html.erb +3 -0
  39. data/lib/generators/manifest/data_type/templates/index.html.erb +4 -0
  40. data/lib/generators/manifest/data_type/templates/model.rb +1 -1
  41. data/lib/generators/manifest/data_type/templates/new.html.erb +3 -0
  42. data/lib/generators/manifest/install/USAGE +1 -3
  43. data/lib/generators/manifest/install/install_generator.rb +13 -4
  44. data/lib/generators/manifest/install/templates/create_content_blocks.rb +1 -1
  45. data/lib/generators/manifest/install/templates/create_pages.rb +1 -1
  46. data/lib/manifest.rb +4 -9
  47. data/lib/manifest/engine.rb +0 -3
  48. data/lib/manifest/version.rb +1 -1
  49. metadata +54 -115
  50. data/README.md +0 -37
  51. data/app/assets/images/manifest/grid.png +0 -0
  52. data/app/assets/images/manifest/sketch.png +0 -0
  53. data/app/assets/javascripts/manifest/manifest.js +0 -7
  54. data/app/assets/stylesheets/manifest/_mixins.css.scss +0 -41
  55. data/app/assets/stylesheets/manifest/manifest.css.scss +0 -137
  56. data/app/controllers/manifest/editors_controller.rb +0 -3
  57. data/app/models/user.rb +0 -8
  58. data/lib/active_record/base/acts_as_manifest.rb +0 -8
@@ -1,11 +1,48 @@
1
- class Manifest::<%= ActiveSupport::Inflector.pluralize(name) %>Controller < ApplicationController
2
- before_filter :authorize
3
-
4
- layout 'manifest'
1
+ class Manifest::<%= ActiveSupport::Inflector.pluralize(name) %>Controller < Manifest::ManifestController
2
+ layout 'manifest/manifest'
5
3
 
6
4
  # Add more actions to me!
7
5
 
8
6
  def index
9
7
  @<%= plural_name.underscore %> = <%= name %>.all
10
8
  end
9
+
10
+ def show
11
+ @<%= name.underscore %> = <%= name %>.find(params[:id])
12
+ end
13
+
14
+ def new
15
+ @<%= name.underscore %> = <%= name %>.new
16
+ end
17
+
18
+ def create
19
+ @<%= name.underscore %> = <%= name %>.new(params[:<%= name.underscore %>])
20
+
21
+ if @<%= name.underscore %>.save
22
+ redirect_to manifest_<%= name.underscore %>_path(@<%= name.underscore %>)
23
+ else
24
+ render 'new'
25
+ end
26
+ end
27
+
28
+ def edit
29
+ @<%= name.underscore %> = <%= name %>.find(params[:id])
30
+ end
31
+
32
+ def update
33
+ @<%= name.underscore %> = <%= name %>.find(params[:id])
34
+
35
+ if @<%= name.underscore %>.update_attributes(params[:page])
36
+ redirect_to manifest_<%= plural_name.underscore %>_path
37
+ else
38
+ render 'edit'
39
+ end
40
+ end
41
+
42
+ def destroy
43
+ @<%= name.underscore %> = <%= name %>.find(params[:id])
44
+ @<%= name.underscore %>.destroy
45
+
46
+ redirect_to manifest_<%= plural_name.underscore %>_path
47
+ end
11
48
  end
@@ -0,0 +1,3 @@
1
+ <h2><%= ActiveSupport::Inflector.pluralize(name) %>: Edit</h2>
2
+
3
+ <%%= render 'form' %>
@@ -1 +1,5 @@
1
1
  <h2><%= ActiveSupport::Inflector.pluralize(name) %></h2>
2
+
3
+ <div class='model-actions'>
4
+ <%%= link_to 'New <%= name %>', new_manifest_<%= name.underscore %>_path %>
5
+ </div>
@@ -1,3 +1,3 @@
1
1
  class <%= name %> < ActiveRecord::Base
2
- acts_as_manifest
2
+ data_type_for_manifest
3
3
  end
@@ -0,0 +1,3 @@
1
+ <h2><%= ActiveSupport::Inflector.pluralize(name) %>: New</h2>
2
+
3
+ <%%= render 'form' %>
@@ -6,6 +6,4 @@ Example:
6
6
 
7
7
  This will create:
8
8
  db/migrate/create_pages.rb
9
- db/migrate/add_index_to_pages.rb
10
- db/migrate/create_content_blocks.rb
11
- db/migrate/add_index_to_content_blocks.rb
9
+ app/views/pages
@@ -7,12 +7,12 @@ class Manifest::InstallGenerator < ActiveRecord::Generators::Base
7
7
  migration_template 'create_pages.rb', 'db/migrate/create_pages.rb'
8
8
  end
9
9
 
10
- def generate_add_index_to_pages_migration
11
- migration_template 'add_index_to_pages.rb', 'db/migrate/add_index_to_pages.rb'
10
+ def generate_content_blocks_migratoin
11
+ migration_template 'create_content_blocks.rb', 'db/migrate/create_content_blocks.rb'
12
12
  end
13
13
 
14
- def generate_create_content_blocks_migration
15
- migration_template 'create_content_blocks.rb', 'db/migrate/create_content_blocks.rb'
14
+ def generate_add_index_to_pages_migration
15
+ migration_template 'add_index_to_pages.rb', 'db/migrate/add_index_to_pages.rb'
16
16
  end
17
17
 
18
18
  def generate_add_index_to_content_blocks_migration
@@ -22,4 +22,13 @@ class Manifest::InstallGenerator < ActiveRecord::Generators::Base
22
22
  def generate_create_editors_migration
23
23
  migration_template 'create_editors.rb', 'db/migrate/create_editors.rb'
24
24
  end
25
+
26
+ def create_pages_directory
27
+ empty_directory 'app/views/pages'
28
+ end
29
+
30
+ def create_public_layout
31
+ create_file 'app/views/layouts/public.html.erb'
32
+ end
25
33
  end
34
+
@@ -5,7 +5,7 @@ class CreateContentBlocks < ActiveRecord::Migration
5
5
  t.string :slug
6
6
  t.text :content
7
7
  t.integer :page_id
8
- t.boolean :allow_html, default: true
8
+ t.boolean :allow_html, default: false
9
9
 
10
10
  t.timestamps
11
11
  end
@@ -3,9 +3,9 @@ class CreatePages < ActiveRecord::Migration
3
3
  create_table :pages do |t|
4
4
  t.string :title
5
5
  t.string :slug
6
- t.string :template_path
7
6
 
8
7
  t.timestamps
9
8
  end
10
9
  end
11
10
  end
11
+
data/lib/manifest.rb CHANGED
@@ -1,16 +1,11 @@
1
- require 'active_record/base/acts_as_manifest'
2
- require 'manifest/engine'
1
+ require 'active_record/base/data_type_for_manifest'
2
+ require "manifest/engine"
3
3
  require 'friendly_id'
4
4
  require 'sass-rails'
5
5
  require 'compass-rails'
6
6
  require 'tinymce-rails'
7
7
 
8
8
  module Manifest
9
- DATA_TYPES = [
10
- { nav_name: 'Pages', route: 'manifest_pages_path' },
11
- { nav_name: 'Content Blocks', route: 'manifest_content_blocks_path' }
12
- ]
13
-
14
9
  def self.configure
15
10
  yield configuration
16
11
  end
@@ -20,10 +15,10 @@ module Manifest
20
15
  end
21
16
 
22
17
  class Configuration
23
- attr_accessor :app_name
18
+ attr_accessor :data_types
24
19
 
25
20
  def initialize
26
- @app_name = 'Manifest'
21
+ @data_types = []
27
22
  end
28
23
  end
29
24
  end
@@ -1,7 +1,4 @@
1
1
  module Manifest
2
2
  class Engine < ::Rails::Engine
3
- config.generators do |g|
4
- g.test_framework :rspec, :view_specs => false
5
- end
6
3
  end
7
4
  end
@@ -1,3 +1,3 @@
1
1
  module Manifest
2
- VERSION = "0.0.4"
2
+ VERSION = "0.1.0"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: manifest-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.1.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,33 +9,22 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-02-28 00:00:00.000000000 Z
12
+ date: 2012-03-06 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rails
16
- requirement: &70163626095240 !ruby/object:Gem::Requirement
16
+ requirement: &2152301720 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ~>
20
20
  - !ruby/object:Gem::Version
21
- version: 3.2.1
21
+ version: 3.2.2
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70163626095240
24
+ version_requirements: *2152301720
25
25
  - !ruby/object:Gem::Dependency
26
- name: sass-rails
27
- requirement: &70163626093840 !ruby/object:Gem::Requirement
28
- none: false
29
- requirements:
30
- - - ~>
31
- - !ruby/object:Gem::Version
32
- version: 3.2.3
33
- type: :runtime
34
- prerelease: false
35
- version_requirements: *70163626093840
36
- - !ruby/object:Gem::Dependency
37
- name: compass-rails
38
- requirement: &70163626092400 !ruby/object:Gem::Requirement
26
+ name: friendly_id
27
+ requirement: &2152300400 !ruby/object:Gem::Requirement
39
28
  none: false
40
29
  requirements:
41
30
  - - ! '>='
@@ -43,32 +32,32 @@ dependencies:
43
32
  version: '0'
44
33
  type: :runtime
45
34
  prerelease: false
46
- version_requirements: *70163626092400
35
+ version_requirements: *2152300400
47
36
  - !ruby/object:Gem::Dependency
48
- name: tinymce-rails
49
- requirement: &70163626106420 !ruby/object:Gem::Requirement
37
+ name: sass-rails
38
+ requirement: &2152298820 !ruby/object:Gem::Requirement
50
39
  none: false
51
40
  requirements:
52
- - - ! '>='
41
+ - - ~>
53
42
  - !ruby/object:Gem::Version
54
- version: '0'
43
+ version: 3.2.3
55
44
  type: :runtime
56
45
  prerelease: false
57
- version_requirements: *70163626106420
46
+ version_requirements: *2152298820
58
47
  - !ruby/object:Gem::Dependency
59
- name: friendly_id
60
- requirement: &70163626102100 !ruby/object:Gem::Requirement
48
+ name: compass-rails
49
+ requirement: &2152297940 !ruby/object:Gem::Requirement
61
50
  none: false
62
51
  requirements:
63
- - - ~>
52
+ - - ! '>='
64
53
  - !ruby/object:Gem::Version
65
- version: 4.0.0
54
+ version: '0'
66
55
  type: :runtime
67
56
  prerelease: false
68
- version_requirements: *70163626102100
57
+ version_requirements: *2152297940
69
58
  - !ruby/object:Gem::Dependency
70
59
  name: bcrypt-ruby
71
- requirement: &70163626116300 !ruby/object:Gem::Requirement
60
+ requirement: &2152297180 !ruby/object:Gem::Requirement
72
61
  none: false
73
62
  requirements:
74
63
  - - ~>
@@ -76,76 +65,21 @@ dependencies:
76
65
  version: 3.0.0
77
66
  type: :runtime
78
67
  prerelease: false
79
- version_requirements: *70163626116300
80
- - !ruby/object:Gem::Dependency
81
- name: rspec-rails
82
- requirement: &70163626113720 !ruby/object:Gem::Requirement
83
- none: false
84
- requirements:
85
- - - ! '>='
86
- - !ruby/object:Gem::Version
87
- version: '0'
88
- type: :development
89
- prerelease: false
90
- version_requirements: *70163626113720
91
- - !ruby/object:Gem::Dependency
92
- name: spork
93
- requirement: &70163626122960 !ruby/object:Gem::Requirement
94
- none: false
95
- requirements:
96
- - - ! '>='
97
- - !ruby/object:Gem::Version
98
- version: '0'
99
- type: :development
100
- prerelease: false
101
- version_requirements: *70163626122960
102
- - !ruby/object:Gem::Dependency
103
- name: growl
104
- requirement: &70163626117440 !ruby/object:Gem::Requirement
105
- none: false
106
- requirements:
107
- - - ! '>='
108
- - !ruby/object:Gem::Version
109
- version: '0'
110
- type: :development
111
- prerelease: false
112
- version_requirements: *70163626117440
113
- - !ruby/object:Gem::Dependency
114
- name: rb-fsevent
115
- requirement: &70163626132340 !ruby/object:Gem::Requirement
116
- none: false
117
- requirements:
118
- - - ! '>='
119
- - !ruby/object:Gem::Version
120
- version: '0'
121
- type: :development
122
- prerelease: false
123
- version_requirements: *70163626132340
68
+ version_requirements: *2152297180
124
69
  - !ruby/object:Gem::Dependency
125
- name: guard-bundler
126
- requirement: &70163626129860 !ruby/object:Gem::Requirement
127
- none: false
128
- requirements:
129
- - - ! '>='
130
- - !ruby/object:Gem::Version
131
- version: '0'
132
- type: :development
133
- prerelease: false
134
- version_requirements: *70163626129860
135
- - !ruby/object:Gem::Dependency
136
- name: guard-rspec
137
- requirement: &70163626128200 !ruby/object:Gem::Requirement
70
+ name: tinymce-rails
71
+ requirement: &2152296580 !ruby/object:Gem::Requirement
138
72
  none: false
139
73
  requirements:
140
74
  - - ! '>='
141
75
  - !ruby/object:Gem::Version
142
76
  version: '0'
143
- type: :development
77
+ type: :runtime
144
78
  prerelease: false
145
- version_requirements: *70163626128200
79
+ version_requirements: *2152296580
146
80
  - !ruby/object:Gem::Dependency
147
- name: guard-spork
148
- requirement: &70163626136400 !ruby/object:Gem::Requirement
81
+ name: sqlite3
82
+ requirement: &2152270080 !ruby/object:Gem::Requirement
149
83
  none: false
150
84
  requirements:
151
85
  - - ! '>='
@@ -153,10 +87,10 @@ dependencies:
153
87
  version: '0'
154
88
  type: :development
155
89
  prerelease: false
156
- version_requirements: *70163626136400
90
+ version_requirements: *2152270080
157
91
  - !ruby/object:Gem::Dependency
158
92
  name: rspec-rails
159
- requirement: &70163626134140 !ruby/object:Gem::Requirement
93
+ requirement: &2152269420 !ruby/object:Gem::Requirement
160
94
  none: false
161
95
  requirements:
162
96
  - - ! '>='
@@ -164,10 +98,10 @@ dependencies:
164
98
  version: '0'
165
99
  type: :development
166
100
  prerelease: false
167
- version_requirements: *70163626134140
101
+ version_requirements: *2152269420
168
102
  - !ruby/object:Gem::Dependency
169
- name: sqlite3
170
- requirement: &70163626141380 !ruby/object:Gem::Requirement
103
+ name: factory_girl_rails
104
+ requirement: &2152268500 !ruby/object:Gem::Requirement
171
105
  none: false
172
106
  requirements:
173
107
  - - ! '>='
@@ -175,33 +109,30 @@ dependencies:
175
109
  version: '0'
176
110
  type: :development
177
111
  prerelease: false
178
- version_requirements: *70163626141380
179
- description: Manifest is a Rails Engine-based content managemnet system. Manifest
180
- tries to preserve the Rails way by doing things like keeping view templates in their
181
- normal Rails location, rather than locked away in the database.
112
+ version_requirements: *2152268500
113
+ description: Manifest allows for the creation of simple content management with support
114
+ for easy custom data types. It attempts to preserve the Rails way of working where
115
+ possible.
182
116
  email:
183
117
  - j@jclem.net
184
118
  executables: []
185
119
  extensions: []
186
120
  extra_rdoc_files: []
187
121
  files:
188
- - app/assets/images/manifest/grid.png
189
- - app/assets/images/manifest/sketch.png
190
- - app/assets/javascripts/manifest/manifest.js
122
+ - app/assets/javascripts/manifest/main.js
191
123
  - app/assets/stylesheets/manifest/_forms.css.scss
192
- - app/assets/stylesheets/manifest/_mixins.css.scss
193
124
  - app/assets/stylesheets/manifest/_tables.css.scss
194
- - app/assets/stylesheets/manifest/manifest.css.scss
125
+ - app/assets/stylesheets/manifest/main.css.scss
126
+ - app/assets/stylesheets/manifest/sessions.css.scss
195
127
  - app/controllers/manifest/content_blocks_controller.rb
196
- - app/controllers/manifest/editors_controller.rb
197
128
  - app/controllers/manifest/manifest_controller.rb
198
129
  - app/controllers/manifest/pages_controller.rb
199
130
  - app/controllers/manifest/sessions_controller.rb
200
131
  - app/controllers/pages_controller.rb
132
+ - app/form_builders/manifest/labelled_form_builder.rb
201
133
  - app/models/content_block.rb
202
134
  - app/models/editor.rb
203
135
  - app/models/page.rb
204
- - app/models/user.rb
205
136
  - app/views/layouts/manifest/manifest.html.erb
206
137
  - app/views/layouts/manifest/sessions.html.erb
207
138
  - app/views/manifest/content_blocks/_form.html.erb
@@ -216,12 +147,20 @@ files:
216
147
  - app/views/manifest/sessions/new.html.erb
217
148
  - config/initializers/manifest.rb
218
149
  - config/routes.rb
219
- - lib/active_record/base/acts_as_manifest.rb
150
+ - db/migrate/20120303200114_create_pages.rb
151
+ - db/migrate/20120304152605_create_content_blocks.rb
152
+ - db/migrate/20120304155055_add_index_to_pages.rb
153
+ - db/migrate/20120304155130_add_index_to_content_blocks.rb
154
+ - db/migrate/20120305164036_create_editors.rb
155
+ - lib/active_record/base/data_type_for_manifest.rb
220
156
  - lib/generators/manifest/data_type/data_type_generator.rb
157
+ - lib/generators/manifest/data_type/templates/_form.html.erb
221
158
  - lib/generators/manifest/data_type/templates/controller.rb
159
+ - lib/generators/manifest/data_type/templates/edit.html.erb
222
160
  - lib/generators/manifest/data_type/templates/index.html.erb
223
161
  - lib/generators/manifest/data_type/templates/migration.rb
224
162
  - lib/generators/manifest/data_type/templates/model.rb
163
+ - lib/generators/manifest/data_type/templates/new.html.erb
225
164
  - lib/generators/manifest/data_type/USAGE
226
165
  - lib/generators/manifest/install/install_generator.rb
227
166
  - lib/generators/manifest/install/templates/add_index_to_content_blocks.rb
@@ -236,8 +175,8 @@ files:
236
175
  - lib/tasks/manifest_tasks.rake
237
176
  - MIT-LICENSE
238
177
  - Rakefile
239
- - README.md
240
- homepage: https://github.com/jclem/manifest-rails
178
+ - README.rdoc
179
+ homepage: http://github.com/jclem/manifest-rails
241
180
  licenses: []
242
181
  post_install_message:
243
182
  rdoc_options: []
@@ -251,7 +190,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
251
190
  version: '0'
252
191
  segments:
253
192
  - 0
254
- hash: 2393178351401268431
193
+ hash: -4432347159213337410
255
194
  required_rubygems_version: !ruby/object:Gem::Requirement
256
195
  none: false
257
196
  requirements:
@@ -260,11 +199,11 @@ required_rubygems_version: !ruby/object:Gem::Requirement
260
199
  version: '0'
261
200
  segments:
262
201
  - 0
263
- hash: 2393178351401268431
202
+ hash: -4432347159213337410
264
203
  requirements: []
265
204
  rubyforge_project:
266
- rubygems_version: 1.8.10
205
+ rubygems_version: 1.8.15
267
206
  signing_key:
268
207
  specification_version: 3
269
- summary: Manifest is a Rails Engine CMS.
208
+ summary: Manifest is a Rails Engine content management system
270
209
  test_files: []