Class: SublimeDSL::SublimeText::KeyMap::Context

Inherits:
Object
  • Object
show all
Includes:
Tools::ValueEquality
Defined in:
lib/sublime_dsl/sublime_text/keymap.rb

Defined Under Namespace

Classes: Condition

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Methods included from Tools::ValueEquality

#eql?, #hash

Constructor Details

#initialize(conditions = []) ⇒ Context

Returns a new instance of Context.



210
211
212
# File 'lib/sublime_dsl/sublime_text/keymap.rb', line 210

def initialize(conditions = [])
  @conditions = conditions
end

Instance Attribute Details

#conditionsObject (readonly) Also known as: value_id

Returns the value of attribute conditions.



208
209
210
# File 'lib/sublime_dsl/sublime_text/keymap.rb', line 208

def conditions
  @conditions
end

Class Method Details

.from_json(array) ⇒ Object



204
205
206
# File 'lib/sublime_dsl/sublime_text/keymap.rb', line 204

def self.from_json(array)
  new array.map { |h| Condition.new(h['key'], h['operator'], h['operand'], h['match_all']) }
end

Instance Method Details

#to_dslObject



218
219
220
221
222
223
224
225
226
227
# File 'lib/sublime_dsl/sublime_text/keymap.rb', line 218

def to_dsl
  dsl = []
  method = 'si'
  conditions.each do |c|
    c.fixmes.each { |f| dsl << f }
    dsl << "#{method} #{c.to_dsl}"
    method = 'et'
  end
  dsl.join("\n")
end

#to_sObject



214
215
216
# File 'lib/sublime_dsl/sublime_text/keymap.rb', line 214

def to_s
  conditions.map(&:to_s).join(' && ')
end