From 647b381f583d55d246942eb9a51b678e81c2a84d Mon Sep 17 00:00:00 2001 From: Diego Carrion Date: Mon, 31 Aug 2009 20:00:24 -0300 Subject: [PATCH] added a default generator for active model to be used in scaffolds, so libraries that implement active model dont worry about how the controller calls the model --- railties/lib/generators/active_model.rb | 18 +++++++++++------- railties/lib/generators/resource_helpers.rb | 8 +++----- 2 files changed, 14 insertions(+), 12 deletions(-) diff --git a/railties/lib/generators/active_model.rb b/railties/lib/generators/active_model.rb index 1a849a0..7639740 100644 --- a/railties/lib/generators/active_model.rb +++ b/railties/lib/generators/active_model.rb @@ -32,7 +32,7 @@ module Rails # GET index def self.all(klass) - raise NotImplementedError + "#{klass}.all" end # GET show @@ -40,34 +40,38 @@ module Rails # PUT update # DELETE destroy def self.find(klass, params=nil) - raise NotImplementedError + "#{klass}.find(#{params})" end # GET new # POST create def self.build(klass, params=nil) - raise NotImplementedError + if params + "#{klass}.new(#{params})" + else + "#{klass}.new" + end end # POST create def save - raise NotImplementedError + "#{name}.save" end # PUT update def update_attributes(params=nil) - raise NotImplementedError + "#{name}.update(#{params})" end # POST create # PUT update def errors - raise NotImplementedError + "#{name}.errors" end # DELETE destroy def destroy - raise NotImplementedError + "#{name}.destroy" end end end diff --git a/railties/lib/generators/resource_helpers.rb b/railties/lib/generators/resource_helpers.rb index ba14446..978c9c4 100644 --- a/railties/lib/generators/resource_helpers.rb +++ b/railties/lib/generators/resource_helpers.rb @@ -55,12 +55,10 @@ module Rails klass = active_model.constantize rescue NameError require "generators/#{options[:orm]}" - end - # Try once again after loading the file with success. - klass ||= active_model.constantize - rescue Exception => e - raise Error, "Could not load #{active_model}, skipping controller. Error: #{e.message}." + # Try once again after loading the file with success or use the default generator. + klass = active_model.constantize rescue Rails::Generators::ActiveModel + end end end -- 1.6.0.4