Sha256: 1d45519a4be8373cf7913c4aaf984e405944113f9ac077bc2050ace0ddabeb6b

Contents?: true

Size: 1010 Bytes

Versions: 5

Compression:

Stored size: 1010 Bytes

Contents

class AppModel2
  include ::Mongoid::Document
  include ::Mongoid::Timestamps

  field :is_feature, :type => Boolean, :default => false
  field :is_public, :type => Boolean, :default => false
  field :is_done, :type => Boolean, :default => false
  field :is_trash, :type => Boolean, :default => false
  field :is_anonymous, :type => Boolean, :default => false

  scope :fresh, ->{ where({ :is_trash => false }) }
  scope :trash, ->{ where({ :is_trash => true }) }
  scope :public, ->{ where({ :is_public => true }) }
  scope :done, ->{ where({ :is_done => true }) }

  default_scope ->{ where({ :is_public => true, :is_trash => false }).order_by({ :created_at => :desc }) }
  
  field :x, :type => Float
  field :y, :type => Float

  def self.list conditions = { :is_trash => false }
    out = self.where( conditions).order_by( :name => :asc )
    [['', nil]] + out.map { |item| [ item.name, item.id ] }
  end

  private

  def puts! arg, label=""
    puts "+++ +++ #{label}"
    puts arg.inspect
  end
  
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
ish_models-0.0.33.19 lib/app_model2.rb
ish_models-0.0.33.18 lib/app_model2.rb
ish_models-0.0.33.17 lib/app_model2.rb
ish_models-0.0.33.16 lib/app_model2.rb
ish_models-0.0.33.15 lib/app_model2.rb