shoestrap 0.4.1 → 1.0.0.pre1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.gitignore +17 -18
- data/.rspec +1 -1
- data/.ruby-version +1 -0
- data/.travis.yml +4 -11
- data/CHANGELOG.md +15 -1
- data/CONTRIBUTING +1 -0
- data/Gemfile +1 -1
- data/Guardfile +7 -0
- data/LICENSE +17 -4
- data/README.md +32 -14
- data/Rakefile +11 -10
- data/bin/shoestrap +2 -10
- data/features/features_helper.rb +91 -0
- data/features/shoestrap/commands/new_command_feature.rb +191 -0
- data/features/shoestrap/generators/bdd_generator_feature.rb +43 -0
- data/features/shoestrap/generators/bootstrap_generator_feature.rb +11 -0
- data/features/shoestrap/generators/coffee_files_generator_feature.rb +32 -0
- data/features/shoestrap/generators/foundation_generator_feature.rb +34 -0
- data/features/shoestrap/generators/kuhsaft_generator_feature.rb +38 -0
- data/features/shoestrap/generators/smacss_files_generator_feature.rb +45 -0
- data/lib/generators/shoestrap/bdd_generator.rb +34 -0
- data/lib/generators/shoestrap/bootstrap_generator.rb +6 -0
- data/lib/generators/shoestrap/coffee_files_generator.rb +19 -0
- data/lib/generators/shoestrap/database_generator.rb +9 -0
- data/lib/generators/shoestrap/foundation_generator.rb +24 -0
- data/lib/generators/shoestrap/gem_install_generator.rb +12 -0
- data/lib/generators/shoestrap/kuhsaft_generator.rb +34 -0
- data/lib/generators/shoestrap/mailcatcher_generator.rb +14 -0
- data/lib/generators/shoestrap/smacss_file_generator.rb +33 -0
- data/lib/shoestrap.rb +2 -6
- data/lib/shoestrap/application_generator.rb +96 -0
- data/lib/shoestrap/cli.rb +35 -0
- data/lib/shoestrap/railtie.rb +7 -0
- data/lib/shoestrap/shell.rb +9 -0
- data/lib/shoestrap/version.rb +3 -0
- data/shoestrap.gemspec +28 -21
- data/spec/shoestrap/application_generator_spec.rb +170 -0
- data/spec/shoestrap/cli_spec.rb +28 -0
- data/spec/spec_helper.rb +34 -0
- data/templates/application_generator/application.html.haml +51 -0
- data/templates/application_generator/application_helper.rb +6 -0
- data/templates/application_generator/application_template.rb +72 -0
- data/templates/application_generator/favicons/favicon-sc-129x129.png +0 -0
- data/templates/application_generator/favicons/favicon-sc-16x16.ico +0 -0
- data/templates/application_generator/favicons/favicon-sc-32x32.png +0 -0
- data/templates/bdd_generator/active_record_spec_helper.rb +19 -0
- data/templates/bdd_generator/dotrspec +2 -0
- data/templates/bdd_generator/fast_spec_helper.rb +6 -0
- data/templates/bdd_generator/spec_helper.rb +12 -0
- data/templates/coffee_generator/application.js.coffee +3 -0
- data/templates/foundation_generator/_ie8_grid.css +85 -0
- data/templates/foundation_generator/_settings.css.sass +171 -0
- data/templates/kuhsaft_generator/kuhsaft.rb +5 -0
- data/templates/smacss_generator/application.css.sass +18 -0
- metadata +165 -74
- data/.rvmrc +0 -34
- data/lib/generators/shoestrap/app_generator.rb +0 -35
- data/lib/generators/shoestrap/cms_generator.rb +0 -57
- data/lib/generators/shoestrap/deployment_generator.rb +0 -62
- data/lib/generators/shoestrap/templates/cms/migration.rb +0 -15
- data/lib/generators/shoestrap/templates/cms/model.rb +0 -10
- data/lib/generators/shoestrap/templates/cms/model.yml.erb +0 -9
- data/lib/generators/shoestrap/templates/cms/view.yml.erb +0 -10
- data/lib/generators/shoestrap/templates/deployment/airbrake.rb +0 -10
- data/lib/generators/shoestrap/templates/deployment/database.yml.erb +0 -30
- data/lib/generators/shoestrap/templates/deployment/deployment.rake.erb +0 -23
- data/lib/generators/shoestrap/templates/deployment/unicorn.rb +0 -38
- data/lib/shoestrap/app_builder.rb +0 -132
- data/lib/shoestrap/tasks/middleman.rb +0 -21
- data/lib/shoestrap/tasks/radiant.rb +0 -41
- data/lib/shoestrap/tasks/rails.rb +0 -81
- data/templates/Gemfile.erb +0 -43
- data/templates/Guardfile +0 -33
- data/templates/README.md.erb +0 -30
- data/templates/_main_navigation.html.haml.erb +0 -5
- data/templates/application.html.haml +0 -24
- data/templates/bootstrap_and_overrides.css.sass +0 -7
- data/templates/cms_navigation.rb +0 -9
- data/templates/development_mail_interceptor.rb +0 -7
- data/templates/haml/scaffold/_form.html.haml +0 -10
- data/templates/haml/scaffold/edit.html.haml +0 -8
- data/templates/haml/scaffold/index.html.haml +0 -29
- data/templates/haml/scaffold/new.html.haml +0 -5
- data/templates/haml/scaffold/show.html.haml +0 -11
- data/templates/index.html.haml +0 -27
- data/templates/kuhsaft.css.sass +0 -2
- data/templates/rails/scaffold_controller/controller.rb +0 -89
- data/templates/setup_mail.rb +0 -1
- data/templates/shoestrap.yml +0 -41
@@ -1,21 +0,0 @@
|
|
1
|
-
#
|
2
|
-
# Common Rake Tasks for Middleman Apps
|
3
|
-
#
|
4
|
-
|
5
|
-
require 'airbrake/tasks'
|
6
|
-
|
7
|
-
desc 'Build the project'
|
8
|
-
task :build do
|
9
|
-
puts 'RUNNING MIDDLEMAN BUILD'
|
10
|
-
if File.symlink?('public') || File.exists?('public')
|
11
|
-
File.delete 'public'
|
12
|
-
end
|
13
|
-
|
14
|
-
`bundle exec middleman build && ln -s build public`
|
15
|
-
end
|
16
|
-
|
17
|
-
desc 'Post Deployment Task for blazing'
|
18
|
-
task :post_deploy => :build do
|
19
|
-
system "rake airbrake:deploy TO=#{ENV['RAILS_ENV']} REVISION=$(git rev-parse HEAD)"
|
20
|
-
end
|
21
|
-
|
@@ -1,41 +0,0 @@
|
|
1
|
-
#
|
2
|
-
# Common Rake Tasks for Middleman Apps
|
3
|
-
#
|
4
|
-
|
5
|
-
require 'airbrake/tasks'
|
6
|
-
|
7
|
-
desc 'Post Deployment Task for blazing'
|
8
|
-
task :post_deploy => :environment do
|
9
|
-
puts 'Compiling Stylesheets, the old way'
|
10
|
-
puts '[ bundle exec compass compile ]'
|
11
|
-
system 'bundle exec compass compile'
|
12
|
-
|
13
|
-
#
|
14
|
-
# Run migrations
|
15
|
-
#
|
16
|
-
puts 'Running migrations if necessary'
|
17
|
-
puts '[ rake db:migrate ]'
|
18
|
-
Rake::Task["db:migrate"].invoke
|
19
|
-
|
20
|
-
#
|
21
|
-
# Trigger Unicorn reexec with 0 downtime
|
22
|
-
#
|
23
|
-
puts 'restarting unicorns'
|
24
|
-
puts "[ #{ENV['HOME']}/unicorn.sh upgrade #{APP_NAME}_#{Rails.env} ]"
|
25
|
-
system "#{ENV['HOME']}/unicorn.sh upgrade #{APP_NAME}_#{Rails.env}"
|
26
|
-
|
27
|
-
#
|
28
|
-
# Enable monit monitoring
|
29
|
-
#
|
30
|
-
puts 'enable monit'
|
31
|
-
puts "[ monit -g #{APP_NAME}_#{Rails.env} monitor ]"
|
32
|
-
system "monit -g #{APP_NAME}_#{Rails.env} monitor"
|
33
|
-
|
34
|
-
#
|
35
|
-
# Notify Airbrake of deployment
|
36
|
-
#
|
37
|
-
puts 'notifying airbrake'
|
38
|
-
puts "[ rake airbrake:deploy TO=#{Rails.env} REVISION=$(git rev-parse HEAD) ]"
|
39
|
-
system "rake airbrake:deploy TO=#{Rails.env} REVISION=$(git rev-parse HEAD)"
|
40
|
-
end
|
41
|
-
|
@@ -1,81 +0,0 @@
|
|
1
|
-
#
|
2
|
-
# Common Rake Tasks for Middleman Apps
|
3
|
-
#
|
4
|
-
|
5
|
-
require 'airbrake/tasks'
|
6
|
-
require 'blazing'
|
7
|
-
|
8
|
-
def ssh_path(environment)
|
9
|
-
blazing_config = Blazing::Config.parse
|
10
|
-
blazing_config.targets.find { |t| t.name == environment.to_sym }.location
|
11
|
-
end
|
12
|
-
|
13
|
-
desc 'Post Deployment Task for blazing'
|
14
|
-
task :post_deploy => :environment do
|
15
|
-
#
|
16
|
-
# Precompile assets
|
17
|
-
#
|
18
|
-
puts 'Precompiling assets'
|
19
|
-
puts '[ rake assets:precompile ]'
|
20
|
-
Rake::Task["assets:precompile"].invoke
|
21
|
-
|
22
|
-
#
|
23
|
-
# Run migrations
|
24
|
-
#
|
25
|
-
puts 'Running migrations if necessary'
|
26
|
-
puts '[ rake db:migrate ]'
|
27
|
-
Rake::Task["db:migrate"].invoke
|
28
|
-
|
29
|
-
#
|
30
|
-
# Trigger Unicorn reexec with 0 downtime
|
31
|
-
#
|
32
|
-
puts 'restarting unicorns'
|
33
|
-
puts "[ #{ENV['HOME']}/unicorn.sh upgrade #{Rails.configuration.app_name}_#{Rails.env} ]"
|
34
|
-
system "#{ENV['HOME']}/unicorn.sh upgrade #{Rails.configuration.app_name}_#{Rails.env}"
|
35
|
-
|
36
|
-
#
|
37
|
-
# Enable monit monitoring
|
38
|
-
#
|
39
|
-
puts 'enable monit'
|
40
|
-
puts "[ monit -g #{Rails.configuration.app_name}_#{Rails.env} monitor ]"
|
41
|
-
system "monit -g #{Rails.configuration.app_name}_#{Rails.env} monitor"
|
42
|
-
|
43
|
-
#
|
44
|
-
# Notify Airbrake of deployment
|
45
|
-
#
|
46
|
-
puts 'notifying airbrake'
|
47
|
-
puts "[ rake airbrake:deploy TO=#{Rails.env} REVISION=$(git rev-parse HEAD) ]"
|
48
|
-
system "rake airbrake:deploy TO=#{Rails.env} REVISION=$(git rev-parse HEAD)"
|
49
|
-
end
|
50
|
-
|
51
|
-
namespace :sync do
|
52
|
-
|
53
|
-
desc 'Sync Assets and DB from TARGET_ENV into current RAILS_ENV'
|
54
|
-
task :all => [:db, :assets] do
|
55
|
-
end
|
56
|
-
|
57
|
-
desc 'Pull down DB from TARGET_ENV server into current RAILS_ENV'
|
58
|
-
task :db do
|
59
|
-
raise 'No TARGET_ENV specified!' unless ENV['TARGET_ENV']
|
60
|
-
|
61
|
-
puts "--> dumping #{ENV['TARGET_ENV']} db to yml file"
|
62
|
-
system "blazing goto #{ENV['TARGET_ENV']} -c 'bundle exec rake db:data:dump'"
|
63
|
-
|
64
|
-
puts '--> copying down yml file'
|
65
|
-
system "scp #{ssh_path(ENV['TARGET_ENV'])}/db/data.yml db/data.yml"
|
66
|
-
|
67
|
-
puts "--> loading yml data into #{Rails.env} DB"
|
68
|
-
system "bundle exec rake db:data:load"
|
69
|
-
end
|
70
|
-
|
71
|
-
desc 'Pull down uploaded assets from TARGET_ENV'
|
72
|
-
task :assets do
|
73
|
-
raise 'No TARGET_ENV specified!' unless ENV['TARGET_ENV']
|
74
|
-
|
75
|
-
puts '--> copying down assets'
|
76
|
-
system "scp -r #{ssh_path(ENV['TARGET_ENV'])}/public/uploads public/"
|
77
|
-
end
|
78
|
-
end
|
79
|
-
|
80
|
-
# TODO: setup (https://github.com/screenconcept/shoestrap/issues/6)
|
81
|
-
|
data/templates/Gemfile.erb
DELETED
@@ -1,43 +0,0 @@
|
|
1
|
-
source 'https://rubygems.org'
|
2
|
-
|
3
|
-
<%= rails_gemfile_entry -%>
|
4
|
-
|
5
|
-
<%= assets_gemfile_entry %>
|
6
|
-
|
7
|
-
<%= javascript_gemfile_entry -%>
|
8
|
-
|
9
|
-
gem 'bcrypt-ruby', '~> 3.0.0'
|
10
|
-
gem 'simple_form'
|
11
|
-
gem 'jbuilder'
|
12
|
-
gem 'unicorn'
|
13
|
-
gem 'blazing'
|
14
|
-
gem 'haml'
|
15
|
-
gem 'haml-rails'
|
16
|
-
gem 'bootstrap-sass'
|
17
|
-
gem 'simple_form'
|
18
|
-
gem 'simple-navigation'
|
19
|
-
gem 'mail'
|
20
|
-
gem 'fabrication'
|
21
|
-
gem 'shoestrap'
|
22
|
-
gem 'kuhsaft'
|
23
|
-
gem 'pg'
|
24
|
-
gem 'airbrake'
|
25
|
-
|
26
|
-
group :development, :test do
|
27
|
-
gem 'pry'
|
28
|
-
gem 'rspec-rails'
|
29
|
-
end
|
30
|
-
|
31
|
-
group :test do
|
32
|
-
gem 'database_cleaner'
|
33
|
-
gem 'sqlite3'
|
34
|
-
gem 'cucumber-rails', :require => false
|
35
|
-
end
|
36
|
-
|
37
|
-
group :development do
|
38
|
-
gem 'guard-rspec'
|
39
|
-
gem 'guard-cucumber'
|
40
|
-
gem 'rb-fsevent'
|
41
|
-
gem 'ruby_gntp'
|
42
|
-
end
|
43
|
-
|
data/templates/Guardfile
DELETED
@@ -1,33 +0,0 @@
|
|
1
|
-
guard 'rspec', :command_prefix => 'zeus', :bundler => false do
|
2
|
-
watch(%r{^spec/.+_spec\.rb$})
|
3
|
-
watch(%r{^lib/(.+)\.rb$}) { |m| "spec/lib/#{m[1]}_spec.rb" }
|
4
|
-
watch('spec/spec_helper.rb') { "spec" }
|
5
|
-
|
6
|
-
# Rails example
|
7
|
-
watch(%r{^app/(.+)\.rb$}) { |m| "spec/#{m[1]}_spec.rb" }
|
8
|
-
watch(%r{^app/(.*)(\.erb|\.haml)$}) { |m| "spec/#{m[1]}#{m[2]}_spec.rb" }
|
9
|
-
watch(%r{^app/controllers/(.+)_(controller)\.rb$}) { |m| ["spec/routing/#{m[1]}_routing_spec.rb", "spec/#{m[2]}s/#{m[1]}_#{m[2]}_spec.rb", "spec/acceptance/#{m[1]}_spec.rb"] }
|
10
|
-
watch(%r{^spec/support/(.+)\.rb$}) { "spec" }
|
11
|
-
watch('config/routes.rb') { "spec/routing" }
|
12
|
-
watch('app/controllers/application_controller.rb') { "spec/controllers" }
|
13
|
-
|
14
|
-
# Capybara features specs
|
15
|
-
watch(%r{^app/views/(.+)/.*\.(erb|haml)$}) { |m| "spec/features/#{m[1]}_spec.rb" }
|
16
|
-
|
17
|
-
# Turnip features and steps
|
18
|
-
watch(%r{^spec/acceptance/(.+)\.feature$})
|
19
|
-
watch(%r{^spec/acceptance/steps/(.+)_steps\.rb$}) { |m| Dir[File.join("**/#{m[1]}.feature")][0] || 'spec/acceptance' }
|
20
|
-
|
21
|
-
callback(:run_all_end) do
|
22
|
-
unless Guard.guards(:rspec).last_failed
|
23
|
-
Guard.run_all({ :guard => Guard.guards(:cucumber) })
|
24
|
-
end
|
25
|
-
end
|
26
|
-
end
|
27
|
-
|
28
|
-
|
29
|
-
guard 'cucumber', :command_prefix => 'zeus', :bundler => false do
|
30
|
-
watch(%r{^features/.+\.feature$})
|
31
|
-
watch(%r{^features/support/.+$}) { 'features' }
|
32
|
-
watch(%r{^features/step_definitions/(.+)_steps\.rb$}) { |m| Dir[File.join("**/#{m[1]}.feature")][0] || 'features' }
|
33
|
-
end
|
data/templates/README.md.erb
DELETED
@@ -1,30 +0,0 @@
|
|
1
|
-
# <%= app_name %>
|
2
|
-
|
3
|
-
## IMPORTANT REMARKS
|
4
|
-
|
5
|
-
## SETUP
|
6
|
-
|
7
|
-
## COMPONENTS
|
8
|
-
|
9
|
-
## ENVIRONMENTS
|
10
|
-
|
11
|
-
### Staging
|
12
|
-
The app runs on the <server> server
|
13
|
-
|
14
|
-
* Home:
|
15
|
-
* Web:
|
16
|
-
|
17
|
-
### Production
|
18
|
-
* The app runs on the <server> server
|
19
|
-
* Home:
|
20
|
-
* Web:
|
21
|
-
* External:
|
22
|
-
|
23
|
-
Deploy this application with blazing.
|
24
|
-
|
25
|
-
## PITFALLS
|
26
|
-
### Problems with solutions
|
27
|
-
### Problems without solutions
|
28
|
-
|
29
|
-
## HOWTO
|
30
|
-
|
@@ -1,24 +0,0 @@
|
|
1
|
-
!!! 5
|
2
|
-
%html
|
3
|
-
%head
|
4
|
-
%meta{ charset: "utf-8" }
|
5
|
-
-#%meta{ name: "viewport", content: "width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0" }
|
6
|
-
|
7
|
-
%title <%= app_name %>
|
8
|
-
|
9
|
-
= stylesheet_link_tag "application", :media => "all"
|
10
|
-
= javascript_include_tag "application"
|
11
|
-
= csrf_meta_tags
|
12
|
-
|
13
|
-
%body
|
14
|
-
.navbar.navbar-fixed-top
|
15
|
-
.navbar-inner
|
16
|
-
.container
|
17
|
-
= link_to '<%= app_name %>', '#', :class => 'brand'
|
18
|
-
%ul.nav
|
19
|
-
|
20
|
-
.container
|
21
|
-
.row-fluid
|
22
|
-
.span-12
|
23
|
-
= yield
|
24
|
-
|
data/templates/cms_navigation.rb
DELETED
@@ -1,9 +0,0 @@
|
|
1
|
-
# -*- coding: utf-8 -*-
|
2
|
-
# Configures your navigation
|
3
|
-
SimpleNavigation::Configuration.run do |navigation|
|
4
|
-
navigation.items do |primary|
|
5
|
-
primary.item :pages, Kuhsaft::Page.model_name.human(:count => 2), kuhsaft.cms_pages_path
|
6
|
-
primary.dom_class = 'nav'
|
7
|
-
end
|
8
|
-
end
|
9
|
-
|
@@ -1,10 +0,0 @@
|
|
1
|
-
= simple_form_for([:cms, @<%= singular_table_name %>]) do |f|
|
2
|
-
= f.error_notification
|
3
|
-
|
4
|
-
.form-inputs
|
5
|
-
<%- attributes.each do |attribute| -%>
|
6
|
-
= f.<%= attribute.reference? ? :association : :input %> :<%= attribute.name %>
|
7
|
-
<%- end -%>
|
8
|
-
|
9
|
-
.form-actions
|
10
|
-
= f.button :submit
|
@@ -1,29 +0,0 @@
|
|
1
|
-
<% pl_table_name = plural_table_name.gsub('cms_','') -%>
|
2
|
-
<% sg_table_name = singular_table_name.gsub('cms_','') -%>
|
3
|
-
%h1= t('.title')
|
4
|
-
|
5
|
-
.row-fluid.actions
|
6
|
-
.pull-right.padded
|
7
|
-
= link_to new_cms_<%= sg_table_name %>_path, :class => 'btn btn-primary' do
|
8
|
-
%i.icon-plus-sign.icon-white
|
9
|
-
#{ t('.new') }
|
10
|
-
|
11
|
-
%table.table.table-bordered.table-striped
|
12
|
-
%tr
|
13
|
-
<% for attribute in attributes -%>
|
14
|
-
%th= <%= class_name.gsub('Cms::','') %>.human_attribute_name :<%= attribute.name %>
|
15
|
-
<% end -%>
|
16
|
-
%th
|
17
|
-
%th
|
18
|
-
%th
|
19
|
-
|
20
|
-
- @<%= plural_table_name %>.each do |<%= singular_table_name %>|
|
21
|
-
%tr
|
22
|
-
<% for attribute in attributes -%>
|
23
|
-
%td= <%= singular_table_name %>.<%= attribute.name %>
|
24
|
-
<% end -%>
|
25
|
-
%td= link_to t('cms.show'), <%= singular_table_name %>_path(<%= singular_table_name %>)
|
26
|
-
%td= link_to t('cms.edit'), edit_<%= singular_table_name %>_path(<%= singular_table_name %>)
|
27
|
-
%td= link_to t('cms.destroy'), <%= singular_table_name %>_path(<%= singular_table_name %>), <%= key_value :method, ":delete" %>, <%= key_value :data, "{ #{key_value :confirm, "t('cms.are_you_sure')"} }" %>
|
28
|
-
|
29
|
-
%br
|
@@ -1,11 +0,0 @@
|
|
1
|
-
%p#notice= notice
|
2
|
-
|
3
|
-
<% for attribute in attributes -%>
|
4
|
-
%p
|
5
|
-
%b #{<%= class_name.gsub('Cms::','') %>.human_attribute_name :<%= attribute.name %>}:
|
6
|
-
= @<%= singular_table_name %>.<%= attribute.name %>
|
7
|
-
<% end -%>
|
8
|
-
|
9
|
-
= link_to t('cms.edit'), edit_<%= singular_table_name %>_path(@<%= singular_table_name %>)
|
10
|
-
\|
|
11
|
-
= link_to t('cms.back'), <%= index_helper %>_path
|
data/templates/index.html.haml
DELETED
@@ -1,27 +0,0 @@
|
|
1
|
-
%h1 Listing <%= plural_table_name %>
|
2
|
-
|
3
|
-
.row-fluid.actions
|
4
|
-
.pull-right.padded
|
5
|
-
= link_to new_<%= singular_table_name %>_path, :class => 'btn btn-primary' do
|
6
|
-
%i.icon-plus-sign.icon-white
|
7
|
-
New <%= human_name %>
|
8
|
-
|
9
|
-
%table.table.table-bordered.table-striped
|
10
|
-
%tr
|
11
|
-
<% for attribute in attributes -%>
|
12
|
-
%th <%= attribute.human_name %>
|
13
|
-
<% end -%>
|
14
|
-
%th
|
15
|
-
%th
|
16
|
-
%th
|
17
|
-
|
18
|
-
- @<%= plural_table_name %>.each do |<%= singular_table_name %>|
|
19
|
-
%tr
|
20
|
-
<% for attribute in attributes -%>
|
21
|
-
%td= <%= singular_table_name %>.<%= attribute.name %>
|
22
|
-
<% end -%>
|
23
|
-
%td= link_to 'Show', <%= singular_table_name %>
|
24
|
-
%td= link_to 'Edit', edit_<%= singular_table_name %>_path(<%= singular_table_name %>)
|
25
|
-
%td= link_to 'Destroy', <%= singular_table_name %>, <%= key_value :method, ":delete" %>, <%= key_value :data, "{ #{key_value :confirm, "'Are you sure?'"} }" %>
|
26
|
-
|
27
|
-
%br
|
data/templates/kuhsaft.css.sass
DELETED
@@ -1,89 +0,0 @@
|
|
1
|
-
<% if namespaced? -%>
|
2
|
-
require_dependency "<%= namespaced_file_path %>/application_controller"
|
3
|
-
|
4
|
-
<% end -%>
|
5
|
-
<% module_namespacing do -%>
|
6
|
-
class <%= controller_class_name %>Controller < Kuhsaft::Cms::AdminController
|
7
|
-
# GET <%= route_url %>
|
8
|
-
# GET <%= route_url %>.json
|
9
|
-
def index
|
10
|
-
@<%= plural_table_name %> = <%= orm_class.all(class_name.gsub('Cms::','')) %>
|
11
|
-
|
12
|
-
respond_to do |format|
|
13
|
-
format.html # index.html.erb
|
14
|
-
format.json { render <%= key_value :json, "@#{plural_table_name}" %> }
|
15
|
-
end
|
16
|
-
end
|
17
|
-
|
18
|
-
# GET <%= route_url %>/1
|
19
|
-
# GET <%= route_url %>/1.json
|
20
|
-
def show
|
21
|
-
@<%= singular_table_name %> = <%= orm_class.find(class_name.gsub('Cms::',''), "params[:id]") %>
|
22
|
-
|
23
|
-
respond_to do |format|
|
24
|
-
format.html # show.html.erb
|
25
|
-
format.json { render <%= key_value :json, "@#{singular_table_name}" %> }
|
26
|
-
end
|
27
|
-
end
|
28
|
-
|
29
|
-
# GET <%= route_url %>/new
|
30
|
-
# GET <%= route_url %>/new.json
|
31
|
-
def new
|
32
|
-
@<%= singular_table_name %> = <%= orm_class.build(class_name.gsub('Cms::','')) %>
|
33
|
-
|
34
|
-
respond_to do |format|
|
35
|
-
format.html # new.html.erb
|
36
|
-
format.json { render <%= key_value :json, "@#{singular_table_name}" %> }
|
37
|
-
end
|
38
|
-
end
|
39
|
-
|
40
|
-
# GET <%= route_url %>/1/edit
|
41
|
-
def edit
|
42
|
-
@<%= singular_table_name %> = <%= orm_class.find(class_name.gsub('Cms::',''), "params[:id]") %>
|
43
|
-
end
|
44
|
-
|
45
|
-
# POST <%= route_url %>
|
46
|
-
# POST <%= route_url %>.json
|
47
|
-
def create
|
48
|
-
@<%= singular_table_name %> = <%= orm_class.build(class_name.gsub('Cms::',''), "params[:#{singular_table_name.gsub('cms_','')}]") %>
|
49
|
-
|
50
|
-
respond_to do |format|
|
51
|
-
if @<%= orm_instance.save %>
|
52
|
-
format.html { redirect_to <%= singular_table_name %>_path(@<%= singular_table_name %>), <%= key_value :notice, "t('cms.create.success', name: #{class_name.gsub('Cms::','')}.model_name.human)"%> }
|
53
|
-
format.json { render <%= key_value :json, "@#{singular_table_name}" %>, <%= key_value :status, ':created' %>, <%= key_value :location, "#{singular_table_name}_path(@#{singular_table_name})" %> }
|
54
|
-
else
|
55
|
-
format.html { render <%= key_value :action, '"new"' %> }
|
56
|
-
format.json { render <%= key_value :json, "@#{orm_instance.errors}" %>, <%= key_value :status, ':unprocessable_entity' %> }
|
57
|
-
end
|
58
|
-
end
|
59
|
-
end
|
60
|
-
|
61
|
-
# PUT <%= route_url %>/1
|
62
|
-
# PUT <%= route_url %>/1.json
|
63
|
-
def update
|
64
|
-
@<%= singular_table_name %> = <%= orm_class.find(class_name.gsub('Cms::',''), "params[:id]") %>
|
65
|
-
|
66
|
-
respond_to do |format|
|
67
|
-
if @<%= orm_instance.update_attributes("params[:#{singular_table_name.gsub('cms_','')}]") %>
|
68
|
-
format.html { redirect_to <%= singular_table_name %>_path(@<%= singular_table_name %>), <%= key_value :notice, "t('cms.update.success', name: #{class_name.gsub('Cms::','')}.model_name.human)"%> }
|
69
|
-
format.json { head :no_content }
|
70
|
-
else
|
71
|
-
format.html { render <%= key_value :action, '"edit"' %> }
|
72
|
-
format.json { render <%= key_value :json, "@#{orm_instance.errors}" %>, <%= key_value :status, ':unprocessable_entity' %> }
|
73
|
-
end
|
74
|
-
end
|
75
|
-
end
|
76
|
-
|
77
|
-
# DELETE <%= route_url %>/1
|
78
|
-
# DELETE <%= route_url %>/1.json
|
79
|
-
def destroy
|
80
|
-
@<%= singular_table_name %> = <%= orm_class.find(class_name.gsub('Cms::',''), "params[:id]") %>
|
81
|
-
@<%= orm_instance.destroy %>
|
82
|
-
|
83
|
-
respond_to do |format|
|
84
|
-
format.html { redirect_to <%= index_helper %>_url }
|
85
|
-
format.json { head :no_content }
|
86
|
-
end
|
87
|
-
end
|
88
|
-
end
|
89
|
-
<% end -%>
|