Module: Card::Set::All::Type

Extended by:
Card::Set
Defined in:
tmpsets/set/mod001-01_core/all/type.rb

Defined Under Namespace

Modules: ClassMethods

Instance Method Summary collapse

Methods included from Card::Set

abstract_set?, all_set?, card_accessor, card_reader, card_writer, clean_empty_module_from_hash, clean_empty_modules, define_active_job, define_event_method, define_event_perform_later_method, define_on_format, ensure_set, event, extended, format, process_base_module_list, process_base_modules, register_set, register_set_format, shortname, view, write_tmp_file

Instance Method Details

#get_type_id(args = {}) ⇒ Object



31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
# File 'tmpsets/set/mod001-01_core/all/type.rb', line 31

def get_type_id args={}
  return if args[:type_id] # type_id was set explicitly.  no need to set again.

  type_id = case
    when args[:type_code]
      if code=args[:type_code]
        Card::Codename[code] || ( c=Card[code] and c.id)
      end
    when args[:type]
      Card.fetch_id args[:type]
    else :noop
    end

  case type_id
  when :noop
  when false, nil
    errors.add :type, "#{args[:type] || args[:type_code]} is not a known type."
  else
    return type_id
  end

  if name && t=template
    reset_patterns #still necessary even with new template handling?
    t.type_id
  end
end

#type=(type_name) ⇒ Object



27
28
29
# File 'tmpsets/set/mod001-01_core/all/type.rb', line 27

def type= type_name
  self.type_id = Card.fetch_id type_name
end

#type_cardObject



10
11
12
13
# File 'tmpsets/set/mod001-01_core/all/type.rb', line 10

def type_card
  return if type_id.nil?
  Card.fetch type_id.to_i, :skip_modules=>true
end

#type_cardnameObject



23
24
25
# File 'tmpsets/set/mod001-01_core/all/type.rb', line 23

def type_cardname
  type_card.try :cardname
end

#type_codeObject



15
16
17
# File 'tmpsets/set/mod001-01_core/all/type.rb', line 15

def type_code
  Card::Codename[ type_id.to_i ]
end

#type_nameObject



19
20
21
# File 'tmpsets/set/mod001-01_core/all/type.rb', line 19

def type_name
  type_card.try :name
end