Sha256: 93ded274cb774726f55c9e5db57a8ece1dc55b969c51a8e9278802743ace1e4e

Contents?: true

Size: 780 Bytes

Versions: 1

Compression:

Stored size: 780 Bytes

Contents

# see http://tinyurl.com/6ab5svl views in coucdb < 1.1.x does not allow require of modules therfor we need to use macors
module Soca
    module Plugins
        class Macro < Soca::Plugin

            name 'macro'

            def run(options = {})
                @pusher.document['views'].each do |view,code|
                 ['map','reduce'].each{|part| macro_expand_on(part,code) if code[part]}
                end
            end

            def macro_expand_on(part,code)
             code[part] = code[part].split("\n").inject(" ") do |res,line|
                if line =~ /\/\/ !code (.*)/
                 res += "\n#{File.read($1)}\n"
                else
                 res += "#{line}\n"
                end
              end
            end
        end
    end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
soca-0.2.0 lib/soca/plugins/macro.rb