dolar-bna 1.2.5 → 1.2.6

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 02242b5a3c76e60de04841f3bacd3d61663df1e4ef46ee2f814cefd9786cbda8
4
- data.tar.gz: 515ce9858b121266e0e9c4148c550d21e562e5945b386c962e3b6332f64141a9
3
+ metadata.gz: 3a5ee0e822588ab6a2953797cb21c2e828fd00d2693ef0a597e942c1720abf44
4
+ data.tar.gz: f1d44673bcdf075ab1f77c77f7c360055caf65a872e45a8de59e96ee564c227a
5
5
  SHA512:
6
- metadata.gz: d2929210f18902108d4003e371c5628785769596c1d5347584b17301103d6f7e803d45d913a1d3b4d4bb529e4918266a5624b2d165d5910d7aeeee7fbf573ce2
7
- data.tar.gz: 2ba4e95572a52fd78966d5c5e873c996cbee96ab3ae59c8cba1be2ff8900ad2798b32c75e49265c33d4588a11b081ed1cd0499a93184be72c04b885624802455
6
+ metadata.gz: f0cfb28dcc754e6f79eb97f24e5ddb6aa1b970a03f67c5f6b362c8685b7418ed52348e9694833227e7dab0e44736e03bbe58af4fc7e1386019d881d128355147
7
+ data.tar.gz: b3b404f210d48ca266302fab94838fc88358295c9d92604a05381035fd36fffbac2d6a21399c599a5a79fa49e662fc103299772e7880a2746fcec5faa7a0cbc0
@@ -13,7 +13,7 @@ module Dolar
13
13
 
14
14
  validates_inclusion_of :dolar_type, in: DOLAR_TYPES, message: 'Tipo de cotización inválido'
15
15
 
16
- after_save :set_dolar_agro, if: :dolar_mep?
16
+ after_save :set_dolar_agro, if: :dolar_agro_changer?
17
17
 
18
18
  def self.search_by_date_range search
19
19
  unless search.blank?
@@ -41,15 +41,17 @@ module Dolar
41
41
  end
42
42
  end
43
43
 
44
- def dolar_mep?
45
- dolar_type == "MEP"
44
+ def dolar_agro_changer?
45
+ dolar_type == 'MEP' || dolar_type == 'Divisa'
46
46
  end
47
47
 
48
48
  def set_dolar_agro
49
- divisa_value = Dolar::Bna::DolarCotization.where(dolar_type: 'Divisa', date: self.date).order(date: :asc, created_at: :asc).last
50
- if divisa_value
51
- dolar_buy_average = ((self.dolar_buy.to_f * 0.2) + (divisa_value.dolar_buy.to_f * 0.8)).round(2)
52
- dolar_sell_average = ((self.dolar_sell.to_f * 0.2) + (divisa_value.dolar_sell.to_f * 0.8)).round(2)
49
+ first_dolar_multiplier = (dolar_type == 'MEP' ? 0.2 : 0.8)
50
+ second_dolar_multiplier = (dolar_type == 'MEP' ? 0.8 : 0.2)
51
+ other_dolar_to_calc = Dolar::Bna::DolarCotization.where(dolar_type: dolar_type == 'MEP' ? 'Divisa' : 'MEP', date: self.date).order(date: :asc, created_at: :asc).last
52
+ if other_dolar_to_calc
53
+ dolar_buy_average = ((self.dolar_buy.to_f * first_dolar_multiplier) + (other_dolar_to_calc.dolar_buy.to_f * second_dolar_multiplier)).round(2)
54
+ dolar_sell_average = ((self.dolar_sell.to_f * first_dolar_multiplier) + (other_dolar_to_calc.dolar_sell.to_f * second_dolar_multiplier)).round(2)
53
55
  Dolar::Bna::DolarCotization.create(dolar_type: 'Agro', dolar_buy: dolar_buy_average, dolar_sell: dolar_sell_average, date: self.date)
54
56
  end
55
57
  end
@@ -1,5 +1,5 @@
1
1
  module Dolar
2
2
  module Bna
3
- VERSION = "1.2.5"
3
+ VERSION = "1.2.6"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dolar-bna
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.5
4
+ version: 1.2.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - LITECODE