Hello community,
here is the log from the commit of package rubygem-responders for
openSUSE:Factory checked in at 2016-04-28 16:53:33
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/rubygem-responders (Old)
and /work/SRC/openSUSE:Factory/.rubygem-responders.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "rubygem-responders"
Changes:
--------
--- /work/SRC/openSUSE:Factory/rubygem-responders/rubygem-responders.changes
2015-02-16 21:13:40.000000000 +0100
+++
/work/SRC/openSUSE:Factory/.rubygem-responders.new/rubygem-responders.changes
2016-04-28 16:56:39.000000000 +0200
@@ -1,0 +2,21 @@
+Tue Mar 22 05:33:48 UTC 2016 - [email protected]
+
+- updated to version 2.1.2
+ see installed CHANGELOG.md
+
+ ## 2.1.2
+
+ * Fix rendering when using `ActionController::API`. (by @eLod)
+ * Added API controller template for the controller generator. (by @vestimir)
+
+-------------------------------------------------------------------
+Sun Dec 20 05:36:45 UTC 2015 - [email protected]
+
+- updated to version 2.1.1
+ see installed CHANGELOG.md
+
+ ## 2.1.1
+
+ * Added support for Rails 5.
+
+-------------------------------------------------------------------
Old:
----
responders-2.1.0.gem
New:
----
responders-2.1.2.gem
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ rubygem-responders.spec ++++++
--- /var/tmp/diff_new_pack.JhB79k/_old 2016-04-28 16:56:40.000000000 +0200
+++ /var/tmp/diff_new_pack.JhB79k/_new 2016-04-28 16:56:40.000000000 +0200
@@ -1,7 +1,7 @@
#
# spec file for package rubygem-responders
#
-# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -24,7 +24,7 @@
#
Name: rubygem-responders
-Version: 2.1.0
+Version: 2.1.2
Release: 0
%define mod_name responders
%define mod_full_name %{mod_name}-%{version}
++++++ responders-2.1.0.gem -> responders-2.1.2.gem ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/CHANGELOG.md new/CHANGELOG.md
--- old/CHANGELOG.md 2015-01-27 10:28:18.000000000 +0100
+++ new/CHANGELOG.md 2016-03-21 15:20:44.000000000 +0100
@@ -1,3 +1,12 @@
+## 2.1.2
+
+* Fix rendering when using `ActionController::API`. (by @eLod)
+* Added API controller template for the controller generator. (by @vestimir)
+
+## 2.1.1
+
+* Added support for Rails 5.
+
## 2.1.0
* No longer automatically set the responders generator as many projects may
use this gem as a dependency. When upgrading, users will need to add
`config.app_generators.scaffold_controller :responders_controller` to their
application. The `responders:install` generator has been updated to
automatically insert it in new applications
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/MIT-LICENSE new/MIT-LICENSE
--- old/MIT-LICENSE 2015-01-27 10:28:18.000000000 +0100
+++ new/MIT-LICENSE 2016-03-21 15:20:44.000000000 +0100
@@ -1,4 +1,4 @@
-Copyright 2009-2014 Plataforma Tecnologia. http://blog.plataformatec.com.br
+Copyright 2009-2016 Plataformatec. http://plataformatec.com.br
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/README.md new/README.md
--- old/README.md 2015-01-27 10:28:18.000000000 +0100
+++ new/README.md 2016-03-21 15:20:44.000000000 +0100
@@ -1,8 +1,8 @@
# Responders
-[](http://badge.fury.io/rb/responders)
-[](http://travis-ci.org/plataformatec/responders)
-[](https://codeclimate.com/github/plataformatec/responders)
+[](http://badge.fury.io/rb/responders)
+[](http://travis-ci.org/plataformatec/responders)
+[](https://codeclimate.com/github/plataformatec/responders)
A set of responders modules to dry up your Rails 4.2+ app.
@@ -17,6 +17,10 @@
$ bundle install
$ rails g responders:install
+If you are including this gem to support backwards compatibilty for responders
in previous releases of Rails, you only need to include the gem and bundle.
+
+ $ bundle install
+
## Responders Types
### FlashResponder
@@ -101,6 +105,22 @@
end
```
+**Dealing with namespaced routes**
+
+In order for the LocationResponder to find the correct route helper for
namespaced routes you need to pass the namespaces to `respond_with`:
+
+```ruby
+class Api::V1::ThingsController < ApplicationController
+ respond_to :json
+
+ # POST /api/v1/things
+ def create
+ @thing = Thing.create(thing_params)
+ respond_with :api, :v1, @thing
+ end
+end
+```
+
## Configuring your own responder
Responders only provides a set of modules and to use them you have to create
your own
@@ -109,7 +129,7 @@
```ruby
# lib/application_responder.rb
-class AppResponder < ActionController::Responder
+class ApplicationResponder < ActionController::Responder
include Responders::FlashResponder
include Responders::HttpCacheResponder
end
@@ -122,7 +142,7 @@
require "application_responder"
class ApplicationController < ActionController::Base
- self.responder = AppResponder
+ self.responder = ApplicationResponder
respond_to :html
end
```
@@ -168,13 +188,41 @@
config.app_generators.scaffold_controller :responders_controller
+#Failure handling
+
+Responders don't use `valid?` to check for errors in models to figure out if
+the request was successfull or not, and relies on your controllers to call
+`save` or `create` to trigger the validations.
+
+```ruby
+def create
+ @widget = Widget.new(widget_params)
+ # @widget will be a valid record for responders, as we haven't called `save`
+ # on it, and will always redirect to the `widgets_path`.
+ respond_with @widget, location: -> { widgets_path }
+end
+```
+
+Responders will check if the `errors` object in your model is empty or not.
Take
+this in consideration when implementing different actions or writing test
+assertions on this behavior for your controllers.
+
+```ruby
+def create
+ @widget = Widget.new(widget_params)
+ @widget.errors.add(:base, :invalid)
+ # `respond_with` will render the `new` template again.
+ respond_with @widget
+end
+```
+
## Examples
Want more examples ? Check out this blog posts:
* [Embracing REST with mind, body and
soul](http://blog.plataformatec.com.br/2009/08/embracing-rest-with-mind-body-and-soul/)
* [Three reasons to love
ActionController::Responder](http://weblog.rubyonrails.org/2009/8/31/three-reasons-love-responder/)
-* [My five favorite things about Rails
3](http://www.engineyard.com/blog/2009/my-five-favorite-things-about-rails-3/)
+* [My five favorite things about Rails
3](http://www.engineyard.com/blog/2009/my-five-favorite-things-about-rails-3)
## Bugs and Feedback
@@ -182,4 +230,4 @@
http://github.com/plataformatec/responders/issues
-MIT License. Copyright 2009-2014 Plataforma Tecnologia.
http://blog.plataformatec.com.br
+MIT License. Copyright 2009-2016 Plataformatec. http://plataformatec.com.br
Files old/checksums.yaml.gz and new/checksums.yaml.gz differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/action_controller/respond_with.rb
new/lib/action_controller/respond_with.rb
--- old/lib/action_controller/respond_with.rb 2015-01-27 10:28:18.000000000
+0100
+++ new/lib/action_controller/respond_with.rb 2016-03-21 15:20:44.000000000
+0100
@@ -175,7 +175,9 @@
# Also, a hash passed to +respond_with+ immediately after the specified
# resource(s) is interpreted as a set of options relevant to all
# formats. Any option accepted by +render+ can be used, e.g.
+ #
# respond_with @people, status: 200
+ #
# However, note that these options are ignored after an unsuccessful
attempt
# to save a resource, e.g. when automatically rendering <tt>:new</tt>
# after a post request.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/action_controller/responder.rb
new/lib/action_controller/responder.rb
--- old/lib/action_controller/responder.rb 2015-01-27 10:28:18.000000000
+0100
+++ new/lib/action_controller/responder.rb 2016-03-21 15:20:44.000000000
+0100
@@ -182,10 +182,12 @@
# responds to :to_format and display it.
#
def to_format
- if get? || !has_errors? || response_overridden?
+ if !get? && has_errors? && !response_overridden?
+ display_errors
+ elsif has_view_rendering? || response_overridden?
default_render
else
- display_errors
+ api_behavior
end
rescue ActionView::MissingTemplate
api_behavior
@@ -233,7 +235,7 @@
if @default_response
@default_response.call(options)
else
- controller.default_render(options)
+ controller.render(options)
end
end
@@ -273,6 +275,10 @@
Renderers::RENDERERS.include?(format)
end
+ def has_view_rendering?
+ controller.class.include? ActionView::Rendering
+ end
+
# By default, render the <code>:edit</code> action for HTML requests with
errors, unless
# the verb was POST.
#
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/generators/rails/templates/api_controller.rb
new/lib/generators/rails/templates/api_controller.rb
--- old/lib/generators/rails/templates/api_controller.rb 1970-01-01
01:00:00.000000000 +0100
+++ new/lib/generators/rails/templates/api_controller.rb 2016-03-21
15:20:44.000000000 +0100
@@ -0,0 +1,51 @@
+<% if namespaced? -%>
+require_dependency "<%= namespaced_file_path %>/application_controller"
+
+<% end -%>
+<% module_namespacing do -%>
+class <%= controller_class_name %>Controller < ApplicationController
+ before_action :set_<%= singular_table_name %>, only: [:show, :update,
:destroy]
+
+ respond_to :json
+
+<% unless options[:singleton] -%>
+ def index
+ @<%= plural_table_name %> = <%= orm_class.all(class_name) %>
+ respond_with(@<%= plural_table_name %>)
+ end
+<% end -%>
+
+ def show
+ respond_with(@<%= singular_table_name %>)
+ end
+
+ def create
+ @<%= singular_table_name %> = <%= orm_class.build(class_name,
attributes_params) %>
+ <%= "flash[:notice] = '#{class_name} was successfully created.' if " if
flash? %>@<%= orm_instance.save %>
+ respond_with(@<%= singular_table_name %>)
+ end
+
+ def update
+ <%= "flash[:notice] = '#{class_name} was successfully updated.' if " if
flash? %>@<%= orm_instance.update(attributes_params) %>
+ respond_with(@<%= singular_table_name %>)
+ end
+
+ def destroy
+ @<%= orm_instance.destroy %>
+ respond_with(@<%= singular_table_name %>)
+ end
+
+ private
+ def set_<%= singular_table_name %>
+ @<%= singular_table_name %> = <%= orm_class.find(class_name,
"params[:id]") %>
+ end
+
+ def <%= "#{singular_table_name}_params" %>
+ <%- if attributes_names.empty? -%>
+ params[:<%= singular_table_name %>]
+ <%- else -%>
+ params.require(:<%= singular_table_name %>).permit(<%=
attributes_names.map { |name| ":#{name}" }.join(', ') %>)
+ <%- end -%>
+ end
+end
+<% end -%>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/responders/controller_method.rb
new/lib/responders/controller_method.rb
--- old/lib/responders/controller_method.rb 2015-01-27 10:28:18.000000000
+0100
+++ new/lib/responders/controller_method.rb 2016-03-21 15:20:44.000000000
+0100
@@ -34,4 +34,6 @@
end
end
-ActionController::Base.extend Responders::ControllerMethod
+ActiveSupport.on_load(:action_controller) do
+ ActionController::Base.extend Responders::ControllerMethod
+end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/responders/version.rb
new/lib/responders/version.rb
--- old/lib/responders/version.rb 2015-01-27 10:28:18.000000000 +0100
+++ new/lib/responders/version.rb 2016-03-21 15:20:44.000000000 +0100
@@ -1,3 +1,3 @@
module Responders
- VERSION = "2.1.0".freeze
+ VERSION = "2.1.2".freeze
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/metadata new/metadata
--- old/metadata 2015-01-27 10:28:18.000000000 +0100
+++ new/metadata 2016-03-21 15:20:44.000000000 +0100
@@ -1,14 +1,14 @@
--- !ruby/object:Gem::Specification
name: responders
version: !ruby/object:Gem::Version
- version: 2.1.0
+ version: 2.1.2
platform: ruby
authors:
- José Valim
autorequire:
bindir: bin
cert_chain: []
-date: 2015-01-27 00:00:00.000000000 Z
+date: 2016-03-21 00:00:00.000000000 Z
dependencies:
- !ruby/object:Gem::Dependency
name: railties
@@ -19,7 +19,7 @@
version: 4.2.0
- - "<"
- !ruby/object:Gem::Version
- version: '5'
+ version: '5.1'
type: :runtime
prerelease: false
version_requirements: !ruby/object:Gem::Requirement
@@ -29,7 +29,7 @@
version: 4.2.0
- - "<"
- !ruby/object:Gem::Version
- version: '5'
+ version: '5.1'
description: A set of Rails responders to dry up your application
email: [email protected]
executables: []
@@ -43,6 +43,7 @@
- lib/action_controller/responder.rb
- lib/generators/rails/USAGE
- lib/generators/rails/responders_controller_generator.rb
+- lib/generators/rails/templates/api_controller.rb
- lib/generators/rails/templates/controller.rb
- lib/generators/responders/install_generator.rb
- lib/responders.rb
@@ -73,7 +74,7 @@
version: '0'
requirements: []
rubyforge_project: responders
-rubygems_version: 2.2.2
+rubygems_version: 2.5.1
signing_key:
specification_version: 4
summary: A set of Rails responders to dry up your application