module Settings::Setting::Assignment

Public Instance Methods

assign(receiver, attribute, value, strict=false) click to toggle source
# File lib/settings/setting/assignment.rb, line 6
def assign(receiver, attribute, value, strict=false)
  settable = assure_settable(receiver, attribute, strict)
  if settable
    assign_value(receiver, attribute, value)
  end

  receiver
end
assign_value(receiver, attribute, value) click to toggle source
# File lib/settings/setting/assignment.rb, line 15
def assign_value(receiver, attribute, value)
  receiver.public_send("#{attribute}=", value)
end
assignable?(receiver, attribute) click to toggle source
# File lib/settings/setting/assignment.rb, line 24
def assignable?(receiver, attribute)
  receiver.respond_to? setter_name(attribute)
end
setter_name(attribute) click to toggle source
# File lib/settings/setting/assignment.rb, line 28
def setter_name(attribute)
  :"#{attribute.to_s}=" unless attribute.to_s.end_with? '='
end
setting?(receiver, attribute) click to toggle source
# File lib/settings/setting/assignment.rb, line 19
def setting?(receiver, attribute)
  receiver_class = receiver.class
  Settings::Registry.instance.setting? receiver_class, attribute
end