Sha256: 7dcaa6ffabbe1e3e1561a66a73af1e824e10e520e1067552a85d1ace904cfa1a

Contents?: true

Size: 526 Bytes

Versions: 4

Compression:

Stored size: 526 Bytes

Contents

class Smartfm::Base

  def self.attributes; self::ATTRIBUTES end

  def attributes; self.class.attributes  end

  def self.deserialize(hash, params = {})
    return nil if hash.nil?

    klass = params[:as] ? params[:as] : self
    if hash.is_a?(Array)
      hash.inject([]) { |results, hash|
        hash.symbolize_keys!
        results << klass.new(hash)
      }
    else
      hash.symbolize_keys!
      klass.new(hash)
    end
  end

  def deserialize(hash, params = {})
    self.class.deserialize(hash, params)
  end

end

Version data entries

4 entries across 4 versions & 2 rubygems

Version Path
nov-smartfm-0.4.0 lib/smartfm/model/base.rb
smartfm-0.3.0 lib/smartfm/model/base.rb
smartfm-0.4.0 lib/smartfm/model/base.rb
smartfm-0.3.1 lib/smartfm/model/base.rb