Sha256: e4bfe702e4cc529ef1550fc2d24bb0906f7660b0f5a6bd4da84b9e56cc846b21

Contents?: true

Size: 495 Bytes

Versions: 31

Compression:

Stored size: 495 Bytes

Contents

module ASIR
  # !SLIDE
  # Object Initialization
  #
  # Support initialization by Hash.
  #
  # E.g.:
  #   Foo.new(:bar => 1, :baz => 2)
  # ->
  #   obj = Foo.new; obj.bar = 1; obj.baz = 2; obj
  module Initialization
    def initialize opts = nil
      opts ||= EMPTY_HASH
      initialize_before_opts if respond_to? :initialize_before_opts
      opts.each do | k, v |
        send(:"#{k}=", v)
      end
      initialize_after_opts if respond_to? :initialize_after_opts
    end
  end
end

Version data entries

31 entries across 31 versions & 1 rubygems

Version Path
asir-1.2.11 lib/asir/initialization.rb
asir-1.2.10 lib/asir/initialization.rb
asir-1.2.9 lib/asir/initialization.rb
asir-1.2.8 lib/asir/initialization.rb
asir-1.2.7 lib/asir/initialization.rb
asir-1.2.6 lib/asir/initialization.rb
asir-1.2.5 lib/asir/initialization.rb
asir-1.2.3 lib/asir/initialization.rb
asir-1.2.2 lib/asir/initialization.rb
asir-1.2.1 lib/asir/initialization.rb
asir-1.2.0 lib/asir/initialization.rb
asir-1.1.12 lib/asir/initialization.rb
asir-1.1.11 lib/asir/initialization.rb
asir-1.1.10 lib/asir/initialization.rb
asir-1.1.9 lib/asir/initialization.rb
asir-1.1.8 lib/asir/initialization.rb
asir-1.1.7 lib/asir/initialization.rb
asir-1.1.6 lib/asir/initialization.rb
asir-1.1.5 lib/asir/initialization.rb
asir-1.1.4 lib/asir/initialization.rb