Module: Card::Set::Rstar::Rules
- Extended by:
- Card::Set
- Defined in:
- tmpsets/set/mod016-standard/rstar/rules.rb
Constant Summary
Constants included from Helpers
Helpers::SET_PATTERN_TEST_REGEXP
Instance Method Summary collapse
- #rule_set ⇒ Object
- #rule_set_key ⇒ Object
- #rule_set_name ⇒ Object
- #rule_setting_name ⇒ Object
- #rule_user ⇒ Object
- #rule_user_name ⇒ Object
- #rule_user_setting_name ⇒ Object
-
#set_options ⇒ Object
~~~~~~~~~~ determine the set options to which the user can apply the rule.
- #set_prototype ⇒ Object
Methods included from Card::Set
Methods included from I18nScope
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 AdvancedApi
#attachment, #ensure_set, #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
Instance Method Details
#rule_set ⇒ Object
24 25 26 27 28 29 30 |
# File 'tmpsets/set/mod016-standard/rstar/rules.rb', line 24 def rule_set if is_preference? self[0..-3] else trunk end end |
#rule_set_key ⇒ Object
12 13 14 |
# File 'tmpsets/set/mod016-standard/rstar/rules.rb', line 12 def rule_set_key rule_set_name.key end |
#rule_set_name ⇒ Object
16 17 18 19 20 21 22 |
# File 'tmpsets/set/mod016-standard/rstar/rules.rb', line 16 def rule_set_name if is_preference? cardname.trunk_name.trunk_name else cardname.trunk_name end end |
#rule_setting_name ⇒ Object
32 33 34 |
# File 'tmpsets/set/mod016-standard/rstar/rules.rb', line 32 def rule_setting_name cardname.tag end |
#rule_user ⇒ Object
48 49 50 |
# File 'tmpsets/set/mod016-standard/rstar/rules.rb', line 48 def rule_user is_preference? ? self[-2] : nil end |
#rule_user_name ⇒ Object
44 45 46 |
# File 'tmpsets/set/mod016-standard/rstar/rules.rb', line 44 def rule_user_name is_preference? ? cardname.trunk_name.tag : nil end |
#rule_user_setting_name ⇒ Object
36 37 38 39 40 41 42 |
# File 'tmpsets/set/mod016-standard/rstar/rules.rb', line 36 def rule_user_setting_name if is_preference? "#{rule_user_name}+#{rule_setting_name}" else rule_setting_name end end |
#set_options ⇒ Object
~~~~~~~~~~ determine the set options to which the user can apply the rule.
53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 |
# File 'tmpsets/set/mod016-standard/rstar/rules.rb', line 53 def first = if new_card? 0 else set_prototype.set_names.index { |s| s.to_name.key == rule_set_key } end rule_cnt = 0 res = [] fallback_set = nil set_prototype.set_names[first..-1].each do |set_name| if Card.exists?("#{set_name}+#{rule_user_setting_name}") rule_cnt += 1 res << if rule_cnt == 1 [set_name, :current] else fallback_set ||= set_name [set_name, :overwritten] end else res << (rule_cnt < 1 ? [set_name, :enabled] : [set_name, :disabled]) end end # fallback_set = if first > 0 # res[0..(first-1)].find do |set_name| # Card.exists?("#{set_name}+#{rule_user_setting_name}") # end # end # last = res.index{|s| s.to_name.key == cardname.trunk_name.key} || -1 # # note, the -1 can happen with virtual cards because the self set doesn't # show up in the set_names. FIXME!! # [res[first..last], fallback_set] # # The broadest set should always be the currently applied rule # (for anything more general, they must explicitly choose to 'DELETE' the # current one) # the narrowest rule should be the one attached to the set being viewed. # So, eg, if you're looking at the '*all plus' set, you shouldn't # have the option to create rules based on arbitrary narrower sets, though # narrower sets will always apply to whatever prototype we create [res, fallback_set] end |
#set_prototype ⇒ Object
97 98 99 100 101 102 103 |
# File 'tmpsets/set/mod016-standard/rstar/rules.rb', line 97 def set_prototype if is_preference? self[0..-3].prototype else trunk.prototype end end |