Sha256: 910eee151b26ef8eac70aad46a8b48a74f7a90ca8bfebd8a4a93a162faa61060

Contents?: true

Size: 612 Bytes

Versions: 3

Compression:

Stored size: 612 Bytes

Contents

module Disposable
  class Twin
    # hash for #update_attributes (model API): {title: "Future World", album: <Album>}
    def self.save_representer
      # TODO: do that only at compile-time!
      save = Class.new(write_representer) # inherit configuration
      save.representable_attrs.
        find_all { |attr| attr[:twin] }.
        each { |attr| attr.merge!(
          :representable => true,
          :serialize     => lambda { |obj, args| obj.send(:model) }) }

        save.representable_attrs.each do |attr|
          attr.merge!(:as => attr[:private_name])
        end

      save
    end

  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
disposable-0.0.9 lib/disposable/twin/save_.rb
disposable-0.0.8 lib/disposable/twin/save_.rb
disposable-0.0.7 lib/disposable/twin/save_.rb