class Eco::Language::Models::Modifier
Constants
- DEFAULT_MODE
Public Class Methods
new(value = [])
click to toggle source
Calls superclass method
# File lib/eco/language/models/modifier.rb, line 8 def initialize(value = []) super(into_a(value)) end
Public Instance Methods
<(value)
click to toggle source
# File lib/eco/language/models/modifier.rb, line 22 def <(value) self.clear << value end
<<(value)
click to toggle source
# File lib/eco/language/models/modifier.rb, line 26 def <<(value) self.concat(into_a(value)) end
default(value)
click to toggle source
# File lib/eco/language/models/modifier.rb, line 34 def default(value) #self.unshift(value) reset end
default?()
click to toggle source
# File lib/eco/language/models/modifier.rb, line 43 def default? (mode - DEFAULT_MODE).length == 0 end
flush_mode()
click to toggle source
# File lib/eco/language/models/modifier.rb, line 30 def flush_mode self < self.mode end
mode()
click to toggle source
MODE MODIFIERS resolve mode
# File lib/eco/language/models/modifier.rb, line 18 def mode resolve_mode end
new()
click to toggle source
# File lib/eco/language/models/modifier.rb, line 12 def new self.class.new(self.resolve_mode.to_a) end
reset()
click to toggle source
# File lib/eco/language/models/modifier.rb, line 39 def reset self < DEFAULT_MODE.first end
Protected Instance Methods
into_a(value)
click to toggle source
# File lib/eco/language/models/modifier.rb, line 60 def into_a(value) value = [].push(value) unless value.is_a?(Array) value end
resolve(ms, flags)
click to toggle source
# File lib/eco/language/models/modifier.rb, line 53 def resolve (ms, flags) # later modifiers have precedence flag = (ms & flags).last ms = (ms - flags).push(flag) unless !flag return ms end
resolve_mode()
click to toggle source
# File lib/eco/language/models/modifier.rb, line 49 def resolve_mode self.to_a end