Sha256: 33d0cdd231e09dc092f47b930b6b3467ce6c176366c18f2770412aed9e6b426b

Contents?: true

Size: 554 Bytes

Versions: 2

Compression:

Stored size: 554 Bytes

Contents

module ReportsKits
  class Utils
    def self.string_to_class_method(string, string_identifer)
      class_name, method_name = string.split('.')
      raise ArgumentError.new("The #{string_identifer} value should be a class method with a format of MyClass.my_method") unless class_name && method_name
      klass = class_name.constantize
      raise ArgumentError.new("The #{string_identifer} class (#{class_name}) does not respond to a method named \"#{method_name}\"") unless klass.respond_to?(method_name)
      [klass, method_name]
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
reports_kits-0.7.8 lib/reports_kits/utils.rb
reports_kits-0.7.7 lib/reports_kits/utils.rb