jbuilder 2.2.2 → 2.2.3

Sign up to get free protection for your applications and to get access to all the features.
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