Module: Card::Set::Format::AbstractFormat
- Includes:
- Basket
- Defined in:
- lib/card/set/format.rb
Overview
All Format modules are extended with this module in order to support the basic format API (ok, view definitions. It's just view definitions.) No longer just view definitions. Also basket definitions now.
Instance Method Summary collapse
Methods included from Basket
#abstract_basket, #add_to_basket, #basket
Instance Method Details
#lookup_alias_block(view, args) ⇒ Object
98 99 100 101 102 103 104 105 106 |
# File 'lib/card/set/format.rb', line 98 def lookup_alias_block view, args opts = args[0].is_a?(Hash) ? args.shift : { view: args.shift } opts[:mod] ||= self opts[:view] ||= view views[opts[:mod]][opts[:view]] || begin raise "cannot find #{opts[:view]} view in #{opts[:mod]}; " \ "failed to alias #{view} in #{self}" end end |
#view(view, *args, &block) ⇒ Object
85 86 87 88 89 90 91 92 93 94 95 96 |
# File 'lib/card/set/format.rb', line 85 def view view, *args, &block view = view.to_viewname.key.to_sym views[self] ||= {} view_block = views[self][view] = if block_given? Card::Format.extract_class_vars view, args[0] block else lookup_alias_block view, args end define_method "_view_#{view}", view_block end |