Module: Settings::Setting::Assignment::Attribute

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



85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
# File 'lib/settings/setting/assignment.rb', line 85

def self.assure_settable(receiver, attribute, strict=true)
  if strict
    setting = setting? receiver, attribute
    unless setting
      msg = "Can't set \"#{attribute}\". It isn't a setting of #{receiver.class.name}."
      logger.error { msg }
      raise msg
    end
  end

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

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

Instance Method Details

#loggerObject



81
82
83
# File 'lib/settings/setting/assignment.rb', line 81

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