Sha256: 914e944687cc7e37f5b498e539ee2f7efde8897b767740d142d6a0ae76eafda4

Contents?: true

Size: 593 Bytes

Versions: 7

Compression:

Stored size: 593 Bytes

Contents

require 'ostruct'

class Embedly::EmbedlyObject < OpenStruct

  # Resursively make ostruct
  def initialize obj
    if obj
      o = obj.clone
      o.each do |k,v|
        if v.is_a?Hash
          o[k] = Embedly::EmbedlyObject.new v
        end
      end
      super o
    else
      super
    end
  end

  # for ruby 1.8.x, type should return @table[:type], not the
  # class.
  def type
    method_missing :type
  end

  def marshal_dump
    o = @table.clone
    o.each do |k,v|
      if v.is_a?Embedly::EmbedlyObject
        o[k] = v.marshal_dump
      end
    end
    return o
  end

end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
embedly-1.9.1 lib/embedly/model.rb
embedly-1.9.0 lib/embedly/model.rb
embedly-1.8.0 lib/embedly/model.rb
embedly-1.7.1 lib/embedly/model.rb
embedly-1.7.0 lib/embedly/model.rb
embedly-1.6.0 lib/embedly/model.rb
embedly-1.5.6 lib/embedly/model.rb