Sha256: e22d5707c05149e7d7c0cd20da0f131e38e62f9de35565f4b5fe748eec51eedc
Contents?: true
Size: 1.59 KB
Versions: 2
Compression:
Stored size: 1.59 KB
Contents
JUNK_INIT_ARGS = %w[missing skip_virtual id].freeze module ClassMethods def new args={}, _options={} with_normalized_new_args args do |normalized_args| super normalized_args end end def with_normalized_new_args args={} args = (args || {}).stringify_keys delete_junk_args args normalize_type_args args normalize_content_args args yield args end private def delete_junk_args args JUNK_INIT_ARGS.each { |a| args.delete(a) } end def normalize_type_args args %w[type type_code].each { |k| args.delete(k) if args[k].blank? } end def normalize_content_args args args.delete("content") if args["attach"] # should not be handled here! args["db_content"] = args.delete "content" if args["content"] end end def initialize args={} args["name"] = initial_name args["name"] handle_set_modules args do handle_type args do super args # ActiveRecord #initialize end end self end def handle_set_modules args skip_modules = args.delete "skip_modules" yield include_set_modules unless skip_modules end def handle_type args type_lookup = args["type_lookup"] @supercard = args.delete "supercard" yield type_id_from_template if type_lookup == :force || (!type_id && type_lookup != :skip) end def initial_name name name.is_a?(String) ? name : Card::Name[name].to_s end def include_set_modules return self if @set_mods_loaded set_modules.each do |m| singleton_class.send :include, m end assign_set_specific_attributes @uncacheable = @set_mods_loaded = true self end def uncacheable? @uncacheable == true end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
card-1.101.0 | mod/core/set/all/initialize.rb |
card-1.100.0 | mod/core/set/all/initialize.rb |