From 954aee369ea0aaf8887429e9506f8bc8740528f9 Mon Sep 17 00:00:00 2001 From: Joenio Costa Date: Tue, 15 Feb 2011 10:46:45 -0300 Subject: [PATCH] Removing duplicated code from Task models --- app/models/add_friend.rb | 2 +- app/models/add_member.rb | 2 +- app/models/approve_article.rb | 30 +----------------------------- app/models/change_password.rb | 10 ---------- app/models/create_community.rb | 16 +--------------- app/models/create_enterprise.rb | 16 +--------------- app/models/enterprise_activation.rb | 1 - app/models/invitation.rb | 1 - app/models/suggest_article.rb | 3 --- app/models/ticket.rb | 1 - 10 files changed, 5 insertions(+), 77 deletions(-) diff --git a/app/models/add_friend.rb b/app/models/add_friend.rb index 5995638..2e2a96d 100644 --- a/app/models/add_friend.rb +++ b/app/models/add_friend.rb @@ -1,6 +1,6 @@ class AddFriend < Task - acts_as_having_settings :group_for_person, :group_for_friend, :field => :data + settings_items :group_for_person, :group_for_friend validates_presence_of :requestor_id, :target_id diff --git a/app/models/add_member.rb b/app/models/add_member.rb index 9879e29..7ae60e6 100644 --- a/app/models/add_member.rb +++ b/app/models/add_member.rb @@ -8,7 +8,7 @@ class AddMember < Task alias :organization :target alias :organization= :target= - acts_as_having_settings :roles, :field => :data + settings_items :roles def perform self.roles ||= [Profile::Roles.member(organization.environment.id).id] diff --git a/app/models/approve_article.rb b/app/models/approve_article.rb index 0e35ebb..4bc32e7 100644 --- a/app/models/approve_article.rb +++ b/app/models/approve_article.rb @@ -1,16 +1,10 @@ class ApproveArticle < Task - serialize :data, Hash - validates_presence_of :requestor_id, :target_id def article_title article ? article.title : _('(The original text was removed)') end - def data - self[:data] ||= {} - end - def article Article.find_by_id data[:article_id] end @@ -27,21 +21,7 @@ class ApproveArticle < Task data[:name] = value end - def closing_statment - data[:closing_statment] - end - - def closing_statment= value - data[:closing_statment] = value - end - - def article_parent_id= value - data[:parent_id] = value - end - - def article_parent_id - data[:parent_id] - end + settings_items :closing_statment, :article_parent_id, :highlighted def article_parent Article.find_by_id article_parent_id.to_i @@ -51,14 +31,6 @@ class ApproveArticle < Task self.article_parent_id = value.id end - def highlighted= value - data[:highlighted] = value - end - - def highlighted - data[:highlighted] - end - def abstract= value data[:abstract] = value end diff --git a/app/models/change_password.rb b/app/models/change_password.rb index 934eaf3..a6c217d 100644 --- a/app/models/change_password.rb +++ b/app/models/change_password.rb @@ -1,10 +1,5 @@ class ChangePassword < Task - serialize :data, Hash - def data - self[:data] ||= {} - end - attr_accessor :login, :email, :password, :password_confirmation, :environment_id def self.human_attribute_name(attrib) @@ -56,11 +51,6 @@ class ChangePassword < Task validates_presence_of :password_confirmation, :on => :update, :if => lambda { |change| change.status != Task::Status::CANCELLED } validates_confirmation_of :password, :if => lambda { |change| change.status != Task::Status::CANCELLED } - def initialize(*args) - super(*args) - self[:data] = {} - end - def title _("Change password") end diff --git a/app/models/create_community.rb b/app/models/create_community.rb index f9904c7..1db2c4c 100644 --- a/app/models/create_community.rb +++ b/app/models/create_community.rb @@ -6,25 +6,11 @@ class CreateCommunity < Task alias :environment :target alias :environment= :target= - serialize :data, Hash - attr_protected :data - def data - self[:data] ||= Hash.new - end - acts_as_having_image DATA_FIELDS = Community.fields + ['name', 'closed'] - DATA_FIELDS.each do |field| - # getter - define_method(field) do - self.data[field.to_sym] - end - # setter - define_method("#{field}=") do |value| - self.data[field.to_sym] = value - end + settings_items field.to_sym end def validate diff --git a/app/models/create_enterprise.rb b/app/models/create_enterprise.rb index e9a9ff3..3998934 100644 --- a/app/models/create_enterprise.rb +++ b/app/models/create_enterprise.rb @@ -12,22 +12,8 @@ class CreateEnterprise < Task N_('Management information') DATA_FIELDS = Enterprise.fields + %w[name identifier region_id] - - serialize :data, Hash - attr_protected :data - def data - self[:data] ||= Hash.new - end - DATA_FIELDS.each do |field| - # getter - define_method(field) do - self.data[field.to_sym] - end - # setter - define_method("#{field}=") do |value| - self.data[field.to_sym] = value - end + settings_items field.to_sym end # checks for virtual attributes diff --git a/app/models/enterprise_activation.rb b/app/models/enterprise_activation.rb index 99d3e6f..8a2c608 100644 --- a/app/models/enterprise_activation.rb +++ b/app/models/enterprise_activation.rb @@ -2,7 +2,6 @@ class EnterpriseActivation < Task class RequestorRequired < Exception; end - acts_as_having_settings :field => :data settings_items :enterprise_id, :integer validates_presence_of :enterprise_id diff --git a/app/models/invitation.rb b/app/models/invitation.rb index 13aaaf7..70fb4a7 100644 --- a/app/models/invitation.rb +++ b/app/models/invitation.rb @@ -1,6 +1,5 @@ class Invitation < Task - acts_as_having_settings :field => :data settings_items :message, :friend_name, :friend_email validates_presence_of :requestor_id diff --git a/app/models/suggest_article.rb b/app/models/suggest_article.rb index 7ca87a3..dd3d21e 100644 --- a/app/models/suggest_article.rb +++ b/app/models/suggest_article.rb @@ -2,9 +2,6 @@ class SuggestArticle < Task has_captcha - serialize :data, Hash - acts_as_having_settings :field => :data - validates_presence_of :target_id, :article_name, :email, :name, :article_body settings_items :email, :type => String diff --git a/app/models/ticket.rb b/app/models/ticket.rb index 7e690b1..320fb1a 100644 --- a/app/models/ticket.rb +++ b/app/models/ticket.rb @@ -1,4 +1,3 @@ class Ticket < Task - acts_as_having_settings :field => :data settings_items :title, :message end -- libgit2 0.21.2