class Media::File

Attributes

name[RW]
uid[RW]

Public Class Methods

demongoize( object ) click to toggle source

Get the object as it was stored in the database, and instantiate this custom class from it.

# File lib/aerogel/media/field_types.rb, line 33
def demongoize( object )
  object.nil? ? nil : Media::File.new( object )
end
evolve( object ) click to toggle source

Converts the object that was supplied to a criteria and converts it into a database friendly form.

# File lib/aerogel/media/field_types.rb, line 45
def evolve( object )
  case object
  when Media::File then object.mongoize
  else
    object
  end
end
mongoize( object ) click to toggle source

Takes any possible object and converts it to how it would be stored in the database.

# File lib/aerogel/media/field_types.rb, line 39
def mongoize( object )
  Media::File.new(object).mongoize
end
new( mongoid_value ) click to toggle source
# File lib/aerogel/media/field_types.rb, line 10
def initialize( mongoid_value )
  case mongoid_value
  when nil
    @uid, @name = nil, nil
  when Array
    @uid, @name = mongoid_value[0], mongoid_value[1]
  when Hash
    @uid, @name = mongoid_value[:uid], mongoid_value[:name]
  when Media::File
    @uid, @name = mongoid_value.uid, mongoid_value.name
  else
    raise ArgumentError.new "Failed to create Media::File value from #{mongoid_value.class}"
  end
end

Public Instance Methods

mongoize() click to toggle source

Converts an object of this instance into a database friendly value.

# File lib/aerogel/media/field_types.rb, line 26
def mongoize
  (uid.nil? && name.nil?) ? nil : [ uid, name ]
end