jbuilder 2.2.2 → 2.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 9f0f1117607f1ce588b332bf20b2632688b59402
4
- data.tar.gz: d46da468729687703e46e268464f56f2f93566d4
3
+ metadata.gz: 2d59129031b5d4863366f26212729fe78079237e
4
+ data.tar.gz: 9d77187b141e1f62c7393c3c721ad4fc54759026
5
5
  SHA512:
6
- metadata.gz: 6bddcfa86d3e8d8129dc23916b2521397737b111ead9249900e82f216e7d50a5f77b1f3babfdb489d58744813c5ed8d7623144be10596f5752ea0a6953a1c336
7
- data.tar.gz: 0dc6deeefefa9327a4ecff277ccd254f5ba4df32dd027eb0f8bad0b5f79492a4bf9eb6ed827f40df5a84dcf7f6cb5a3a2e5f0f58fbe64267d423f8f9d5300087
6
+ metadata.gz: 0bab7d7b62fcd543458780a892a94752a5fe1f2f34d163cefd9a0b69cea277ce00b602b2854ad5f6175b164e42400c68bf746000b5a39928c3aae63ea25ab306
7
+ data.tar.gz: ea31d042bb585dbbfdaac96feb13ee78cc7b66d169bef2802e9d2dbad168f8021c38bcf4a02d5793b36ad6ebc1dff6e6668da5a84a61c6e33e0ab848408fd647
@@ -1,5 +1,10 @@
1
1
  # Changelog
2
2
 
