Sha256: 26e15d40e287ecd5e219dc7a43e57b967e11ce41d31109e9198215d589635a0e
Contents?: true
Size: 813 Bytes
Versions: 1
Compression:
Stored size: 813 Bytes
Contents
module Nusii class Resource def initialize args assign_attributes args end def self.class_name name.split("::").last end def editable_params editable_attributes.each_with_object({}) do |attribute, result| result[attribute.to_s] = self.send(attribute) end end def save_params { self.class.class_name.underscore.singularize => editable_params } end private def assign_attributes args args.each do |attribute, value| value = value.to_i if attribute.match(/\w+\_id$|^id$/) instance_variable_set("@#{attribute}", value) unless value.nil? end self end def editable_attributes raise NotImplementedError, "Each subclass must implement this method" end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
nusii-0.1.1 | lib/nusii/resource.rb |