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]

Reply via email to