Sha256: fb7fbc9e0da92e4ab6d6b519de3a67b22aae39fc440185f66490b54a2a101e44

Contents?: true

Size: 481 Bytes

Versions: 4

Compression:

Stored size: 481 Bytes

Contents

require 'dozuki'
require 'dozuki-mapper/proxy'
module Dozuki
  module Mapper
    def self.included(base)
      base.extend(ClassMethods)
    end
    def map_from(node)
      self.class.mapper.call Proxy.new(self, node)
    end
    module ClassMethods
      def map_with(&blk)
        @mapper = blk
      end
      def mapper
        @mapper
      end
      def from_node(node)
        new.tap do |instance|
          instance.map_from(node)
        end
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
dozuki-mapper-0.1.1 lib/dozuki-mapper.rb
dozuki-mapper-0.1.0 lib/dozuki-mapper.rb
dozuki-mapper-0.0.2 lib/dozuki-mapper.rb
dozuki-mapper-0.0.1 lib/dozuki-mapper.rb