Sha256: 42b2369fb01fa1442d1f008fd0f6d613b95108a7792bcc88b17b5d6d29f938ff
Contents?: true
Size: 798 Bytes
Versions: 2
Compression:
Stored size: 798 Bytes
Contents
class ZapiSession def initialize session_hash: _generate hash: session_hash end def _generate hash: return nil unless hash.is_a? Hash hash.each do |k,v| self.instance_variable_set("@#{k}", v) ## create and initialize an instance variable for this key/value pair self.class.send(:define_method, k, proc{self.instance_variable_get("@#{k}")}) ## create the getter that returns the instance variable self.class.send(:define_method, "#{k}=", proc{|v| self.instance_variable_set("@#{k}", v)}) ## create the setter that sets the instance variable end return self end def to_h hash = {} self.instance_variables.each do |var| sym = var.to_s.delete("@").to_sym hash[sym] = self.instance_variable_get(var) end hash end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
zaui_zapi-0.0.2 | lib/zapi_session.rb |
zaui_zapi-0.0.1 | lib/zapi_session.rb |