class Holidays::Definition::Decorator::CustomMethodSource

Public Instance Methods

call(proc) click to toggle source
# File lib/holidays/definition/decorator/custom_method_source.rb, line 5
def call(proc)
  validate!(proc)

  method_name = proc.name
  args = args_string(proc.arguments)
  source = proc.source

  "\"#{method_name.to_s}(#{args})\" => Proc.new { |#{args}|\n#{source}}"
end

Private Instance Methods

args_string(args) click to toggle source
# File lib/holidays/definition/decorator/custom_method_source.rb, line 23
def args_string(args)
  a = args.join(", ")
  a[0..-1]
end
validate!(proc) click to toggle source
# File lib/holidays/definition/decorator/custom_method_source.rb, line 17
def validate!(proc)
  raise ArgumentError if proc.name.nil? || proc.name == ""
  raise ArgumentError if proc.arguments.nil? || !proc.arguments.is_a?(Array) || proc.arguments.empty?
  raise ArgumentError if proc.source.nil? || proc.source == ""
end