ixtlan-core 0.6.0 → 0.6.1
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 +64 -0
- data/features/headers.feature +12 -0
- data/features/step_definitions/simple_steps.rb +1 -0
- data/lib/ixtlan/core/active_record.rb +22 -0
- data/lib/ixtlan/core/active_record.rb~ +24 -0
- data/lib/ixtlan/core/controllers/configuration_controller.rb~ +9 -0
- data/lib/ixtlan/core/data_mapper.rb +23 -0
- data/lib/ixtlan/core/data_mapper.rb~ +18 -0
- data/lib/ixtlan/core/optimistic_active_record.rb~ +21 -0
- data/lib/ixtlan/core/{optimistic_data_mapper.rb → optimistic_data_mapper.rb~} +1 -1
- data/lib/ixtlan/core/railtie.rb +6 -6
- data/lib/ixtlan/core/x_content_headers.rb~ +32 -0
- data/lib/ixtlan/core/x_content_type_headers.rb~ +30 -0
- data/lib/ixtlan/core/x_xss_protection_headers.rb~ +30 -0
- data/spec/cache_headers_spec.rb~ +52 -0
- data/spec/configuration_manager_spec.rb~ +40 -0
- data/spec/controller.rb~ +8 -0
- data/spec/x_headers_spec.rb~ +74 -0
- metadata +24 -37
- data/lib/generators/ixtlan/base.rb +0 -45
- data/lib/generators/ixtlan/configuration_model/configuration_model_generator.rb +0 -12
- data/lib/generators/ixtlan/configuration_scaffold/configuration_scaffold_generator.rb +0 -12
- data/lib/generators/ixtlan/setup/setup_generator.rb +0 -38
- data/lib/generators/ixtlan/setup/templates/application_layout.html.erb +0 -17
- data/lib/generators/ixtlan/setup/templates/database.yml.example +0 -48
- data/lib/generators/ixtlan/setup/templates/error.html.erb +0 -1
- data/lib/generators/ixtlan/setup/templates/error_with_session.html.erb +0 -1
- data/lib/generators/ixtlan/setup/templates/gitignore +0 -2
- data/lib/generators/ixtlan/setup/templates/initializer.rb +0 -64
- data/lib/generators/ixtlan/setup/templates/preinitializer.rb +0 -31
- data/lib/generators/ixtlan/setup/templates/production.yml.example +0 -8
- data/lib/generators/ixtlan/setup/templates/stale.html.erb +0 -2
- data/lib/generators/model/model_generator.rb +0 -12
- data/lib/generators/rails/active_record/active_record_generator.rb +0 -40
- data/lib/generators/rails/active_record/model/migration.rb +0 -19
- data/lib/generators/rails/active_record/model/model.rb +0 -16
- data/lib/generators/rails/erb/erb_generator.rb +0 -37
- data/lib/generators/rails/erb/scaffold/_form.html.erb +0 -28
- data/lib/generators/rails/erb/scaffold/edit.html.erb +0 -24
- data/lib/generators/rails/erb/scaffold/index.html.erb +0 -49
- data/lib/generators/rails/erb/scaffold/new.html.erb +0 -11
- data/lib/generators/rails/erb/scaffold/show.html.erb +0 -30
- data/lib/generators/rails/scaffold_controller/scaffold_controller/controller.rb +0 -129
- data/lib/generators/rails/scaffold_controller/scaffold_controller/singleton_controller.rb +0 -43
- data/lib/generators/scaffold/scaffold_generator.rb +0 -35
- data/lib/generators/scaffold_controller/scaffold_controller_generator.rb +0 -34
- data/lib/ixtlan/core/optimistic_active_record.rb +0 -18
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
require 'yaml'
|
|
2
|
-
require 'erb'
|
|
3
|
-
module Ixtlan
|
|
4
|
-
class Configurator
|
|
5
|
-
|
|
6
|
-
def self.symbolize_keys(h)
|
|
7
|
-
result = {}
|
|
8
|
-
|
|
9
|
-
h.each do |k, v|
|
|
10
|
-
v = ' ' if v.nil?
|
|
11
|
-
if v.is_a?(Hash)
|
|
12
|
-
result[k.to_sym] = symbolize_keys(v) unless v.size == 0
|
|
13
|
-
else
|
|
14
|
-
result[k.to_sym] = v unless k.to_sym == v.to_sym
|
|
15
|
-
end
|
|
16
|
-
end
|
|
17
|
-
|
|
18
|
-
result
|
|
19
|
-
end
|
|
20
|
-
|
|
21
|
-
def self.load(file)
|
|
22
|
-
if File.exists?(file)
|
|
23
|
-
symbolize_keys(YAML::load(ERB.new(IO.read(file)).result))
|
|
24
|
-
else
|
|
25
|
-
warn "no file #{file} to load - maybe the is a #{file}.example"
|
|
26
|
-
end
|
|
27
|
-
end
|
|
28
|
-
end
|
|
29
|
-
end
|
|
30
|
-
|
|
31
|
-
CONFIG = Ixtlan::Configurator.load(File.join(File.dirname(__FILE__), 'production.yml')) || {}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
module Rails
|
|
2
|
-
module Generators
|
|
3
|
-
class ModelGenerator < NamedBase #metagenerator
|
|
4
|
-
argument :attributes, :type => :array, :default => [], :banner => "field:type field:type"
|
|
5
|
-
hook_for :orm, :required => true
|
|
6
|
-
|
|
7
|
-
if defined? Resty
|
|
8
|
-
hook_for :resty, :type => :boolean, :default => true
|
|
9
|
-
end
|
|
10
|
-
end
|
|
11
|
-
end
|
|
12
|
-
end
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
require 'rails/generators/active_record'
|
|
2
|
-
|
|
3
|
-
module ActiveRecord
|
|
4
|
-
module Generators
|
|
5
|
-
class ModelGenerator < Base
|
|
6
|
-
include ::Ixtlan::Core::Singleton
|
|
7
|
-
|
|
8
|
-
argument :attributes, :type => :array, :default => [], :banner => "field:type field:type"
|
|
9
|
-
|
|
10
|
-
check_class_collision
|
|
11
|
-
|
|
12
|
-
class_option :migration, :type => :boolean
|
|
13
|
-
class_option :timestamps, :type => :boolean
|
|
14
|
-
class_option :parent, :type => :string, :desc => "The parent class for the generated model"
|
|
15
|
-
|
|
16
|
-
def create_migration_file
|
|
17
|
-
return unless options[:migration] && options[:parent].nil?
|
|
18
|
-
migration_template "migration.rb", "db/migrate/create_#{table_name}.rb"
|
|
19
|
-
end
|
|
20
|
-
|
|
21
|
-
def create_model_file
|
|
22
|
-
template 'model.rb', File.join('app/models', class_path, "#{file_name}.rb")
|
|
23
|
-
end
|
|
24
|
-
|
|
25
|
-
def create_module_file
|
|
26
|
-
return if class_path.empty?
|
|
27
|
-
template 'module.rb', File.join('app/models', "#{class_path.join('/')}.rb") if behavior == :invoke
|
|
28
|
-
end
|
|
29
|
-
|
|
30
|
-
hook_for :test_framework
|
|
31
|
-
|
|
32
|
-
protected
|
|
33
|
-
|
|
34
|
-
def parent_class_name
|
|
35
|
-
options[:parent] || "ActiveRecord::Base"
|
|
36
|
-
end
|
|
37
|
-
|
|
38
|
-
end
|
|
39
|
-
end
|
|
40
|
-
end
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
class <%= migration_class_name %> < ActiveRecord::Migration
|
|
2
|
-
def self.up
|
|
3
|
-
create_table :<%= table_name %> do |t|
|
|
4
|
-
<% attributes.select {|attr| ![:has_one, :has_many].include?(attr.type) }.each do |attribute| -%>
|
|
5
|
-
t.<%= attribute.type %> :<%= attribute.name %>
|
|
6
|
-
<% end -%>
|
|
7
|
-
<% if options[:timestamps] %>
|
|
8
|
-
t.timestamps
|
|
9
|
-
<% end -%>
|
|
10
|
-
<% if options[:modified_by] %>
|
|
11
|
-
t.references :modified_by
|
|
12
|
-
<% end -%>
|
|
13
|
-
end
|
|
14
|
-
end
|
|
15
|
-
|
|
16
|
-
def self.down
|
|
17
|
-
drop_table :<%= table_name %>
|
|
18
|
-
end
|
|
19
|
-
end
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
class <%= class_name %> < <%= parent_class_name.classify %>
|
|
2
|
-
<% attributes.select {|attr| attr.reference? }.each do |attribute| -%>
|
|
3
|
-
belongs_to :<%= attribute.name %>
|
|
4
|
-
<% end -%>
|
|
5
|
-
<% attributes.select {|attr| [:has_one, :has_many].include?(attr.type) }.each do |attribute| -%>
|
|
6
|
-
<%= attribute.type %> :<%= attribute.name %>
|
|
7
|
-
<% end -%>
|
|
8
|
-
<% if options[:modified_by] -%>
|
|
9
|
-
belongs_to :modified_by, :class_name => "<%= options[:user_model] %>"
|
|
10
|
-
<% end -%>
|
|
11
|
-
<% if options[:singleton] -%>
|
|
12
|
-
def self.instance
|
|
13
|
-
self.first || self.new
|
|
14
|
-
end
|
|
15
|
-
<% end -%>
|
|
16
|
-
end
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
require 'rails/generators/erb'
|
|
2
|
-
require 'rails/generators/resource_helpers'
|
|
3
|
-
|
|
4
|
-
module Erb
|
|
5
|
-
module Generators
|
|
6
|
-
class ScaffoldGenerator < Base
|
|
7
|
-
include Rails::Generators::ResourceHelpers
|
|
8
|
-
|
|
9
|
-
class_option :optimistic, :type => :boolean, :default => false
|
|
10
|
-
class_option :singleton, :type => :boolean, :default => false
|
|
11
|
-
class_option :timestamps, :type => :boolean, :default => true
|
|
12
|
-
|
|
13
|
-
argument :attributes, :type => :array, :default => [], :banner => "field:type field:type"
|
|
14
|
-
|
|
15
|
-
def create_root_folder
|
|
16
|
-
empty_directory File.join("app/views", controller_file_path)
|
|
17
|
-
end
|
|
18
|
-
|
|
19
|
-
def copy_view_files
|
|
20
|
-
available_views.each do |view|
|
|
21
|
-
filename = filename_with_extensions(view)
|
|
22
|
-
template filename, File.join("app/views", controller_file_path, filename)
|
|
23
|
-
end
|
|
24
|
-
end
|
|
25
|
-
|
|
26
|
-
protected
|
|
27
|
-
|
|
28
|
-
def available_views
|
|
29
|
-
if options[:singleton]
|
|
30
|
-
%w(edit show _form)
|
|
31
|
-
else
|
|
32
|
-
%w(index edit show new _form)
|
|
33
|
-
end
|
|
34
|
-
end
|
|
35
|
-
end
|
|
36
|
-
end
|
|
37
|
-
end
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
<%%= form_for(@<%= singular_table_name %><% if options[:singleton] -%>
|
|
2
|
-
, :url => <%= singular_table_name %>_path, :html => { :method => :put, :class => "edit_<%= singular_table_name %>", :id => "edit_<%= singular_table_name %>"}<% end -%>
|
|
3
|
-
) do |f| %>
|
|
4
|
-
<%% if @<%= singular_table_name %>.errors.any? %>
|
|
5
|
-
<div id="error_explanation">
|
|
6
|
-
<h2><%%= pluralize(@<%= singular_table_name %>.errors.count, "error") %> prohibited this <%= singular_table_name %> from being saved:</h2>
|
|
7
|
-
|
|
8
|
-
<ul>
|
|
9
|
-
<%% @<%= singular_table_name %>.errors.full_messages.each do |msg| %>
|
|
10
|
-
<li><%%= msg %></li>
|
|
11
|
-
<%% end %>
|
|
12
|
-
</ul>
|
|
13
|
-
</div>
|
|
14
|
-
<%% end %>
|
|
15
|
-
|
|
16
|
-
<% for attribute in attributes -%>
|
|
17
|
-
<div class="field"><!-- begin - <%= attribute.name %> -->
|
|
18
|
-
<%%= f.label :<%= attribute.name %> %><br />
|
|
19
|
-
<%%= f.<%= attribute.field_type %> :<%= attribute.name %> %>
|
|
20
|
-
</div><!-- end - <%= attribute.name %> -->
|
|
21
|
-
<% end -%>
|
|
22
|
-
<div class="actions">
|
|
23
|
-
<% if options[:optimistic] && options[:timestamps] -%>
|
|
24
|
-
<%%= f.hidden_field :updated_at %>
|
|
25
|
-
<% end -%>
|
|
26
|
-
<%%= f.submit %>
|
|
27
|
-
</div>
|
|
28
|
-
<%% end %>
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
<h1>Editing <%= singular_table_name %></h1>
|
|
2
|
-
|
|
3
|
-
<%%= render 'form' %>
|
|
4
|
-
|
|
5
|
-
<% if defined? ::Ixtlan::Guard -%>
|
|
6
|
-
<%% if allowed?(:<%= table_name %>, :show) %>
|
|
7
|
-
<% end -%>
|
|
8
|
-
<% if options[:singleton] -%>
|
|
9
|
-
<%%= link_to 'Show', <%= singular_table_name %>_path %>
|
|
10
|
-
<% else -%>
|
|
11
|
-
<%%= link_to 'Show', @<%= singular_table_name %> %>
|
|
12
|
-
<% end -%>
|
|
13
|
-
<% if defined? ::Ixtlan::Guard -%>
|
|
14
|
-
<%% end %>
|
|
15
|
-
<% end -%>
|
|
16
|
-
<% unless options[:singleton] -%>
|
|
17
|
-
<% if defined? ::Ixtlan::Guard -%>
|
|
18
|
-
<%% if allowed?(:<%= table_name %>, :index) %>
|
|
19
|
-
<% end -%>
|
|
20
|
-
| <%%= link_to 'Back', <%= index_helper %>_path %>
|
|
21
|
-
<% if defined? ::Ixtlan::Guard -%>
|
|
22
|
-
<%% end %>
|
|
23
|
-
<% end -%>
|
|
24
|
-
<% end -%>
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
<h1>Listing <%= plural_table_name %></h1>
|
|
2
|
-
|
|
3
|
-
<table>
|
|
4
|
-
<tr>
|
|
5
|
-
<% for attribute in attributes -%>
|
|
6
|
-
<th><%= attribute.human_name %></th>
|
|
7
|
-
<% end -%>
|
|
8
|
-
<th></th>
|
|
9
|
-
<th></th>
|
|
10
|
-
<th></th>
|
|
11
|
-
</tr>
|
|
12
|
-
|
|
13
|
-
<%% @<%= plural_table_name %>.each do |<%= singular_table_name %>| %>
|
|
14
|
-
<tr>
|
|
15
|
-
<% for attribute in attributes -%>
|
|
16
|
-
<td><%%= <%= singular_table_name %>.<%= attribute.name %> %></td>
|
|
17
|
-
<% end -%>
|
|
18
|
-
<% if defined? ::Ixtlan::Guard -%>
|
|
19
|
-
<%% if allowed?(:<%= table_name %>, :show) %>
|
|
20
|
-
<% end -%>
|
|
21
|
-
<td><%%= link_to 'Show', <%= singular_table_name %> %></td>
|
|
22
|
-
<% if defined? ::Ixtlan::Guard -%>
|
|
23
|
-
<%% end %>
|
|
24
|
-
<%% if allowed?(:<%= table_name %>, :update) %>
|
|
25
|
-
<% end -%>
|
|
26
|
-
<td><%%= link_to 'Edit', edit_<%= singular_table_name %>_path(<%= singular_table_name %>) %></td>
|
|
27
|
-
<% if defined? ::Ixtlan::Guard -%>
|
|
28
|
-
<%% end %>
|
|
29
|
-
<%% if allowed?(:<%= table_name %>, :destroy) %>
|
|
30
|
-
<% end -%>
|
|
31
|
-
<td><% if options[:optimistic] && options[:timestamps] -%>
|
|
32
|
-
<%%= link_to 'Destroy', <%= singular_table_name %>_path(<%= singular_table_name %>) + "?<%= singular_table_name %>[updated_at]=#{<%= singular_table_name %>.updated_at.utc.strftime('%Y-%m-%d %H:%M:%S') + ("%06d" % <%= singular_table_name %>.updated_at.utc)}", :confirm => 'Are you sure?', :method => :delete %><% else -%><%%= link_to 'Destroy', <%= singular_table_name %>, :confirm => 'Are you sure?', :method => :delete %>
|
|
33
|
-
<% end -%></td>
|
|
34
|
-
<% if defined? ::Ixtlan::Guard -%>
|
|
35
|
-
<%% end %>
|
|
36
|
-
<% end -%>
|
|
37
|
-
</tr>
|
|
38
|
-
<%% end %>
|
|
39
|
-
</table>
|
|
40
|
-
|
|
41
|
-
<br />
|
|
42
|
-
|
|
43
|
-
<% if defined? ::Ixtlan::Guard -%>
|
|
44
|
-
<%% if allowed?(:<%= table_name %>, :create) %>
|
|
45
|
-
<% end -%>
|
|
46
|
-
<%%= link_to 'New <%= human_name %>', new_<%= singular_table_name %>_path %>
|
|
47
|
-
<% if defined? ::Ixtlan::Guard -%>
|
|
48
|
-
<%% end %>
|
|
49
|
-
<% end -%>
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
<h1>New <%= singular_table_name %></h1>
|
|
2
|
-
|
|
3
|
-
<%%= render 'form' %>
|
|
4
|
-
|
|
5
|
-
<% if defined? ::Ixtlan::Guard -%>
|
|
6
|
-
<%% if allowed?(:<%= table_name %>, :index) %>
|
|
7
|
-
<% end -%>
|
|
8
|
-
<%%= link_to 'Back', <%= index_helper %>_path %>
|
|
9
|
-
<% if defined? ::Ixtlan::Guard -%>
|
|
10
|
-
<%% end %>
|
|
11
|
-
<% end -%>
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
<p id="notice"><%%= notice %></p>
|
|
2
|
-
|
|
3
|
-
<% for attribute in attributes -%>
|
|
4
|
-
<p>
|
|
5
|
-
<b><%= attribute.human_name %>:</b>
|
|
6
|
-
<%%= @<%= singular_table_name %>.<%= attribute.name %> %>
|
|
7
|
-
</p>
|
|
8
|
-
|
|
9
|
-
<% end -%>
|
|
10
|
-
|
|
11
|
-
<% if defined? ::Ixtlan::Guard -%>
|
|
12
|
-
<%% if allowed?(:<%= table_name %>, :update) %>
|
|
13
|
-
<% end -%>
|
|
14
|
-
<% if options[:singleton] -%>
|
|
15
|
-
<%%= link_to 'Edit', edit_<%= singular_table_name %>_path %>
|
|
16
|
-
<% else -%>
|
|
17
|
-
<%%= link_to 'Edit', edit_<%= singular_table_name %>_path(@<%= singular_table_name %>) %>
|
|
18
|
-
<% end -%>
|
|
19
|
-
<% if defined? ::Ixtlan::Guard -%>
|
|
20
|
-
<%% end %>
|
|
21
|
-
<% end -%>
|
|
22
|
-
<% unless options[:singleton] -%>
|
|
23
|
-
<% if defined? ::Ixtlan::Guard -%>
|
|
24
|
-
<%% if allowed?(:<%= table_name %>, :index) %>
|
|
25
|
-
<% end -%>
|
|
26
|
-
| <%%= link_to 'Back', <%= index_helper %>_path %>
|
|
27
|
-
<% if defined? ::Ixtlan::Guard -%>
|
|
28
|
-
<%% end %>
|
|
29
|
-
<% end -%>
|
|
30
|
-
<% end -%>
|
|
@@ -1,129 +0,0 @@
|
|
|
1
|
-
class <%= controller_class_name %>Controller < ApplicationController
|
|
2
|
-
# GET <%= route_url %>
|
|
3
|
-
# GET <%= route_url %>.xml
|
|
4
|
-
# GET <%= route_url %>.json
|
|
5
|
-
def index
|
|
6
|
-
@<%= plural_table_name %> = <%= orm_class.all(class_name) %>
|
|
7
|
-
|
|
8
|
-
respond_to do |format|
|
|
9
|
-
format.html # index.html.erb
|
|
10
|
-
format.xml { render :xml => @<%= plural_table_name %> }
|
|
11
|
-
format.json { render :json => @<%= plural_table_name %> }
|
|
12
|
-
end
|
|
13
|
-
end
|
|
14
|
-
|
|
15
|
-
# GET <%= route_url %>/1
|
|
16
|
-
# GET <%= route_url %>/1.xml
|
|
17
|
-
# GET <%= route_url %>/1.json
|
|
18
|
-
def show
|
|
19
|
-
@<%= singular_table_name %> = <%= orm_class.find(class_name, "params[:id]") %>
|
|
20
|
-
|
|
21
|
-
respond_to do |format|
|
|
22
|
-
format.html # show.html.erb
|
|
23
|
-
format.xml { render :xml => @<%= singular_table_name %> }
|
|
24
|
-
format.json { render :json => @<%= singular_table_name %> }
|
|
25
|
-
end
|
|
26
|
-
end
|
|
27
|
-
|
|
28
|
-
# GET <%= route_url %>/new
|
|
29
|
-
def new
|
|
30
|
-
@<%= singular_table_name %> = <%= orm_class.build(class_name) %>
|
|
31
|
-
end
|
|
32
|
-
|
|
33
|
-
# GET <%= route_url %>/1/edit
|
|
34
|
-
def edit
|
|
35
|
-
@<%= singular_table_name %> = <%= orm_class.find(class_name, "params[:id]") %>
|
|
36
|
-
end
|
|
37
|
-
|
|
38
|
-
# POST <%= route_url %>
|
|
39
|
-
# POST <%= route_url %>.xml
|
|
40
|
-
# POST <%= route_url %>.json
|
|
41
|
-
def create
|
|
42
|
-
@<%= singular_table_name %> = <%= orm_class.build(class_name, "params[:#{singular_table_name}]") %>
|
|
43
|
-
<% if options[:modified_by] -%>
|
|
44
|
-
@<%= singular_table_name %>.current_user = current_user
|
|
45
|
-
<% end -%>
|
|
46
|
-
|
|
47
|
-
respond_to do |format|
|
|
48
|
-
if @<%= orm_instance.save %>
|
|
49
|
-
format.html { redirect_to(@<%= singular_table_name %>, :notice => '<%= human_name %> was successfully created.') }
|
|
50
|
-
format.xml { render :xml => @<%= singular_table_name %>, :status => :created, :location => @<%= singular_table_name %> }
|
|
51
|
-
format.json { render :json => @<%= singular_table_name %>, :status => :created, :location => @<%= singular_table_name %> }
|
|
52
|
-
else
|
|
53
|
-
format.html { render :action => "new" }
|
|
54
|
-
format.xml { render :xml => @<%= orm_instance.errors %>, :status => :unprocessable_entity }
|
|
55
|
-
format.json { render :json => @<%= orm_instance.errors %>, :status => :unprocessable_entity }
|
|
56
|
-
end
|
|
57
|
-
end
|
|
58
|
-
end
|
|
59
|
-
|
|
60
|
-
# PUT <%= route_url %>/1
|
|
61
|
-
# PUT <%= route_url %>/1.xml
|
|
62
|
-
# PUT <%= route_url %>/1.json
|
|
63
|
-
def update
|
|
64
|
-
<% if options[:optimistic] && options[:timestamps] -%>
|
|
65
|
-
@<%= singular_table_name %> = <%= orm_class.find(class_name, "(params[:#{singular_table_name}]||[]).delete(:updated_at), params[:id]").sub(/\.(get|find)/, '.optimistic_\1') %>
|
|
66
|
-
|
|
67
|
-
if @<%= singular_table_name %>.nil?
|
|
68
|
-
@<%= singular_table_name %> = <%= orm_class.find(class_name, "params[:id]") %>
|
|
69
|
-
respond_to do |format|
|
|
70
|
-
format.html { render :action => "edit" }
|
|
71
|
-
format.xml { render :xml => nil, :status => :conflict }
|
|
72
|
-
format.json { render :json => nil, :status => :conflict }
|
|
73
|
-
end
|
|
74
|
-
return
|
|
75
|
-
end
|
|
76
|
-
<% else -%>
|
|
77
|
-
@<%= singular_table_name %> = <%= orm_class.find(class_name, "params[:id]") %>
|
|
78
|
-
(params[:<%= singular_table_name %>]||[]).delete(:updated_at)
|
|
79
|
-
<% end -%>
|
|
80
|
-
(params[:<%= singular_table_name %>]||[]).delete(:id)
|
|
81
|
-
<% if options[:modified_by] -%>
|
|
82
|
-
@<%= singular_table_name %>.current_user = current_user
|
|
83
|
-
<% end -%>
|
|
84
|
-
|
|
85
|
-
respond_to do |format|
|
|
86
|
-
if @<%= orm_instance.update_attributes("params[:#{singular_table_name}]") %>
|
|
87
|
-
format.html { redirect_to(@<%= singular_table_name %>, :notice => '<%= human_name %> was successfully updated.') }
|
|
88
|
-
format.xml { render :xml => @<%= singular_table_name %> }
|
|
89
|
-
format.json { render :json => @<%= singular_table_name %> }
|
|
90
|
-
else
|
|
91
|
-
format.html { render :action => "edit" }
|
|
92
|
-
format.xml { render :xml => @<%= orm_instance.errors %>, :status => :unprocessable_entity }
|
|
93
|
-
format.json { render :json => @<%= orm_instance.errors %>, :status => :unprocessable_entity }
|
|
94
|
-
end
|
|
95
|
-
end
|
|
96
|
-
end
|
|
97
|
-
|
|
98
|
-
# DELETE <%= route_url %>/1
|
|
99
|
-
# DELETE <%= route_url %>/1.xml
|
|
100
|
-
# DELETE <%= route_url %>/1.json
|
|
101
|
-
def destroy
|
|
102
|
-
<% if options[:optimistic] && options[:timestamps] -%>
|
|
103
|
-
@<%= singular_table_name %> = <%= orm_class.find(class_name, "(params[:#{singular_table_name}]||[]).delete(:updated_at), params[:id]").sub(/\.(get|find)/, '.optimistic_\1') %>
|
|
104
|
-
|
|
105
|
-
if @<%= singular_table_name %>.nil?
|
|
106
|
-
@<%= singular_table_name %> = <%= orm_class.find(class_name, "params[:id]") %>
|
|
107
|
-
respond_to do |format|
|
|
108
|
-
format.html { render :action => "edit" }
|
|
109
|
-
format.xml { render :xml => nil, :status => :conflict }
|
|
110
|
-
format.json { render :json => nil, :status => :conflict }
|
|
111
|
-
end
|
|
112
|
-
return
|
|
113
|
-
end
|
|
114
|
-
<% else -%>
|
|
115
|
-
@<%= singular_table_name %> = <%= orm_class.find(class_name, "params[:id]") %>
|
|
116
|
-
<% end -%>
|
|
117
|
-
<% if options[:modified_by] -%>
|
|
118
|
-
@<%= singular_table_name %>.current_user = current_user
|
|
119
|
-
<% end -%>
|
|
120
|
-
|
|
121
|
-
@<%= orm_instance.destroy %>
|
|
122
|
-
|
|
123
|
-
respond_to do |format|
|
|
124
|
-
format.html { redirect_to(<%= index_helper %>_url) }
|
|
125
|
-
format.xml { head :ok }
|
|
126
|
-
format.json { head :ok }
|
|
127
|
-
end
|
|
128
|
-
end
|
|
129
|
-
end
|