Skip to content

Commit

Permalink
chore: previous company for processors/company/base
Browse files Browse the repository at this point in the history
  • Loading branch information
sergei-kucher committed Mar 21, 2018
1 parent 3301d1e commit 0d0e6c6
Show file tree
Hide file tree
Showing 3 changed files with 24 additions and 0 deletions.
6 changes: 6 additions & 0 deletions lib/treasury/processors/base.rb
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,9 @@ class Base < Treasury::Pgq::Consumer
attr_reader :data
attr_reader :params
attr_reader :event

attr_accessor :object
attr_accessor :prev_object

def initialize(processor_info, logger = Rails.logger)
@processor_info = processor_info
Expand Down Expand Up @@ -73,6 +75,10 @@ def current_value(field_name = nil)
object_value(@object, field_name)
end

def previous_value(field_name = nil)
object_value(@prev_object, field_name)
end

def object_value(l_object, field_name = nil)
value = if @data.key?(l_object) && @data[l_object].key?(field_name || field.first_field)
@data[l_object][field_name || field.first_field]
Expand Down
9 changes: 9 additions & 0 deletions lib/treasury/processors/company/base.rb
Original file line number Diff line number Diff line change
Expand Up @@ -7,16 +7,25 @@ class Base < ::Treasury::Processors::Base
alias :company_id= :object=
alias :company_id :object

alias :prev_company_id= :prev_object=
alias :prev_company_id :prev_object

protected

def init_event_params
self.company_id = extract_company.to_i.nonzero?
self.prev_company_id = extract_prev_company.to_i.nonzero?

raise ArgumentError, "Company ID expected to be Integer, #{@event.inspect}" unless company_id
end

def extract_company
@event.raw_data.key?(:company_id) ? @event.raw_data[:company_id] : @event.raw_data[:id]
end

def extract_prev_company
@event.raw_prev_data.key?(:company_id) ? @event.raw_prev_data[:company_id] : @event.raw_prev_data[:id]
end
end
end
end
Expand Down
9 changes: 9 additions & 0 deletions lib/treasury/processors/user/base.rb
Original file line number Diff line number Diff line change
Expand Up @@ -7,16 +7,25 @@ class Base < ::Treasury::Processors::Base
alias :user_id= :object=
alias :user_id :object

alias :prev_user_id= :prev_object=
alias :prev_user_id :prev_object

protected

def init_event_params
self.user_id = extract_user
self.prev_user_id = extract_prev_user

raise ArgumentError, "User ID expected to be Integer, #{@event.inspect}" unless user_id
end

def extract_user
@event.raw_data[:user_id] || @event.raw_data[:id]
end

def extract_prev_user
@event.raw_prev_data[:user_id] || @event.raw_prev_data[:id]
end
end
end
end
Expand Down

0 comments on commit 0d0e6c6

Please sign in to comment.