lib/rabl/builder.rb in rabl-0.8.5 vs lib/rabl/builder.rb in rabl-0.8.6

- old
+ new

@@ -45,11 +45,11 @@ @options[:child].each do |settings| child(settings[:data], settings[:options], &settings[:block]) end if @options.has_key?(:child) # Glues @options[:glue].each do |settings| - glue(settings[:data], &settings[:block]) + glue(settings[:data], settings[:options], &settings[:block]) end if @options.has_key?(:glue) # Wrap result in root if options[:root_name].present? @_root_name = options[:root_name] @@ -106,11 +106,11 @@ @_result[name] = self.object_to_hash(object, engine_options, &block) end # Glues data from a child node to the json_output # glue(@user) { attribute :full_name => :user_full_name } - def glue(data, &block) - return false unless data.present? + def glue(data, options={}, &block) + return false unless data.present? && resolve_condition(options) object = data_object(data) glued_attributes = self.object_to_hash(object, :root => false, &block) @_result.merge!(glued_attributes) if glued_attributes end