Sha256: d6f932434508e61c063e19222d77fa060ec69cb1f1047480abab54d29f383ff5

Contents?: true

Size: 499 Bytes

Versions: 4

Compression:

Stored size: 499 Bytes

Contents

# frozen_string_literal: true

require 'json'

module Leftovers
  module Precompilers
    module JSON
      class << self
        def precompile(json)
          "__leftovers_document(#{to_ruby_argument(::JSON.parse(json))})"
        end

        private

        def to_ruby_argument(value)
          ruby = value.inspect
          return ruby unless value.is_a?(::Array)

          ruby.delete_prefix!('[')
          ruby.delete_suffix!(']')

          ruby
        end
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
leftovers-0.12.2 lib/leftovers/precompilers/json.rb
leftovers-0.12.1 lib/leftovers/precompilers/json.rb
leftovers-0.12.0 lib/leftovers/precompilers/json.rb
leftovers-0.11.2 lib/leftovers/precompilers/json.rb