class Nusii::Resource

Public Class Methods

class_name() click to toggle source
# File lib/nusii/resource.rb, line 8
def self.class_name
  name.split("::").last
end
new(args) click to toggle source
# File lib/nusii/resource.rb, line 4
def initialize args
  assign_attributes args
end

Public Instance Methods

editable_params() click to toggle source
# File lib/nusii/resource.rb, line 12
def editable_params
  editable_attributes.each_with_object({}) do |attribute, result|
    result[attribute.to_s] = self.send(attribute)
  end
end
save_params() click to toggle source
# File lib/nusii/resource.rb, line 18
def save_params
  {
    self.class.class_name.underscore.singularize => editable_params
  }
end

Private Instance Methods

assign_attributes(args) click to toggle source
# File lib/nusii/resource.rb, line 26
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
editable_attributes() click to toggle source
# File lib/nusii/resource.rb, line 34
def editable_attributes
  raise NotImplementedError,
    "Each subclass must implement this method"
end