class Holidays::Definition::Decorator::CustomMethodProc
Public Instance Methods
call(proc)
click to toggle source
# File lib/holidays/definition/decorator/custom_method_proc.rb, line 5 def call(proc) validate!(proc) eval("Proc.new { |#{parse_arguments(proc.arguments)}| #{proc.source} }") end
Private Instance Methods
parse_arguments(args)
click to toggle source
# File lib/holidays/definition/decorator/custom_method_proc.rb, line 21 def parse_arguments(args) a = args.join(", ") a[0..-1] end
validate!(proc)
click to toggle source
# File lib/holidays/definition/decorator/custom_method_proc.rb, line 15 def validate!(proc) raise ArgumentError if proc.name.nil? || proc.name.empty? raise ArgumentError if proc.arguments.nil? || proc.arguments.empty? raise ArgumentError if proc.source.nil? || proc.source.empty? end