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 - coolo@suse.com + +- 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 = ['david@37signals.com', 'pavel@pravosud.com'] 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