I have the following models:
module Core
class Conditioner
include Mongoid::Document
field :operator, type: String, default: '' # can be !=, ==, <, >, <=, >=, =
end
end
module Core
class Count < Conditioner
field :threshold, type: Integer, default: 0 # a simple threshold
end
end
module Core
class Time < Conditioner
UNITS = %w(seconds minutes hours days weeks months years)
# will be use like this: Time.value.send(Time.unit) Ex: 3.minutes
field :value, type: Integer, default: 0 # 3
field :unit, type: String, default: '' # minutes
validates :unit, presence: true, inclusion: { in: UNITS }
end
end
Was wondering if I should namespace the Count
and Time
class with Conditioner
? Like this:
module Core
class Conditioner::Time < Conditioner
end
end
Since I have to call Time.now
like this now ::Time.now
.
EDIT
Regarding answers, maybe this should be a better idea:
module Core
module Conditioner
class Base
end
end
end
module Core
module Conditioner
class Count < Conditioner::Base
end
end
end
module Core
module Conditioner
class Time < Conditioner::Base
end
end
end
Since defining a class called Core::Time
is maybe too generic and does not make many sense.
What do you think? Not sure about the best practice here.