buildybuild 0.0.1 → 1.0.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.
- data/README.md +13 -4
- data/Rakefile +1 -1
- data/lib/buildybuild/version.rb +1 -1
- data/lib/buildybuild.rb +2 -2
- data/lib/generators/buildybuild/cms/cms_generator.rb +7 -2
- data/lib/generators/buildybuild/cms/templates/cms_controller.rb +0 -9
- data/lib/generators/buildybuild/cms/templates/cms_migration.rb +1 -1
- data/lib/generators/buildybuild/cms/templates/cms_model.rb +2 -2
- data/test/generators/buildybuild/cms/cms_generator_test.rb +2 -3
- metadata +12 -12
data/README.md
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# Buildybuild
|
2
2
|
|
3
|
-
Buildybuild is
|
3
|
+
Buildybuild is generator that allows you to quickly generate static with either markup or a provided cms.
|
4
4
|
|
5
5
|
## Installation
|
6
6
|
|
@@ -33,7 +33,7 @@ $ gem install buildybuild
|
|
33
33
|
|
34
34
|
## Usage
|
35
35
|
|
36
|
-
This is a rails generator so run
|
36
|
+
This is a rails generator so run:
|
37
37
|
|
38
38
|
```bash
|
39
39
|
$ rails generate buildybuild:cms
|
@@ -57,7 +57,7 @@ This will create the following files:
|
|
57
57
|
and appends the following to the bottom of your routes file:
|
58
58
|
|
59
59
|
```ruby
|
60
|
-
|
60
|
+
resources :pages, only: [:new, :create]
|
61
61
|
|
62
62
|
#keep these at the bottom of your file. They should be the last routes.
|
63
63
|
get "/:slug", to: "pages#show", as: :slug
|
@@ -74,7 +74,16 @@ run the migration
|
|
74
74
|
rake db:migrate
|
75
75
|
```
|
76
76
|
|
77
|
-
And you're set. Now you can go to
|
77
|
+
And you're set. Now you can go to ```http://localhost:3000/pages/new``` and see your new Content Management System in action!
|
78
|
+
|
79
|
+
Or you can create static pages and stick them in ```app/views/pages/```. Then you will automatically have access to the page in your routes.
|
80
|
+
|
81
|
+
Observe:
|
82
|
+
|
83
|
+
Create a static page called ```app/views/pages/about_us.html.haml```
|
84
|
+
|
85
|
+
Then automatically have access to ```http://localhost:3000/about-us```.
|
86
|
+
|
78
87
|
|
79
88
|
## Contributing
|
80
89
|
|
data/Rakefile
CHANGED
data/lib/buildybuild/version.rb
CHANGED
data/lib/buildybuild.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
|
-
require
|
1
|
+
require 'rails/generators'
|
2
|
+
require 'buildybuild/version'
|
2
3
|
require 'haml-rails'
|
3
4
|
require 'decent_exposure'
|
4
5
|
require 'rdiscount'
|
5
6
|
require 'formal'
|
6
|
-
require 'rails/generators'
|
7
7
|
require 'generators/buildybuild/cms/cms_generator'
|
@@ -26,7 +26,7 @@ module Buildybuild
|
|
26
26
|
end
|
27
27
|
|
28
28
|
def add_routes
|
29
|
-
insert_into_file "config/routes.rb", generated_routes, before:
|
29
|
+
insert_into_file "config/routes.rb", generated_routes, before: /end\n*$/
|
30
30
|
end
|
31
31
|
|
32
32
|
private
|
@@ -39,9 +39,10 @@ module Buildybuild
|
|
39
39
|
get "/:slug", to: "pages#show", as: :slug
|
40
40
|
get "/:slug/edit", to: "pages#edit", as: :edit_slug
|
41
41
|
put "/:slug", to: "pages#update", as: :slug
|
42
|
-
post "/:slug", to: "pages#destroy", as: :slug\n
|
42
|
+
post "/:slug", to: "pages#destroy", as: :slug\n)
|
43
43
|
end
|
44
44
|
|
45
|
+
|
45
46
|
def file_name
|
46
47
|
model_name.underscore
|
47
48
|
end
|
@@ -58,6 +59,10 @@ module Buildybuild
|
|
58
59
|
file_name.pluralize.camelize
|
59
60
|
end
|
60
61
|
|
62
|
+
def table_name
|
63
|
+
klasses.downcase
|
64
|
+
end
|
65
|
+
|
61
66
|
def controller_name
|
62
67
|
"#{file_name.pluralize}Controller".camelize
|
63
68
|
end
|
@@ -3,20 +3,11 @@ class <%= controller_name %> < ApplicationController
|
|
3
3
|
expose(:<%= file_name.pluralize %>)
|
4
4
|
expose(:<%= file_name %>, finder: :find_by_slug, finder_parameter: :slug)
|
5
5
|
expose(:new_<%= file_name %>, model: <%= klass %>)
|
6
|
-
expose(:slug) { params[:slug] }
|
7
6
|
|
8
7
|
# Move this to the ApplicationController if you want to have
|
9
8
|
# the navigation in your Application Layout
|
10
9
|
expose(:<%= file_name%>_slugs ) { <%= klass %>.select(:slug).map(&:slug) }
|
11
10
|
|
12
|
-
def show
|
13
|
-
if template_exists? "<%= file_names %>/#{slug.underscore}"
|
14
|
-
render slug.underscore
|
15
|
-
else
|
16
|
-
render "show"
|
17
|
-
end
|
18
|
-
end
|
19
|
-
|
20
11
|
def create
|
21
12
|
if new_<%= file_name %>.save
|
22
13
|
redirect_to slug_path(new_<%= file_name %>.slug)
|
@@ -12,7 +12,7 @@ class BuildybuildCmsGeneratorTest < Rails::Generators::TestCase
|
|
12
12
|
|
13
13
|
test "migration is generated" do
|
14
14
|
generator.generate_migration
|
15
|
-
assert_migration "db/migrate/create_pages.rb"
|
15
|
+
assert_migration "db/migrate/create_pages.rb", /create_table :pages/
|
16
16
|
end
|
17
17
|
|
18
18
|
test "controller is generated" do
|
@@ -30,10 +30,9 @@ class BuildybuildCmsGeneratorTest < Rails::Generators::TestCase
|
|
30
30
|
|
31
31
|
test "routes are updated" do
|
32
32
|
#create the file in the test so we can insert into it.
|
33
|
-
generator.create_file("config/routes.rb", "class Routes \n\
|
33
|
+
generator.create_file("config/routes.rb", "class Routes \n\n end")
|
34
34
|
generator.add_routes
|
35
35
|
assert_file "config/routes.rb", /get "\/:slug", to: "pages#show", as: :slug/
|
36
|
-
assert_file "config/routes.rb", /:slug\n\nend$/
|
37
36
|
end
|
38
37
|
|
39
38
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: buildybuild
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0
|
4
|
+
version: 1.0.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-10-
|
12
|
+
date: 2012-10-08 00:00:00.000000000Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: formal
|
16
|
-
requirement: &
|
16
|
+
requirement: &70209595599460 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: '0'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *70209595599460
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: decent_exposure
|
27
|
-
requirement: &
|
27
|
+
requirement: &70209595596860 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - =
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: 2.0.0.rc1
|
33
33
|
type: :runtime
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *70209595596860
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: haml-rails
|
38
|
-
requirement: &
|
38
|
+
requirement: &70209595595400 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ! '>='
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: '0'
|
44
44
|
type: :runtime
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *70209595595400
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: rdiscount
|
49
|
-
requirement: &
|
49
|
+
requirement: &70209595593440 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ! '>='
|
@@ -54,10 +54,10 @@ dependencies:
|
|
54
54
|
version: '0'
|
55
55
|
type: :runtime
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *70209595593440
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: railties
|
60
|
-
requirement: &
|
60
|
+
requirement: &70209595592240 !ruby/object:Gem::Requirement
|
61
61
|
none: false
|
62
62
|
requirements:
|
63
63
|
- - ! '>='
|
@@ -65,7 +65,7 @@ dependencies:
|
|
65
65
|
version: '0'
|
66
66
|
type: :development
|
67
67
|
prerelease: false
|
68
|
-
version_requirements: *
|
68
|
+
version_requirements: *70209595592240
|
69
69
|
description: Generators for adding a CMS your site
|
70
70
|
email:
|
71
71
|
- dev@hashrocket.com
|