class SublimeDSL::SublimeText::Command::Argument
A command argument.
Attributes
name[R]
value[R]
Public Class Methods
new(name, value)
click to toggle source
# File lib/sublime_dsl/sublime_text/command.rb, line 108 def initialize(name, value) @name = name @value = value end
Public Instance Methods
to_s(hash_style = true)
click to toggle source
# File lib/sublime_dsl/sublime_text/command.rb, line 113 def to_s(hash_style = true) if hash_style "#{name}: #{display(value)}" else display(value) end end
Private Instance Methods
display(v)
click to toggle source
# File lib/sublime_dsl/sublime_text/command.rb, line 125 def display(v) case v when String v.inspect when TrueClass, FalseClass, Numeric v.to_s when Array display_array(v) when Hash v.inspect when NilClass 'nil' else raise Error, "command argument #{name.inspect} value: #{v.inspect}" end end
display_array(a)
click to toggle source
# File lib/sublime_dsl/sublime_text/command.rb, line 142 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