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 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