Sha256: 66e978a4935ff20977944104f3465083f639d5266dfd707da3fbe2fb6747ce86

Contents?: true

Size: 717 Bytes

Versions: 3

Compression:

Stored size: 717 Bytes

Contents

module Troo
  class Board < Ohm::Model
    include Ohm::DataTypes
    include ModelHelpers

    attribute :name
    attribute :description
    attribute :default, Type::Boolean
    attribute :closed, Type::Boolean
    attribute :external_board_id

    index :default
    index :external_board_id

    alias_method :default?, :default

    def lists
      Troo::List.find(external_board_id: self.external_board_id)
    end

    def cards
      Troo::Card.find(external_board_id: self.external_board_id)
    end

    def decorator(options = {})
      BoardDecorator.new(self, options)
    end

    def presenter
      BoardPresenter.new(self)
    end

    def set_default!
      SetDefault.for(self)
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
troo-0.0.7 lib/troo/models/board.rb
troo-0.0.6 lib/troo/models/board.rb
troo-0.0.5 lib/troo/models/board.rb