class PRRD::Entity

Entity base class

Attributes

data[RW]

Accessors

keys[RW]

Accessors

Public Class Methods

new(values = nil) click to toggle source

Constructor

# File lib/prrd.rb, line 135
def initialize(values = nil)
  @data = {}

  unless values.nil?
    values.each do |k, v|
      next unless @keys.include? k
      send "#{k}=".to_sym, v
    end
  end
end

Public Instance Methods

method_missing(m, *args, &block) click to toggle source

Method missing @param m [Symbol] @param args [Array] @param block [Proc] @return [Boolean]

Calls superclass method
# File lib/prrd.rb, line 159
def method_missing(m, *args, &block)
  ms = m.to_s
  if ms.include? '='
    ms = ms[0..-2]
    if @keys.include? ms.to_sym
      @data[ms.to_sym] = args[0]
      return true
    end
  end

  super
end
validate_presence(*keys) click to toggle source

Validate presence of keys in data collection @param keys [Array]

# File lib/prrd.rb, line 148
def validate_presence(*keys)
  keys.each do |k|
    fail 'Define a "%s" option' % k if !@data.key?(k) || @data[k].nil?
  end
end