Module: Card::Set::Inheritance
- Included in:
- Card::Set
- Defined in:
- lib/card/set/inheritance.rb
Overview
API to inherit other sets and their formats
Instance Method Summary collapse
-
#include_set(set, opts = {}) ⇒ Object
include a set module and all its format modules.
-
#include_set_formats(set, opts = {}) ⇒ Object
include format modules of a set.
Instance Method Details
#include_set(set, opts = {}) ⇒ Object
include a set module and all its format modules
32 33 34 35 36 37 38 39 40 41 |
# File 'lib/card/set/inheritance.rb', line 32 def include_set set, opts={} opts.each do |key, value| cattr_accessor key send "#{key}=", value end set_type = set.abstract_set? ? :abstract : :nonbase add_set_modules Card::Set.modules[set_type][set.shortname] include_set_formats set, opts end |
#include_set_formats(set, opts = {}) ⇒ Object
include format modules of a set
50 51 52 53 54 55 56 57 58 59 60 61 |
# File 'lib/card/set/inheritance.rb', line 50 def include_set_formats set, opts={} each_format set do |format, format_mods| format_sym = Card::Format.format_sym format next unless applicable_format?(format_sym, opts[:except], opts[:only]) format_mods.each do |format_mod| define_on_format format_sym do include format_mod end end end end |