Sha256: a668bbf33252f5e77e9a9c9818e37d3bf85e89b5764ebb25d8ff7b29c1433f33

Contents?: true

Size: 934 Bytes

Versions: 62

Compression:

Stored size: 934 Bytes

Contents

module Mandy
  module Mappers
    class Base < Mandy::Task
      include Mandy::IO::InputFormatting

      def self.compile(opts={}, &blk)
        Class.new(Mandy::Mappers::Base) do 
          self.class_eval do
            define_method(:mapper, blk) if blk
            define_method(:setup, opts[:setup]) if opts[:setup]
            define_method(:teardown, opts[:teardown]) if opts[:teardown]
          end
        end
      end
      
      def execute
        setup if self.respond_to?(:setup)
        @input.each_line do |line|
           key, value = line.split(KEY_VALUE_SEPERATOR, 2)
           key, value = nil, key if value.nil?
           value.chomp!
           args = [input_deserialize_key(key), input_deserialize_value(value)].compact
           mapper(*args)
        end
        teardown if self.respond_to?(:teardown)
      end

      private
    
      def mapper(key,value)
        #nil
      end
    end
  end
end

Version data entries

62 entries across 62 versions & 1 rubygems

Version Path
mandy-0.5.28 lib/mandy/mappers/base_mapper.rb
mandy-0.5.27 lib/mandy/mappers/base_mapper.rb
mandy-0.5.26 lib/mandy/mappers/base_mapper.rb
mandy-0.5.25 lib/mandy/mappers/base_mapper.rb
mandy-0.5.24 lib/mandy/mappers/base_mapper.rb
mandy-0.5.23 lib/mandy/mappers/base_mapper.rb
mandy-0.5.22 lib/mandy/mappers/base_mapper.rb
mandy-0.5.21 lib/mandy/mappers/base_mapper.rb
mandy-0.5.20 lib/mandy/mappers/base_mapper.rb
mandy-0.5.19 lib/mandy/mappers/base_mapper.rb
mandy-0.5.17 lib/mandy/mappers/base_mapper.rb
mandy-0.5.14 lib/mandy/mappers/base_mapper.rb
mandy-0.5.13 lib/mandy/mappers/base_mapper.rb
mandy-0.5.11 lib/mandy/mappers/base_mapper.rb
mandy-0.5.10 lib/mandy/mappers/base_mapper.rb
mandy-0.5.9 lib/mandy/mappers/base_mapper.rb
mandy-0.5.8 lib/mandy/mappers/base_mapper.rb
mandy-0.5.7 lib/mandy/mappers/base_mapper.rb
mandy-0.5.6 lib/mandy/mappers/base_mapper.rb
mandy-0.5.5 lib/mandy/mappers/base_mapper.rb