Module: AssOle::Snippets::Shared

Defined in:
lib/ass_ole/snippets/shared.rb,
lib/ass_ole/snippets/shared/array.rb,
lib/ass_ole/snippets/shared/mapped.rb,
lib/ass_ole/snippets/shared/version.rb,
lib/ass_ole/snippets/shared/binary_data.rb,
lib/ass_ole/snippets/shared/value_table.rb

Overview

Shared Ole snippets

Defined Under Namespace

Modules: Array, BinaryData, Map, Query, Structure, Transaction, ValueTable, XMLSerializer

Constant Summary collapse

VERSION =
'0.3.2'

Class Method Summary collapse

Class Method Details

.mapped_mixin(module_) ⇒ Object

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# File 'lib/ass_ole/snippets/shared/mapped.rb', line 6

def self.mapped_mixin(module_)
  module_.instance_eval do
    define_method :_hash_to_object do |hash_, object_|
      hash_.each_with_object(object_) do |k_v, obj|
        key = (k_v[0].is_a?(Symbol) ? k_v[0].to_s : k_v[0])
        value = k_v[1]
        if value.nil?
          obj.Insert(key)
        else
          obj.Insert(key, value)
        end
      end
    end
    private :_hash_to_object
  end
end