module PulsarSdk::Tweaks::AssignAttributes

Public Class Methods

new(opts = {}) click to toggle source
# File lib/pulsar_sdk/tweaks/assign_attributes.rb, line 4
def initialize(opts = {})
  set_default

  assign_attributes(opts)

  remove_empty_instance_variables!
end

Public Instance Methods

assign_attributes(opts) click to toggle source
# File lib/pulsar_sdk/tweaks/assign_attributes.rb, line 12
def assign_attributes(opts)
  opts.each do |k, v|
    method = "#{k}="
    next unless self.respond_to?(method)
    self.public_send method, v
  end
end

Private Instance Methods

remove_empty_instance_variables!() click to toggle source
# File lib/pulsar_sdk/tweaks/assign_attributes.rb, line 23
def remove_empty_instance_variables!
  instance_variables.each do |x|
    remove_instance_variable(x) if instance_variable_get(x).nil?
  end
end
set_default() click to toggle source
# File lib/pulsar_sdk/tweaks/assign_attributes.rb, line 21
def set_default; end