lib/tokamak/builder/json.rb in tokamak-1.1.1 vs lib/tokamak/builder/json.rb in tokamak-1.1.2

- old
+ new

@@ -1,18 +1,22 @@ -require "json/pure" - module Tokamak module Builder class Json < Tokamak::Builder::Base builder_for "application/json" attr_reader :raw def initialize(obj, options = {}) + initialize_library @raw = options[:root] ? { options[:root] => {} } : {} @current = options[:root] ? @raw[options[:root]] : @raw @obj = obj + end + + def initialize_library + return if defined?(::JSON) + require "json/pure" end def members(options = {}, &block) collection = options[:collection] || @obj raise Tokamak::BuilderError.new("Members method require a collection to execute") unless collection.respond_to?(:each)