Module: Peel::Modelable

Defined in:
lib/peel/modelable.rb

Defined Under Namespace

Modules: ClassMethods

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(base) ⇒ Object



15
16
17
# File 'lib/peel/modelable.rb', line 15

def self.included(base)
  base.extend(ClassMethods)
end

Instance Method Details

#initialize(**args) ⇒ Object



5
6
7
8
9
10
11
12
13
# File 'lib/peel/modelable.rb', line 5

def initialize(**args)
  args.each do |attribute, value|
    if self.class.columns.include?(attribute)
      instance_variable_set("@#{attribute.to_s}", value)
    else
      raise ArgumentError, "Unknown keyword: #{attribute}"
    end
  end
end