Module: Card::Set::All::Utils

Extended by:
Card::Set
Defined in:
card/tmpsets/set/mod002-core/all/utils.rb

Overview

Set: All cards (Utils)

Defined Under Namespace

Modules: ClassMethods, Format

Constant Summary

Constants included from Helpers

Helpers::SET_PATTERN_TEST_REGEXP

Constants included from Event::Api

Event::Api::OPTIONS

Class Method Summary collapse

Instance Method Summary collapse

Methods included from Card::Set

reset_modules

Methods included from I18nScope

#mod_name, #scope

Methods included from Loader

#clean_empty_module_from_hash, #clean_empty_modules, #extended, #process_base_modules, #register_set

Methods included from Helpers

#method_missing, #num_set_parts, #pattern_code, #respond_to_missing?, #set_name_parts, #shortname, #underscore

Methods included from Card::Set::AdvancedApi

#attachment, #define_set_from_error, #ensure_set, #setting_opts, #stage_method

Methods included from Format

#before, #format, layout_method_name, #view, view_method_name, view_setting_method_name, wrapper_method_name

Methods included from Inheritance

#include_set, #include_set_formats

Methods included from Basket

#abstract_basket, #add_to_basket, #basket, #unshift_basket

Methods included from Trait

#card_accessor, #card_reader, #card_writer, #require_field

Methods included from Event::Api

#event

Class Method Details

.source_locationObject



7
# File 'card/tmpsets/set/mod002-core/all/utils.rb', line 7

def self.source_location; "/Users/ethan/dev/decko/gem/card/mod/core/set/all/utils.rb"; end

Instance Method Details

#measure(desc) ⇒ Object

rubocop:disable Style/GlobalVars



77
78
79
80
81
82
83
84
85
86
# File 'card/tmpsets/set/mod002-core/all/utils.rb', line 77

def measure desc
  $times ||= {}
  res = nil
  t = Benchmark.measure do
    res = yield
  end
  $times[desc] = $times.key?(desc) ? t + $times[desc] : t
  puts "#{desc}: #{t}".red
  res
end

#mod_root(modname) ⇒ Object

rubocop:enable Style/GlobalVars



89
90
91
92
93
94
95
# File 'card/tmpsets/set/mod002-core/all/utils.rb', line 89

def mod_root modname
  if (spec = Gem::Specification.find_by_name "card-mod-#{modname}")
    spec.full_gem_path
  else
    "#{Cardio.gem_root}/mod/#{modname}"
  end
end

#safe_update!(attribs) ⇒ Object

separate name and other attributes



65
66
67
68
# File 'card/tmpsets/set/mod002-core/all/utils.rb', line 65

def safe_update! attribs
  separate_name_update! attribs.delete("name") unless new?
  update! attribs if attribs.present?
end

#separate_name_update!(new_name) ⇒ Object



70
71
72
73
74
# File 'card/tmpsets/set/mod002-core/all/utils.rb', line 70

def separate_name_update! new_name
  return if new_name.to_s == name.to_s

  update! name: new_name
end