Sha256: fd55aaf6795c6d9754560a9006735a52ffe7f22fa767898b969ce2752b1c7c67

Contents?: true

Size: 1.16 KB

Versions: 12

Compression:

Stored size: 1.16 KB

Contents

JUNK_INIT_ARGS = %w{ missing skip_virtual id }

module ClassMethods
  def new args = {}, _options = {}
    args = (args || {}).stringify_keys
    JUNK_INIT_ARGS.each { |a| args.delete(a) }
    %w{ type type_code }.each { |k| args.delete(k) if args[k].blank? }
    args.delete('content') if args['attach'] # should not be handled here!
    super args
  end
end

def initialize args = {}
  args['name'] = args['name'].to_s
  args['db_content'] = args.delete('content') if args['content']
  @supercard = args.delete 'supercard' # must come before name =
  skip_modules = args.delete 'skip_modules'
  skip_type_lookup = args['skip_type_lookup']

  super args # ActiveRecord #initialize
  if !type_id && !skip_type_lookup
    self.type_id = get_type_id_from_structure
  end
  include_set_modules unless skip_modules
  self
end

def include_set_modules
  unless @set_mods_loaded
    set_modules.each do |m|
      singleton_class.send :include, m
    end
    assign_set_specific_attributes
    @set_mods_loaded = true
  end
  self
end

event :initialize_success_object, before: :handle do
  Env[:success] = Success.new(cardname, Env.params[:success])
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
card-1.17.4 mod/01_core/set/all/initialize.rb
card-1.17.3 mod/01_core/set/all/initialize.rb
card-1.17.2 mod/01_core/set/all/initialize.rb
card-1.17.1 mod/01_core/set/all/initialize.rb
card-1.17.0 mod/01_core/set/all/initialize.rb
card-1.16.15 mod/01_core/set/all/initialize.rb
card-1.16.14 mod/01_core/set/all/initialize.rb
card-1.16.13 mod/01_core/set/all/initialize.rb
card-1.16.12 mod/01_core/set/all/initialize.rb
card-1.16.11 mod/01_core/set/all/initialize.rb
card-1.16.10 mod/01_core/set/all/initialize.rb
card-1.16.9 mod/01_core/set/all/initialize.rb