Commit 7ad3a81e8b855bf989224c2ca09d96f127d0805f

Authored by Daniel
1 parent 6965920b

Memoize attributes in KalibroConfig. and ReadingGroup, fixing destroy

app/models/kalibro_configuration.rb
1 class KalibroConfiguration < KalibroClient::Entities::Configurations::KalibroConfiguration 1 class KalibroConfiguration < KalibroClient::Entities::Configurations::KalibroConfiguration
2 include KalibroRecord 2 include KalibroRecord
  3 + attr_writer :attributes
3 4
4 def self.public_or_owned_by_user(user=nil) 5 def self.public_or_owned_by_user(user=nil)
5 kalibro_configuration_attributes = KalibroConfigurationAttributes.where(public: true) 6 kalibro_configuration_attributes = KalibroConfigurationAttributes.where(public: true)
@@ -19,12 +20,11 @@ class KalibroConfiguration &lt; KalibroClient::Entities::Configurations::KalibroCon @@ -19,12 +20,11 @@ class KalibroConfiguration &lt; KalibroClient::Entities::Configurations::KalibroCon
19 end 20 end
20 21
21 def attributes 22 def attributes
22 - KalibroConfigurationAttributes.find_by(kalibro_configuration_id: self.id) 23 + @attributes ||= KalibroConfigurationAttributes.find_by(kalibro_configuration_id: self.id)
23 end 24 end
24 25
25 def destroy 26 def destroy
26 - attrs = attributes  
27 - attrs.destroy unless attrs.nil? 27 + attributes.destroy unless attributes.nil?
28 super 28 super
29 end 29 end
30 end 30 end
app/models/reading_group.rb
1 class ReadingGroup < KalibroClient::Entities::Configurations::ReadingGroup 1 class ReadingGroup < KalibroClient::Entities::Configurations::ReadingGroup
2 include KalibroRecord 2 include KalibroRecord
  3 + attr_writer :attributes
3 4
4 def self.public_or_owned_by_user(user=nil) 5 def self.public_or_owned_by_user(user=nil)
5 reading_group_attributes = ReadingGroupAttributes.where(public: true) 6 reading_group_attributes = ReadingGroupAttributes.where(public: true)
@@ -19,6 +20,11 @@ class ReadingGroup &lt; KalibroClient::Entities::Configurations::ReadingGroup @@ -19,6 +20,11 @@ class ReadingGroup &lt; KalibroClient::Entities::Configurations::ReadingGroup
19 end 20 end
20 21
21 def attributes 22 def attributes
22 - ReadingGroupAttributes.find_by(reading_group_id: self.id) 23 + @attributes ||= ReadingGroupAttributes.find_by(reading_group_id: self.id)
  24 + end
  25 +
  26 + def destroy
  27 + attributes.destroy unless attributes.nil?
  28 + super
23 end 29 end
24 end 30 end