Hello community,
here is the log from the commit of package rubygem-activejob-4_2 for
openSUSE:Factory checked in at 2015-03-25 21:04:50
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/rubygem-activejob-4_2 (Old)
and /work/SRC/openSUSE:Factory/.rubygem-activejob-4_2.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "rubygem-activejob-4_2"
Changes:
--------
---
/work/SRC/openSUSE:Factory/rubygem-activejob-4_2/rubygem-activejob-4_2.changes
2015-02-16 21:09:01.000000000 +0100
+++
/work/SRC/openSUSE:Factory/.rubygem-activejob-4_2.new/rubygem-activejob-4_2.changes
2015-03-25 21:04:51.000000000 +0100
@@ -1,0 +2,7 @@
+Sun Mar 22 09:55:24 UTC 2015 - [email protected]
+
+- updated to version 4.2.1
+ Allow keyword arguments to be used with Active Job.
+ Fixes #18741.
+
+-------------------------------------------------------------------
Old:
----
activejob-4.2.0.gem
New:
----
activejob-4.2.1.gem
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ rubygem-activejob-4_2.spec ++++++
--- /var/tmp/diff_new_pack.F1G00Q/_old 2015-03-25 21:04:51.000000000 +0100
+++ /var/tmp/diff_new_pack.F1G00Q/_new 2015-03-25 21:04:51.000000000 +0100
@@ -24,7 +24,7 @@
#
Name: rubygem-activejob-4_2
-Version: 4.2.0
+Version: 4.2.1
Release: 0
%define mod_name activejob
%define mod_full_name %{mod_name}-%{version}
@@ -37,17 +37,16 @@
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: %{ruby >= 1.9.3}
BuildRequires: %{rubygem gem2rpm}
-BuildRequires: %{rubygem rdoc > 3.10}
BuildRequires: ruby-macros >= 5
Url: http://www.rubyonrails.org
Source: http://rubygems.org/gems/%{mod_full_name}.gem
Source1: gem2rpm.yml
-Summary: Job handling framework (part of Rails)
+Summary: Job framework with pluggable queues
License: MIT
Group: Development/Languages/Ruby
%description
-Declare job classes that can be run by a variety of queueing backends
+Declare job classes that can be run by a variety of queueing backends.
%prep
++++++ activejob-4.2.0.gem -> activejob-4.2.1.gem ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/CHANGELOG.md new/CHANGELOG.md
--- old/CHANGELOG.md 2014-12-20 01:14:37.000000000 +0100
+++ new/CHANGELOG.md 2015-03-19 17:41:22.000000000 +0100
@@ -1 +1,12 @@
-* Started project.
\ No newline at end of file
+## Rails 4.2.1 (March 19, 2014) ##
+
+* Allow keyword arguments to be used with Active Job.
+
+ Fixes #18741.
+
+ *Sean Griffin*
+
+
+## Rails 4.2.0 (December 20, 2014) ##
+
+* Started project.
Files old/checksums.yaml.gz and new/checksums.yaml.gz differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/active_job/arguments.rb
new/lib/active_job/arguments.rb
--- old/lib/active_job/arguments.rb 2014-12-20 01:14:37.000000000 +0100
+++ new/lib/active_job/arguments.rb 2015-03-19 17:41:22.000000000 +0100
@@ -1,3 +1,5 @@
+require 'active_support/core_ext/hash'
+
module ActiveJob
# Raised when an exception is raised during job arguments deserialization.
#
@@ -42,7 +44,9 @@
private
GLOBALID_KEY = '_aj_globalid'.freeze
- private_constant :GLOBALID_KEY
+ SYMBOL_KEYS_KEY = '_aj_symbol_keys'.freeze
+ WITH_INDIFFERENT_ACCESS_KEY = '_aj_hash_with_indifferent_access'.freeze
+ private_constant :GLOBALID_KEY, :SYMBOL_KEYS_KEY,
:WITH_INDIFFERENT_ACCESS_KEY
def serialize_argument(argument)
case argument
@@ -52,10 +56,15 @@
{ GLOBALID_KEY => argument.to_global_id.to_s }
when Array
argument.map { |arg| serialize_argument(arg) }
+ when ActiveSupport::HashWithIndifferentAccess
+ result = serialize_hash(argument)
+ result[WITH_INDIFFERENT_ACCESS_KEY] = serialize_argument(true)
+ result
when Hash
- argument.each_with_object({}) do |(key, value), hash|
- hash[serialize_hash_key(key)] = serialize_argument(value)
- end
+ symbol_keys = argument.each_key.grep(Symbol).map(&:to_s)
+ result = serialize_hash(argument)
+ result[SYMBOL_KEYS_KEY] = symbol_keys
+ result
else
raise SerializationError.new("Unsupported argument type:
#{argument.class.name}")
end
@@ -73,7 +82,7 @@
if serialized_global_id?(argument)
deserialize_global_id argument
else
- deserialize_hash argument
+ deserialize_hash(argument)
end
else
raise ArgumentError, "Can only deserialize primitive arguments:
#{argument.inspect}"
@@ -88,13 +97,27 @@
GlobalID::Locator.locate hash[GLOBALID_KEY]
end
+ def serialize_hash(argument)
+ argument.each_with_object({}) do |(key, value), hash|
+ hash[serialize_hash_key(key)] = serialize_argument(value)
+ end
+ end
+
def deserialize_hash(serialized_hash)
- serialized_hash.each_with_object({}.with_indifferent_access) do |(key,
value), hash|
- hash[key] = deserialize_argument(value)
+ result = serialized_hash.transform_values { |v|
deserialize_argument(v) }
+ if result.delete(WITH_INDIFFERENT_ACCESS_KEY)
+ result = result.with_indifferent_access
+ elsif symbol_keys = result.delete(SYMBOL_KEYS_KEY)
+ result = transform_symbol_keys(result, symbol_keys)
end
+ result
end
- RESERVED_KEYS = [GLOBALID_KEY, GLOBALID_KEY.to_sym]
+ RESERVED_KEYS = [
+ GLOBALID_KEY, GLOBALID_KEY.to_sym,
+ SYMBOL_KEYS_KEY, SYMBOL_KEYS_KEY.to_sym,
+ WITH_INDIFFERENT_ACCESS_KEY, WITH_INDIFFERENT_ACCESS_KEY.to_sym,
+ ]
private_constant :RESERVED_KEYS
def serialize_hash_key(key)
@@ -107,5 +130,15 @@
raise SerializationError.new("Only string and symbol hash keys may
be serialized as job arguments, but #{key.inspect} is a #{key.class}")
end
end
+
+ def transform_symbol_keys(hash, symbol_keys)
+ hash.transform_keys do |key|
+ if symbol_keys.include?(key)
+ key.to_sym
+ else
+ key
+ end
+ end
+ end
end
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/active_job/gem_version.rb
new/lib/active_job/gem_version.rb
--- old/lib/active_job/gem_version.rb 2014-12-20 01:14:37.000000000 +0100
+++ new/lib/active_job/gem_version.rb 2015-03-19 17:41:22.000000000 +0100
@@ -7,7 +7,7 @@
module VERSION
MAJOR = 4
MINOR = 2
- TINY = 0
+ TINY = 1
PRE = nil
STRING = [MAJOR, MINOR, TINY, PRE].compact.join(".")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/active_job/queue_adapter.rb
new/lib/active_job/queue_adapter.rb
--- old/lib/active_job/queue_adapter.rb 2014-12-20 01:14:37.000000000 +0100
+++ new/lib/active_job/queue_adapter.rb 2015-03-19 17:41:22.000000000 +0100
@@ -2,7 +2,7 @@
require 'active_support/core_ext/string/inflections'
module ActiveJob
- # The <tt>ActionJob::QueueAdapter</tt> module is used to load the
+ # The <tt>ActionJob::QueueAdapter</tt> module is used to load the
# correct adapter. The default queue adapter is the :inline queue.
module QueueAdapter #:nodoc:
extend ActiveSupport::Concern
@@ -21,8 +21,8 @@
ActiveJob::QueueAdapters::TestAdapter.new
when Symbol, String
load_adapter(name_or_adapter)
- when Class
- name_or_adapter
+ else
+ name_or_adapter if name_or_adapter.respond_to?(:enqueue)
end
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/active_job/queue_adapters/inline_adapter.rb
new/lib/active_job/queue_adapters/inline_adapter.rb
--- old/lib/active_job/queue_adapters/inline_adapter.rb 2014-12-20
01:14:37.000000000 +0100
+++ new/lib/active_job/queue_adapters/inline_adapter.rb 2015-03-19
17:41:22.000000000 +0100
@@ -15,7 +15,7 @@
end
def enqueue_at(*) #:nodoc:
- raise NotImplementedError.new("Use a queueing backend to enqueue
jobs in the future. Read more at
http://guides.rubyonrails.org/v4.2.0/active_job_basics.html")
+ raise NotImplementedError.new("Use a queueing backend to enqueue
jobs in the future. Read more at
http://guides.rubyonrails.org/active_job_basics.html")
end
end
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/active_job/queue_adapters/test_adapter.rb
new/lib/active_job/queue_adapters/test_adapter.rb
--- old/lib/active_job/queue_adapters/test_adapter.rb 2014-12-20
01:14:37.000000000 +0100
+++ new/lib/active_job/queue_adapters/test_adapter.rb 2015-03-19
17:41:22.000000000 +0100
@@ -14,6 +14,11 @@
attr_accessor(:perform_enqueued_jobs, :perform_enqueued_at_jobs)
attr_writer(:enqueued_jobs, :performed_jobs)
+ def initialize
+ self.perform_enqueued_jobs = false
+ self.perform_enqueued_at_jobs = false
+ end
+
# Provides a store of all the enqueued jobs with the TestAdapter so you
can check them.
def enqueued_jobs
@enqueued_jobs ||= []
@@ -26,19 +31,19 @@
def enqueue(job) #:nodoc:
if perform_enqueued_jobs
- performed_jobs << {job: job.class, args: job.arguments, queue:
job.queue_name}
- job.perform_now
+ performed_jobs << {job: job.class, args: job.serialize['arguments'],
queue: job.queue_name}
+ Base.execute job.serialize
else
- enqueued_jobs << {job: job.class, args: job.arguments, queue:
job.queue_name}
+ enqueued_jobs << {job: job.class, args: job.serialize['arguments'],
queue: job.queue_name}
end
end
def enqueue_at(job, timestamp) #:nodoc:
if perform_enqueued_at_jobs
- performed_jobs << {job: job.class, args: job.arguments, queue:
job.queue_name, at: timestamp}
- job.perform_now
+ performed_jobs << {job: job.class, args: job.serialize['arguments'],
queue: job.queue_name, at: timestamp}
+ Base.execute job.serialize
else
- enqueued_jobs << {job: job.class, args: job.arguments, queue:
job.queue_name, at: timestamp}
+ enqueued_jobs << {job: job.class, args: job.serialize['arguments'],
queue: job.queue_name, at: timestamp}
end
end
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/active_job/test_helper.rb
new/lib/active_job/test_helper.rb
--- old/lib/active_job/test_helper.rb 2014-12-20 01:14:37.000000000 +0100
+++ new/lib/active_job/test_helper.rb 2015-03-19 17:41:22.000000000 +0100
@@ -1,3 +1,5 @@
+require 'active_support/core_ext/hash/keys'
+
module ActiveJob
# Provides helper methods for testing Active Job
module TestHelper
@@ -157,9 +159,10 @@
original_enqueued_jobs = enqueued_jobs.dup
clear_enqueued_jobs
args.assert_valid_keys(:job, :args, :at, :queue)
+ serialized_args = serialize_args_for_assertion(args)
yield
matching_job = enqueued_jobs.any? do |job|
- args.all? { |key, value| value == job[key] }
+ serialized_args.all? { |key, value| value == job[key] }
end
assert matching_job, "No enqueued job found with #{args}"
ensure
@@ -177,9 +180,10 @@
original_performed_jobs = performed_jobs.dup
clear_performed_jobs
args.assert_valid_keys(:job, :args, :at, :queue)
+ serialized_args = serialize_args_for_assertion(args)
perform_enqueued_jobs { yield }
matching_job = performed_jobs.any? do |job|
- args.all? { |key, value| value == job[key] }
+ serialized_args.all? { |key, value| value == job[key] }
end
assert matching_job, "No performed job found with #{args}"
ensure
@@ -213,6 +217,14 @@
def clear_performed_jobs
performed_jobs.clear
end
+
+ def serialize_args_for_assertion(args)
+ serialized_args = args.dup
+ if job_args = serialized_args.delete(:args)
+ serialized_args[:args] = ActiveJob::Arguments.serialize(job_args)
+ end
+ serialized_args
+ end
end
end
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/metadata new/metadata
--- old/metadata 2014-12-20 01:14:37.000000000 +0100
+++ new/metadata 2015-03-19 17:41:22.000000000 +0100
@@ -1,14 +1,14 @@
--- !ruby/object:Gem::Specification
name: activejob
version: !ruby/object:Gem::Version
- version: 4.2.0
+ version: 4.2.1
platform: ruby
authors:
- David Heinemeier Hansson
autorequire:
bindir: bin
cert_chain: []
-date: 2014-12-20 00:00:00.000000000 Z
+date: 2015-03-19 00:00:00.000000000 Z
dependencies:
- !ruby/object:Gem::Dependency
name: activesupport
@@ -16,14 +16,14 @@
requirements:
- - '='
- !ruby/object:Gem::Version
- version: 4.2.0
+ version: 4.2.1
type: :runtime
prerelease: false
version_requirements: !ruby/object:Gem::Requirement
requirements:
- - '='
- !ruby/object:Gem::Version
- version: 4.2.0
+ version: 4.2.1
- !ruby/object:Gem::Dependency
name: globalid
requirement: !ruby/object:Gem::Requirement
@@ -97,7 +97,7 @@
version: '0'
requirements: []
rubyforge_project:
-rubygems_version: 2.2.2
+rubygems_version: 2.4.5
signing_key:
specification_version: 4
summary: Job framework with pluggable queues.
++++++ gem2rpm.yml ++++++
--- /var/tmp/diff_new_pack.F1G00Q/_old 2015-03-25 21:04:51.000000000 +0100
+++ /var/tmp/diff_new_pack.F1G00Q/_new 2015-03-25 21:04:51.000000000 +0100
@@ -1,76 +1,5 @@
-# ---
-# ## used by gem2rpm
-# :summary: this is a custom summary
-# ## used by gem2rpm
-# :description: |-
-# this is a custom description
-#
-# it can be multiline
-# ## used by gem2rpm
-# :license: MIT or Ruby
-# ## used by gem2rpm and gem_packages
-# :version_suffix: -x_y
-# ## used by gem2rpm and gem_packages
-# :disable_docs: true
-# ## used by gem2rpm
-# :disable_automatic_rdoc_dep: true
-# ## used by gem2rpm
-# :preamble: |-
-# BuildRequires: foobar
-# Requires: foobar
-# ## used by gem2rpm
-# :patches:
-# foo.patch: -p1
-# bar.patch:
-# ## used by gem2rpm
-# :sources:
-# - foo.desktop
-# - bar.desktop
-# :gem_install_args: '....'
-# ## used by gem2rpm
-# :pre_install: |-
-# %if 0%{?use_system_libev}
-# export USE_VENDORED_LIBEV="no"
-# %endif
-# ## used by gem2rpm
-# :post_install: |-
-# # delete custom files here or do other fancy stuff
-# install -D -m 0644 %{S:1} %{buildroot}%{_bindir}/gem2rpm-opensuse
-# ## used by gem2rpm
-# :testsuite_command: |-
-# (pushd %{buildroot}%{gem_base}/gems/%{mod_full_name} && rake test)
-# ## used by gem2rpm
-# :filelist: |-
-# /usr/bin/gem2rpm-opensuse
-# ## used by gem2rpm
-# :scripts:
-# :post: |-
-# /bin/echo foo
-# ## used by gem_packages
-# :main:
-# :preamble: |-
-# Requires: util-linux
-# Recommends: pwgen
-# :filelist: |-
-# /usr/bin/gem2rpm-opensuse
-# ## used by gem_packages
-# :custom:
-# apache:
-# :preamble: |-
-# Requires: .....
-# :filelist: |-
-# /etc/apache2/conf.d/passenger.conf
-# :summary: Custom summary is optional
-# :description: |-
-# Custom description is optional
-#
-# bar
-# :post: |-
-# /bin/echo foo
-#
---
:version_suffix: '-4_2'
-
:preamble: |-
%if 0%{?suse_version} == 1110
%define rb_build_versions ruby21
--
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]