3
+ 2.2.3
4
+ -----
5
+ * [Move template handler registration into railtie](https://github.com/rails/jbuilder/commit/c8acc5cea6da2a79b7b345adc301cb5ff2517647)
6
+ * [Do not capture the block where it is possible](https://github.com/rails/jbuilder/commit/973b382c3924cb59fc0e4e25266b18e74d41d646)
7
+
3
8
  2.2.2
4
9
  -----
5
10
  * [Fix `Jbuilder#merge!` inside block](https://github.com/rails/jbuilder/commit/a7b328552eb0d36315f75bff813bea7eecf8c1d7)
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = 'jbuilder'
3
- s.version = '2.2.2'
3
+ s.version = '2.2.3'
4
4
  s.authors = ['David Heinemeier Hansson', 'Pavel Pravosud']
5
5
  s.email = ['david@37signals.com', 'pavel@pravosud.com']
6
6
  s.summary = 'Create JSON structures via a Builder-style DSL'
@@ -7,13 +7,13 @@ class Jbuilder
7
7
  @@key_formatter = KeyFormatter.new
8
8
  @@ignore_nil = false
9
9
 
10
- def initialize(options = {}, &block)
10
+ def initialize(options = {})
11
11
  @attributes = {}
12
12
 
13
13
  @key_formatter = options.fetch(:key_formatter){ @@key_formatter.clone }
14
14
  @ignore_nil = options.fetch(:ignore_nil, @@ignore_nil)
15
15
 
16
- yield self if block
16
+ yield self if ::Kernel.block_given?
17
17
  end
18
18
 
19
19
  # Yields a builder and automatically turns the result into a JSON string
@@ -252,7 +252,7 @@ class Jbuilder
252
252
  attributes.each{ |key| _set_value key, object.public_send(key) }
253
253
  end
254
254
 
255
- def _merge_block(key, &block)
255
+ def _merge_block(key)
256
256
  current_value = _blank? ? BLANK : @attributes.fetch(_key(key), BLANK)
257
257
  raise NullError.build(key) if current_value.nil?
258
258
  new_value = _scope{ yield self }
@@ -314,6 +314,5 @@ class Jbuilder
314
314
  end
315
315
  end
316
316
 
317
- require 'jbuilder/jbuilder_template' if defined?(ActionView::Template)
318
317
  require 'jbuilder/dependency_tracker'
319
- require 'jbuilder/railtie' if defined?(Rails::VERSION::MAJOR) && Rails::VERSION::MAJOR == 4
318
+ require 'jbuilder/railtie' if defined?(Rails)
@@ -30,7 +30,7 @@ class JbuilderTemplate < Jbuilder
30
30
  _render_partial_with_options options
31
31
  end
32
32
 
33
- def array!(collection = [], *attributes, &block)
33
+ def array!(collection = [], *attributes)
34
34
  options = attributes.extract_options!
35
35
 
36
36
  if options.key?(:partial)
@@ -48,7 +48,7 @@ class JbuilderTemplate < Jbuilder
48
48
  # json.cache! ['v1', @person], expires_in: 10.minutes do
49
49
  # json.extract! @person, :name, :age
50
50
  # end
51
- def cache!(key=nil, options={}, &block)
51
+ def cache!(key=nil, options={})
52
52
  if @context.controller.perform_caching
53
53
  value = ::Rails.cache.fetch(_cache_key(key, options), options) do
54
54
  _scope { yield self }
@@ -137,5 +137,3 @@ class JbuilderHandler
137
137
  json.target! unless (__already_defined && __already_defined != "method")}
138
138
  end
139
139
  end
140
-
141
- ActionView::Template.register_template_handler :jbuilder, JbuilderHandler
@@ -1,11 +1,20 @@
1
1
  require 'rails/railtie'
2
+ require 'jbuilder/jbuilder_template'
2
3
 
3
4
  class Jbuilder
4
5
  class Railtie < ::Rails::Railtie
5
- generators do |app|
6
- Rails::Generators.configure! app.config.generators
7
- Rails::Generators.hidden_namespaces.uniq!
8
- require 'generators/rails/scaffold_controller_generator'
6
+ initializer :jbuilder do |app|
7
+ ActiveSupport.on_load :action_view do
8
+ ActionView::Template.register_template_handler :jbuilder, JbuilderHandler
9
+ end
10
+ end
11
+
12
+ if Rails::VERSION::MAJOR == 4
13
+ generators do |app|
14
+ Rails::Generators.configure! app.config.generators
15
+ Rails::Generators.hidden_namespaces.uniq!
16
+ require 'generators/rails/scaffold_controller_generator'
17
+ end
9
18
  end
10
19
  end
11
- end
20
+ end
@@ -5,7 +5,6 @@ require 'action_view/testing/resolvers'
5
5
  require 'active_support/cache'
6
6
  require 'jbuilder/jbuilder_template'
7
7
 
8
-
9
8
  BLOG_POST_PARTIAL = <<-JBUILDER
10
9
  json.extract! blog_post, :id, :body
11
10
  json.author do
@@ -25,6 +24,8 @@ blog_authors = [ 'David Heinemeier Hansson', 'Pavel Pravosud' ].cycle
25
24
  BLOG_POST_COLLECTION = 10.times.map{ |i| BlogPost.new(i+1, "post body #{i+1}", blog_authors.next) }
26
25
  COLLECTION_COLLECTION = 5.times.map{ |i| Collection.new(i+1, "collection #{i+1}") }
27
26
 
27
+ ActionView::Template.register_template_handler :jbuilder, JbuilderHandler
28
+
28
29
  module Rails
29
30
  def self.cache
30
31
  @cache ||= ActiveSupport::Cache::MemoryStore.new
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jbuilder
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.2.2
4
+ version: 2.2.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Heinemeier Hansson
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2014-10-08 00:00:00.000000000 Z
12
+ date: 2014-10-18 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: activesupport
@@ -105,7 +105,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
105
105
  version: '0'
106
106
  requirements: []
107
107
  rubyforge_project:
108
- rubygems_version: 2.4.1
108
+ rubygems_version: 2.2.2
109
109
  signing_key:
110
110
  specification_version: 4
111
111
  summary: Create JSON structures via a Builder-style DSL