Module: Mongoid::TimeField::ClassMethods

Defined in:
lib/mongoid_time_field/class_methods.rb

Instance Method Summary collapse

Instance Method Details

#time_field(*columns) ⇒ Object

Deprecated.


4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/mongoid_time_field/class_methods.rb', line 4

def time_field(*columns)
  [columns].flatten.each do |name|
    attr = name.to_sym
    name_minutes = (name.to_s + '_minutes').to_sym

    field attr, type: TimeField.new(format: 'mm:SS')

    # we treat minutes as seconds for compatibility with v0.1.0
    # TODO: Remove this later
    define_method(name_minutes) do
      v = send(attr)
      v.nil? ? nil : v.seconds
    end

    define_method("#{name_minutes}=") do |value|
      send(name.to_s + '=', Mongoid::TimeField::Value.new(value))
    end
  end
end