Sha256: 8069e672daadacfcadf4a8f8efc9dc0f3158ceed229c70012c1005c388633b4e
Contents?: true
Size: 1.12 KB
Versions: 1
Compression:
Stored size: 1.12 KB
Contents
module Crowdskout module Components class Component def to_hash hash = Hash.new self.instance_variables.collect do |var| hash[var.to_s[1..-1]] = self.class.to_hash_value(self.instance_variable_get(var)) end hash end def self.to_hash_value(val) if val.is_a? Crowdskout::Components::Component return val.to_hash elsif val.is_a? Array return val.collect{|subval| Component.to_hash_value(subval) } elsif val.is_a? DateTime return val.to_s else return val end end def to_json(val = nil) self.to_hash.to_json end protected # Get the requested value from a hash, or return the default # @param [Hash] hsh - the hash to search for the provided hash key # @param [String] key - hash key to look for # @param [String] default - value to return if the key is not found, default is null # @return [String] def self.get_value(hsh, key, default = nil) hsh.has_key?(key) and hsh[key] ? hsh[key] : default end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
crowdskout-0.0.4 | lib/crowdskout/components/component.rb |