Class: ProductionQueue

Inherits:
ActiveRecord::Base
  • Object
show all
Defined in:
app/models/production_queue.rb

Overview

This class describes a production queue.

Instance Method Summary (collapse)

Instance Method Details

- (String) complete_date_txt

Return the complete date of que item.

Returns:

  • (String)


29
30
31
32
33
34
# File 'app/models/production_queue.rb', line 29

def complete_date_txt
  return nil if allotment.blank? or allotment == 0 or queue_item.rq_prod_point.blank? or queue_item.built_point.blank?
  complete_date = ((queue_item.rq_prod_point - queue_item.built_point) / allotment).ceil
  complete_date = (complete_date / Params::PRODUCTION_QUE_DESTORY_MULTIPLIER).ceil if destroy_flg
  return complete_date.to_s + I18n.t('activerecord.attributes.rq_days_suffix')
end

- (Boolean) destroy_queue_item

Destroy the queue_item.

Returns:

  • (Boolean)

    destroy result.



68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
# File 'app/models/production_queue.rb', line 68

def destroy_queue_item
  case symbol.to_sym
  when :mini_map_road
    return MiniMapRoad.destroy(queue_id)
  when :mini_map_cell
    mini_map_cell = MiniMapCell.find_by_id(queue_id)
    mini_map_cell.construction_id = nil
    mini_map_cell.built_point = 0
    mini_map_cell.active_flg = false
    return mini_map_cell.save
  when :item
    return Item.destroy(queue_id)
  else
    return false
  end
end

- (String) item_txt

Return the description of que item. It could be 'road' and 'construction name(minimap name : x, y)'.

Returns:

  • (String)


11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'app/models/production_queue.rb', line 11

def item_txt
  if symbol.to_sym == :mini_map_road
    mini_map_road_txt = I18n.t('activerecord.attributes.production_que.mini_map_road')
    mini_map_road_txt += "(" + queue_item.start_mini_map.name + "..." + queue_item.end_mini_map.name + ")"
    return mini_map_road_txt
  elsif symbol.to_sym == :mini_map_cell
    mini_map_cell_txt = "(" + queue_item.mini_map.name + 
      ":" + queue_item.x.to_s + "," + queue_item.y.to_s + ")"
    return queue_item.construction.name + mini_map_cell_txt
  elsif symbol.to_sym == :item
    return queue_item.item_info.name
  else
    return nil
  end
end

- (queue_item) queue_item

Return the queue_item.

Returns:

  • (queue_item)

    queue_item could be mini_map_road, mini_map_cell or item.



53
54
55
56
57
58
59
60
61
62
63
64
# File 'app/models/production_queue.rb', line 53

def queue_item
  case symbol.to_sym
  when :mini_map_road
    return MiniMapRoad.find_by_id(queue_id)
  when :mini_map_cell
    return MiniMapCell.find_by_id(queue_id)
  when :item
    return Item.find_by_id(queue_id)
  else
    return nil
  end
end

- (String) status_txt

Return the description of status. It could be 'destroying' and 'constructing'.

Returns:

  • (String)


39
40
41
42
43
44
45
46
47
48
49
# File 'app/models/production_queue.rb', line 39

def status_txt
  if destroy_flg
    return I18n.t('activerecord.attributes.production_que.destroy')
  else
    if symbol.to_sym == :item
      return I18n.t('activerecord.attributes.production_que.manufacture')
    else
      return I18n.t('activerecord.attributes.production_que.construct')
    end
  end
end