class SublimeDSL::SublimeText::SettingSet::Setting

Attributes

key[R]
value[R]

Public Class Methods

new(key, value) click to toggle source
# File lib/sublime_dsl/sublime_text/setting_set.rb, line 51
def initialize(key, value)
  @key = key
  @value = value
end

Public Instance Methods

to_dsl() click to toggle source
# File lib/sublime_dsl/sublime_text/setting_set.rb, line 56
def to_dsl
  "#{key} #{display(value)}"
end

Private Instance Methods

display(v) click to toggle source
# File lib/sublime_dsl/sublime_text/setting_set.rb, line 62
def display(v)
  case v
  when String
    v.to_source
  when TrueClass, FalseClass, Numeric
    v.to_s
  when Array
    display_array(v)
  when Hash
    v.empty? ? 'Hash.new' : v.inspect[1..-2] # remove braces
  when NilClass
    'nil'
  else
    raise Error, "value: #{v.inspect} for #{name.inspect}"
  end
end
display_array(a) click to toggle source
# File lib/sublime_dsl/sublime_text/setting_set.rb, line 79
def display_array(a)
  if a.empty?
    '[]'
  elsif a.all? { |e| e.is_a?(String) && e =~ /\A(\S+)\z/ }
    "%w(#{a.join(' ')})"
  else
    a.inspect
  end
end