Hello community,

here is the log from the commit of package rubygem-jbuilder for 
openSUSE:Factory checked in at 2015-04-12 00:10:52
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/rubygem-jbuilder (Old)
 and      /work/SRC/openSUSE:Factory/.rubygem-jbuilder.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "rubygem-jbuilder"

Changes:
--------
--- /work/SRC/openSUSE:Factory/rubygem-jbuilder/rubygem-jbuilder.changes        
2015-03-23 12:18:21.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.rubygem-jbuilder.new/rubygem-jbuilder.changes   
2015-04-12 00:10:58.000000000 +0200
@@ -1,0 +2,6 @@
+Sat Apr 11 06:02:26 UTC 2015 - [email protected]
+
+- updated to version 2.2.13
+  * Several peformance optimizations: 
[#260](https://github.com/rails/jbuilder/pull/260) & [#261]
+
+-------------------------------------------------------------------

Old:
----
  jbuilder-2.2.12.gem

New:
----
  jbuilder-2.2.13.gem

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ rubygem-jbuilder.spec ++++++
--- /var/tmp/diff_new_pack.cMoPDK/_old  2015-04-12 00:11:00.000000000 +0200
+++ /var/tmp/diff_new_pack.cMoPDK/_new  2015-04-12 00:11:00.000000000 +0200
@@ -24,7 +24,7 @@
 #
 
 Name:           rubygem-jbuilder
-Version:        2.2.12
+Version:        2.2.13
 Release:        0
 %define mod_name jbuilder
 %define mod_full_name %{mod_name}-%{version}

++++++ jbuilder-2.2.12.gem -> jbuilder-2.2.13.gem ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/CHANGELOG.md new/CHANGELOG.md
--- old/CHANGELOG.md    2015-03-20 05:23:14.000000000 +0100
+++ new/CHANGELOG.md    2015-04-10 20:33:37.000000000 +0200
@@ -1,5 +1,10 @@
 # Changelog
 
+2.2.13
+------
+
+* Several peformance optimizations: 
[#260](https://github.com/rails/jbuilder/pull/260) & 
[#261](https://github.com/rails/jbuilder/pull/261)
+
 2.2.12
 ------
 
Files old/checksums.yaml.gz and new/checksums.yaml.gz differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/jbuilder.gemspec new/jbuilder.gemspec
--- old/jbuilder.gemspec        2015-03-20 05:23:14.000000000 +0100
+++ new/jbuilder.gemspec        2015-04-10 20:33:37.000000000 +0200
@@ -1,6 +1,6 @@
 Gem::Specification.new do |s|
   s.name     = 'jbuilder'
-  s.version  = '2.2.12'
+  s.version  = '2.2.13'
   s.authors  = ['David Heinemeier Hansson', 'Pavel Pravosud']
   s.email    = ['[email protected]', '[email protected]']
   s.summary  = 'Create JSON structures via a Builder-style DSL'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/jbuilder.rb new/lib/jbuilder.rb
--- old/lib/jbuilder.rb 2015-03-20 05:23:14.000000000 +0100
+++ new/lib/jbuilder.rb 2015-04-10 20:33:37.000000000 +0200
@@ -5,13 +5,13 @@
 require 'multi_json'
 
 class Jbuilder
-  @@key_formatter = KeyFormatter.new
+  @@key_formatter = nil
   @@ignore_nil    = false
 
   def initialize(options = {})
     @attributes = {}
 
-    @key_formatter = options.fetch(:key_formatter){ @@key_formatter.clone }
+    @key_formatter = options.fetch(:key_formatter){ @@key_formatter ? 
@@key_formatter.clone : nil}
     @ignore_nil = options.fetch(:ignore_nil, @@ignore_nil)
 
     yield self if ::Kernel.block_given?
@@ -207,9 +207,9 @@
   #   json.(@person, :name, :age)
   def extract!(object, *attributes)
     if ::Hash === object
-      _extract_hash_values(object, *attributes)
+      _extract_hash_values(object, attributes)
     else
-      _extract_method_values(object, *attributes)
+      _extract_method_values(object, attributes)
     end
   end
 
@@ -245,11 +245,11 @@
 
   private
 
-  def _extract_hash_values(object, *attributes)
+  def _extract_hash_values(object, attributes)
     attributes.each{ |key| _set_value key, object.fetch(key) }
   end
 
-  def _extract_method_values(object, *attributes)
+  def _extract_method_values(object, attributes)
     attributes.each{ |key| _set_value key, object.public_send(key) }
   end
 
@@ -275,7 +275,7 @@
   end
 
   def _key(key)
-    @key_formatter.format(key)
+    @key_formatter ? @key_formatter.format(key) : key.to_s
   end
 
   def _set_value(key, value)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/metadata new/metadata
--- old/metadata        2015-03-20 05:23:14.000000000 +0100
+++ new/metadata        2015-04-10 20:33:37.000000000 +0200
@@ -1,7 +1,7 @@
 --- !ruby/object:Gem::Specification
 name: jbuilder
 version: !ruby/object:Gem::Version
-  version: 2.2.12
+  version: 2.2.13
 platform: ruby
 authors:
 - David Heinemeier Hansson
@@ -9,7 +9,7 @@
 autorequire: 
 bindir: bin
 cert_chain: []
-date: 2015-03-20 00:00:00.000000000 Z
+date: 2015-04-10 00:00:00.000000000 Z
 dependencies:
 - !ruby/object:Gem::Dependency
   name: activesupport
@@ -107,7 +107,7 @@
       version: '0'
 requirements: []
 rubyforge_project: 
-rubygems_version: 2.4.5
+rubygems_version: 2.4.6
 signing_key: 
 specification_version: 4
 summary: Create JSON structures via a Builder-style DSL
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/test/jbuilder_test.rb new/test/jbuilder_test.rb
--- old/test/jbuilder_test.rb   2015-03-20 05:23:14.000000000 +0100
+++ new/test/jbuilder_test.rb   2015-04-10 20:33:37.000000000 +0200
@@ -51,6 +51,10 @@
 
 
 class JbuilderTest < ActiveSupport::TestCase
+  setup do
+    Jbuilder.send :class_variable_set, '@@key_formatter', 
Jbuilder::KeyFormatter.new
+  end
+
   test 'single key' do
     result = jbuild do |json|
       json.content 'hello'
@@ -564,12 +568,12 @@
     Jbuilder.key_format camelize: :lower
     result = jbuild{ |json| json.camel_style 'for JS' }
     assert_equal ['camelStyle'], result.keys
-    Jbuilder.send :class_variable_set, '@@key_formatter', 
Jbuilder::KeyFormatter.new
   end
 
   test 'do not use default key formatter directly' do
     jbuild{ |json| json.key 'value' }
-    cache = Jbuilder.send(:class_variable_get, 
'@@key_formatter').instance_variable_get('@cache')
+    formatter = Jbuilder.send(:class_variable_get, '@@key_formatter')
+    cache = formatter.instance_variable_get('@cache')
     assert_empty cache
   end
 


Reply via email to