Sha256: b88995d13a43be3124d5e9c4af68bfcb28840c5c5b3b2dc926b669ff421ec6c1
Contents?: true
Size: 782 Bytes
Versions: 18
Compression:
Stored size: 782 Bytes
Contents
module Roart def self.check_keys!(hash, required) unless required.inject(true) do |inc, attr| inc ? hash.keys.include?(attr) : nil end raise ArgumentError, "Not all required fields entered" end end def self.check_keys(hash, required) unless required.inject(true) do |inc, attr| inc ? hash.keys.include?(attr.to_sym) : nil end return false end return true end module MethodFunctions def add_methods! @attributes.each do |key, value| (class << self; self; end).send :define_method, key do return @attributes[key] end (class << self; self; end).send :define_method, "#{key}=" do |new_val| @attributes[key] = new_val end end end end end
Version data entries
18 entries across 18 versions & 3 rubygems