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

Version Path
ludo-roart-0.1.19 lib/roart/roart.rb
ludo-roart-0.1.18 lib/roart/roart.rb
ludo-roart-0.1.17 lib/roart/roart.rb
ludo-roart-0.1.16 lib/roart/roart.rb
ludo-roart-0.1.15 lib/roart/roart.rb
ludo-roart-0.1.14 lib/roart/roart.rb
ludo-roart-0.1.13 lib/roart/roart.rb
ludo-roart-0.1.12 lib/roart/roart.rb
ludo-roart-0.1.11 lib/roart/roart.rb
roart-0.1.10 lib/roart/roart.rb
axtro-roart-0.1.9.2 lib/roart/roart.rb
axtro-roart-0.1.9.1 lib/roart/roart.rb
roart-0.1.9 lib/roart/roart.rb
axtro-roart-0.1.9 lib/roart/roart.rb
axtro-roart-0.1.8 lib/roart/roart.rb
roart-0.1.8 lib/roart/roart.rb
roart-0.1.7 lib/roart/roart.rb
roart-0.1.6 lib/roart/roart.rb