buildybuild 0.0.1 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # Buildybuild
2
2
 
3
- Buildybuild is a rails generator that gives you everything you need to create a cms.
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 the following command:
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
- resources :pages, only: [:new, :create]
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 "http://localhost:3000/pages/new" and see your new Content Management System in action!
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
@@ -4,6 +4,6 @@ require 'rake/testtask'
4
4
 
5
5
  Rake::TestTask.new do |t|
6
6
  t.libs << "test"
7
- t.test_files = FileList['test/**/*_test.rb']
7
+ t.test_files = FileList['test/**/*.rb']
8
8
  t.verbose = true
9
9
  end
@@ -1,3 +1,3 @@
1
1
  module Buildybuild
2
- VERSION = "0.0.1"
2
+ VERSION = "1.0.0"
3
3
  end
data/lib/buildybuild.rb CHANGED
@@ -1,7 +1,7 @@
1
- require "buildybuild/version"
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: /^end\s*$/
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\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)
@@ -1,6 +1,6 @@
1
1
  class Create<%= klasses %> < ActiveRecord::Migration
2
2
  def change
3
- create_table :<%= klasses %> do |t|
3
+ create_table :<%= table_name %> do |t|
4
4
  t.string :name
5
5
  t.string :slug
6
6
  t.text :body
@@ -1,8 +1,8 @@
1
- class <%= klass %> < ActiveRecord::Base
1
+ class <%= klass %>
2
2
 
3
3
  attr_accessible :body, :name, :slug
4
4
 
5
- default_scope order('created_at DESC, updated_at DESC')
5
+ default_scope order('created_at DESC, updated_at DESC')\n
6
6
 
7
7
  validates_uniqueness_of :name
8
8
 
@@ -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\nend")
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.1
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-05 00:00:00.000000000Z
12
+ date: 2012-10-08 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: formal
16
- requirement: &70169109374020 !ruby/object:Gem::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: *70169109374020
24
+ version_requirements: *70209595599460
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: decent_exposure
27
- requirement: &70169109373300 !ruby/object:Gem::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: *70169109373300
35
+ version_requirements: *70209595596860
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: haml-rails
38
- requirement: &70169109372580 !ruby/object:Gem::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: *70169109372580
46
+ version_requirements: *70209595595400
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: rdiscount
49
- requirement: &70169109371900 !ruby/object:Gem::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: *70169109371900
57
+ version_requirements: *70209595593440
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: railties
60
- requirement: &70169109371260 !ruby/object:Gem::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: *70169109371260
68
+ version_requirements: *70209595592240
69
69
  description: Generators for adding a CMS your site
70
70
  email:
71
71
  - dev@hashrocket.com