manifest-rails 0.0.4 → 0.1.0

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 (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: []