Sha256: f885e630b3a3c4c6a4133e91e4b2b965f9c33a93f290b8eda3d0dd5b54a938f2
Contents?: true
Size: 902 Bytes
Versions: 1
Compression:
Stored size: 902 Bytes
Contents
module Flickry class Base < SuperStruct def initialize(*args) super(*args) end protected def extract_attrs_into_substructs!(src, mapping, default = nil) mapping.each do |obj, attr_names| os = SuperStruct.new attr_names.each do |name| if src.respond_to?(obj) and sub = src.send(obj) os[name] = (sub.respond_to?(name) ? sub.send(name) : default) end end self[obj] = os end end def extract_attrs!(src, attr_names, default = nil) attr_names.each do |name| self[name] = (src.respond_to?(name) ? src.send(name) : default) end end def extract_attrs(src, attr_names, default = nil) str = SuperStruct.new attr_names.each do |name| str[name] = (src.respond_to?(name) ? src.send(name) : default) end return str end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
wideopenspaces-flickry-0.1.2 | lib/flickry/base.rb |