如果访问属性并且其属性没有数据,我有一个模型可以从 REST API 动态加载数据:
class Issue
attr_accessor :ticket_title, :priority, :description
@ticket_title
@priority
@description
def priority
if !@priority.empty?
updateProperties()
end
@priority
end
def description
if !@description.empty?
updateProperties()
end
@description
end
def ticket_title
if !@ticket_title.empty?
updateProperties()
end
@ticket_title
end
def updateProperties
# loads all data from REST API
end
def initialize (hsh = {})
hsh.each { |key, value|
self.instance_variable_set("@#{key}", value)
}
end
end
有两个问题:
- 如果我用 初始化模型
RedmineIssue.new :ticket_title => 'test'
,我不想调用模型updateProperties
,但不知何故它确实如此。 - 有没有办法神奇地声明函数?即,如果没有真正的功能尝试运行元功能?