nice_scaffold 0.0.2

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/CHANGELOG ADDED
File without changes
data/Manifest ADDED
@@ -0,0 +1,14 @@
1
+ CHANGELOG
2
+ Manifest
3
+ README.rdoc
4
+ Rakefile
5
+ generators/nice_scaffold/nice_scaffold_generator.rb
6
+ generators/nice_scaffold/templates/controller.rb
7
+ generators/nice_scaffold/templates/model.rb
8
+ generators/nice_scaffold/templates/views/_form.html.haml.rb
9
+ generators/nice_scaffold/templates/views/edit.html.haml.rb
10
+ generators/nice_scaffold/templates/views/index.html.haml.rb
11
+ generators/nice_scaffold/templates/views/new.html.haml.rb
12
+ generators/nice_scaffold/templates/views/show.html.haml.rb
13
+ init.rb
14
+ lib/nice_scaffold.rb
data/README.rdoc ADDED
File without changes
data/Rakefile ADDED
@@ -0,0 +1,14 @@
1
+ require 'rubygems'
2
+ require 'rake'
3
+ require 'echoe'
4
+
5
+ Echoe.new('nice_scaffold', '0.0.2') do |p|
6
+ p.description = "Rails scaffold."
7
+ p.url = "http://github.com/seeweer/nice_scaffold"
8
+ p.author = "Artur Małecki"
9
+ p.email = "seeweer@gmail.com"
10
+ p.development_dependencies = []
11
+ end
12
+
13
+ Dir["#{File.dirname(__FILE__)}/tasks/*.rake"].sort.each { |ext| load ext }
14
+
@@ -0,0 +1,74 @@
1
+ class NiceScaffoldGenerator < Rails::Generator::NamedBase
2
+ attr_accessor(
3
+ :model_class_name,
4
+ :controller_class_name,
5
+ :model_name,
6
+ :controller_name,
7
+ :namespace
8
+ )
9
+
10
+ def namespace
11
+ @namespace || []
12
+ end
13
+
14
+ def initialize(runtime_args, runtime_options = {})
15
+ super
16
+ self.model_class_name = class_name
17
+ self.model_name = file_path
18
+ self.controller_class_name = class_name.pluralize
19
+ self.controller_name = plural_name
20
+ end
21
+
22
+ def manifest
23
+ record do |m|
24
+ # Controller, helper, views, and test directories.
25
+ m.directory("app/models")
26
+ m.directory(File.join("app/controllers", namespace))
27
+ m.directory(File.join("app/helpers", namespace))
28
+ m.directory(File.join("app/views", namespace, plural_name))
29
+
30
+ # Controller
31
+ if(has_controller?)
32
+ m.template("controller.rb", File.join("app/controllers/", namespace, "#{controller_name}_controller.rb"))
33
+ end
34
+
35
+ # Model
36
+ if(has_model?)
37
+ m.template("model.rb", "app/models/#{model_name}.rb")
38
+ end
39
+
40
+ # Views
41
+ if(has_controller?)
42
+ %w(index show new edit _form).each do |view|
43
+ m.template(File.join("views", "#{view}.html.haml.rb"), File.join("app/views", namespace, plural_name, "#{view}.html.haml"))
44
+ end
45
+ end
46
+ end
47
+ end
48
+
49
+
50
+ def has_model?
51
+ !options[:skip_model]
52
+ end
53
+
54
+ def has_controller?
55
+ !options[:skip_controller]
56
+ end
57
+
58
+ def has_namespace?
59
+ !namespace.blank?
60
+ end
61
+
62
+ protected
63
+ def banner
64
+ "Usage: #{$0} nice_scaffold ModelName"
65
+ end
66
+
67
+ def add_options!(opt)
68
+ opt.separator("")
69
+ opt.separator("Options:")
70
+ opt.on("--skip-model", "Skip generating model"){ |v| options[:skip_model] = true }
71
+ opt.on("--skip-controller", "Skip generatint controller"){ |v| options[:skip_controller] = true }
72
+ opt.on("--admin-namespace", "Specify namespace to Admin"){ |v| self.namespace = ["admin"] }
73
+ end
74
+ end
@@ -0,0 +1,39 @@
1
+ class <%= controller_class_name %>Controller < ApplicationController
2
+ def index
3
+ @<%= controller_name %> = <%= model_class_name %>.all
4
+ end
5
+
6
+ def show
7
+ @<%= model_name %> = <%= model_class_name %>.find(params[:id])
8
+ end
9
+
10
+ def new
11
+ @<%= model_name %> = <%= model_class_name %>.new
12
+ end
13
+
14
+ def create
15
+ @<%= model_name %> = <%= model_class_name %>.new(params[:<%= model_name %>])
16
+ @<%= model_name %>.save!
17
+ redirect_to(<%= controller_name %>_path)
18
+ rescue ActiveRecord::RecordInvalid
19
+ render(:action => :new)
20
+ end
21
+
22
+ def edit
23
+ @<%= model_name %> = <%= model_class_name %>.find(params[:id])
24
+ end
25
+
26
+ def update
27
+ @<%= model_name %> = <%= model_class_name %>.find(params[:id])
28
+ @<%= model_name %>.update_attributes(params[:<%= model_name %>])
29
+ redirect_to(<%= controller_name %>_path)
30
+ rescue ActiveRecord::RecordInvalid
31
+ render(:action => :edit)
32
+ end
33
+
34
+ def destroy
35
+ @<%= model_name %> = <%= model_class_name %>.find(params[:id])
36
+ @<%= model_name %>.destroy
37
+ redirect_to(<%= controller_name %>_path)
38
+ end
39
+ end
@@ -0,0 +1,2 @@
1
+ class <%= model_class_name %> < ActiveRecord::Base
2
+ end
@@ -0,0 +1,4 @@
1
+ %h3 Edit <%= singular_name %>
2
+
3
+ - form_for([namespace, @<%= singular_name %>].flatten) do |f|
4
+ = render(:partial => 'form', :locals => {:f => f})
@@ -0,0 +1,13 @@
1
+ %h3 <%= controller_class_name %>
2
+
3
+ = link_to("Add <%= model_class_name %>", <%= ["new", namespace, model_name, "path"].flatten.join("_") %>)
4
+
5
+ %table
6
+ %tr
7
+ %td Options
8
+ - @<%= controller_name %>.each do |<%= model_name %>|
9
+ %tr
10
+ %td
11
+ = link_to("Edit", <%= ["edit", namespace, model_name, "path(#{model_name})"].flatten.join("_") %>)
12
+ |
13
+ = link_to("Destroy", <%= [namespace, model_name, "path(#{model_name})"].flatten.join("_") %>, :method => :delete, :confirm => "Are you sure?")
@@ -0,0 +1,4 @@
1
+ %h3 New <%= singular_name %>
2
+
3
+ - form_for([namespace, @<%= singular_name %>].flatten) do |f|
4
+ = render(:partial => 'form', :locals => {:f => f})
data/init.rb ADDED
@@ -0,0 +1 @@
1
+ require "nice_scaffold"
@@ -0,0 +1,2 @@
1
+ module NiceScaffold
2
+ end
@@ -0,0 +1,30 @@
1
+ # -*- encoding: utf-8 -*-
2
+
3
+ Gem::Specification.new do |s|
4
+ s.name = %q{nice_scaffold}
5
+ s.version = "0.0.2"
6
+
7
+ s.required_rubygems_version = Gem::Requirement.new(">= 1.2") if s.respond_to? :required_rubygems_version=
8
+ s.authors = ["Artur Ma\305\202ecki"]
9
+ s.date = %q{2010-06-23}
10
+ s.description = %q{Rails scaffold.}
11
+ s.email = %q{seeweer@gmail.com}
12
+ s.extra_rdoc_files = ["CHANGELOG", "README.rdoc", "lib/nice_scaffold.rb"]
13
+ s.files = ["CHANGELOG", "Manifest", "README.rdoc", "Rakefile", "generators/nice_scaffold/nice_scaffold_generator.rb", "generators/nice_scaffold/templates/controller.rb", "generators/nice_scaffold/templates/model.rb", "generators/nice_scaffold/templates/views/_form.html.haml.rb", "generators/nice_scaffold/templates/views/edit.html.haml.rb", "generators/nice_scaffold/templates/views/index.html.haml.rb", "generators/nice_scaffold/templates/views/new.html.haml.rb", "generators/nice_scaffold/templates/views/show.html.haml.rb", "init.rb", "lib/nice_scaffold.rb", "nice_scaffold.gemspec"]
14
+ s.homepage = %q{http://github.com/seeweer/nice_scaffold}
15
+ s.rdoc_options = ["--line-numbers", "--inline-source", "--title", "Nice_scaffold", "--main", "README.rdoc"]
16
+ s.require_paths = ["lib"]
17
+ s.rubyforge_project = %q{nice_scaffold}
18
+ s.rubygems_version = %q{1.3.7}
19
+ s.summary = %q{Rails scaffold.}
20
+
21
+ if s.respond_to? :specification_version then
22
+ current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
23
+ s.specification_version = 3
24
+
25
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
26
+ else
27
+ end
28
+ else
29
+ end
30
+ end
metadata ADDED
@@ -0,0 +1,89 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: nice_scaffold
3
+ version: !ruby/object:Gem::Version
4
+ hash: 27
5
+ prerelease: false
6
+ segments:
7
+ - 0
8
+ - 0
9
+ - 2
10
+ version: 0.0.2
11
+ platform: ruby
12
+ authors:
13
+ - "Artur Ma\xC5\x82ecki"
14
+ autorequire:
15
+ bindir: bin
16
+ cert_chain: []
17
+
18
+ date: 2010-06-23 00:00:00 +02:00
19
+ default_executable:
20
+ dependencies: []
21
+
22
+ description: Rails scaffold.
23
+ email: seeweer@gmail.com
24
+ executables: []
25
+
26
+ extensions: []
27
+
28
+ extra_rdoc_files:
29
+ - CHANGELOG
30
+ - README.rdoc
31
+ - lib/nice_scaffold.rb
32
+ files:
33
+ - CHANGELOG
34
+ - Manifest
35
+ - README.rdoc
36
+ - Rakefile
37
+ - generators/nice_scaffold/nice_scaffold_generator.rb
38
+ - generators/nice_scaffold/templates/controller.rb
39
+ - generators/nice_scaffold/templates/model.rb
40
+ - generators/nice_scaffold/templates/views/_form.html.haml.rb
41
+ - generators/nice_scaffold/templates/views/edit.html.haml.rb
42
+ - generators/nice_scaffold/templates/views/index.html.haml.rb
43
+ - generators/nice_scaffold/templates/views/new.html.haml.rb
44
+ - generators/nice_scaffold/templates/views/show.html.haml.rb
45
+ - init.rb
46
+ - lib/nice_scaffold.rb
47
+ - nice_scaffold.gemspec
48
+ has_rdoc: true
49
+ homepage: http://github.com/seeweer/nice_scaffold
50
+ licenses: []
51
+
52
+ post_install_message:
53
+ rdoc_options:
54
+ - --line-numbers
55
+ - --inline-source
56
+ - --title
57
+ - Nice_scaffold
58
+ - --main
59
+ - README.rdoc
60
+ require_paths:
61
+ - lib
62
+ required_ruby_version: !ruby/object:Gem::Requirement
63
+ none: false
64
+ requirements:
65
+ - - ">="
66
+ - !ruby/object:Gem::Version
67
+ hash: 3
68
+ segments:
69
+ - 0
70
+ version: "0"
71
+ required_rubygems_version: !ruby/object:Gem::Requirement
72
+ none: false
73
+ requirements:
74
+ - - ">="
75
+ - !ruby/object:Gem::Version
76
+ hash: 11
77
+ segments:
78
+ - 1
79
+ - 2
80
+ version: "1.2"
81
+ requirements: []
82
+
83
+ rubyforge_project: nice_scaffold
84
+ rubygems_version: 1.3.7
85
+ signing_key:
86
+ specification_version: 3
87
+ summary: Rails scaffold.
88
+ test_files: []
89
+