class Creamerscript::Sweeteners::MethodDefinition
Public Instance Methods
arguments()
click to toggle source
# File lib/creamerscript/sweeteners/method_definition.rb, line 32 def arguments parameter_names.join(", ") end
constructor()
click to toggle source
# File lib/creamerscript/sweeteners/method_definition.rb, line 16 def constructor "constructor: (#{arguments}) ->" end
definition_with_arguments()
click to toggle source
# File lib/creamerscript/sweeteners/method_definition.rb, line 24 def definition_with_arguments "#{method_name}: (#{arguments}) =>" end
definition_without_arguments()
click to toggle source
# File lib/creamerscript/sweeteners/method_definition.rb, line 20 def definition_without_arguments "#{method_name}: =>" end
method_name()
click to toggle source
# File lib/creamerscript/sweeteners/method_definition.rb, line 28 def method_name signature_keys.join("_") end
pattern()
click to toggle source
# File lib/creamerscript/sweeteners/method_definition.rb, line 4 def pattern /def #{SYMBOL}(?::#{SYMBOL})?(?:\s+#{SYMBOL}:#{SYMBOL})*/ end
to_coffee()
click to toggle source
# File lib/creamerscript/sweeteners/method_definition.rb, line 8 def to_coffee if method_name =~ /^constructor/ constructor else arguments.empty? ? definition_without_arguments : definition_with_arguments end end
type()
click to toggle source
# File lib/creamerscript/sweeteners/method_definition.rb, line 36 def type :method_definition end
Private Instance Methods
argument_list()
click to toggle source
# File lib/creamerscript/sweeteners/method_definition.rb, line 50 def argument_list body.split.map { |arg| arg.split(":") } end
body()
click to toggle source
# File lib/creamerscript/sweeteners/method_definition.rb, line 54 def body source.split("def ").last end
parameter_names()
click to toggle source
# File lib/creamerscript/sweeteners/method_definition.rb, line 46 def parameter_names argument_list.flatten.each_with_index.map { |arg, index| arg.gsub(",", "") if index.odd? }.compact end
signature_keys()
click to toggle source
# File lib/creamerscript/sweeteners/method_definition.rb, line 42 def signature_keys argument_list.flatten.each_with_index.map { |arg, index| arg if index.even? }.compact end