Module: Settings::Setting::Assignment::Object

Extended by:
Settings::Setting::Assignment
Defined in:
lib/settings/setting/assignment.rb

Class Method Summary collapse

Instance Method Summary collapse

Methods included from Settings::Setting::Assignment

assign, assign_value, assignable?, digest, setter_name, setting?

Class Method Details

.assure_settable(receiver, attribute, strict = true) ⇒ Object



56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
# File 'lib/settings/setting/assignment.rb', line 56

def self.assure_settable(receiver, attribute, strict=true)
  logger.trace { "Approving attribute (#{digest(receiver, attribute, strict)})" }

  if strict
    setting = setting?(receiver, attribute)
    unless setting
      logger.warn { "Can't set \"#{attribute}\". It isn't a setting of #{receiver.class.name}." }
      return false
    end
  end

  assignable = assignable? receiver, attribute
  unless assignable
    logger.warn { "Can't set \"#{attribute}\". It isn't assignable to #{receiver.class.name}." }
    return false
  end

  logger.debug { "\"#{attribute}\" can be set" }
  true
end

Instance Method Details

#loggerObject



52
53
54
# File 'lib/settings/setting/assignment.rb', line 52

def logger
  @logger ||= Log.get(self)
end