ruby_ufebs 0.1.11 → 0.1.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: e9c43fce310f15885d39152aa8ce0c3e91292614
4
- data.tar.gz: e186ae603f4efda7dc82154398ea5bb154a7b0ad
3
+ metadata.gz: 4abccd29721f5438cd5d51c4947a7c052b8ba48a
4
+ data.tar.gz: ac9cbdfed2bacc8a169f97a03a7870e00b3ef763
5
5
  SHA512:
6
- metadata.gz: a25c6fd865729f9ccbe097bfabd81805a62ab57faf4912b87d05252af052c0e8a3a5007a267ae4fb33b9e866be358cc87a2a02575ef28baa79804787edcc166c
7
- data.tar.gz: e6e32811995b947fe47706d60e240c61b1f900f8f3aa8442f166d7075e511bcaefb71841ccfd88218d2bfbb46519968520fcf86df89a8eeccb0f6feb907b07d5
6
+ metadata.gz: 364ec92dccd2c910998cbe20db9a03140d633f1bf8dc1a83be76178c091fe88ac5ff9e61901aee1712b846483d1ff866d584a61b1927a1cf64c6d7f7445be8eb
7
+ data.tar.gz: 5d4fb64b8da0eb95b7b89d43ea6a1fe87a40624cfaf6b3d85558a9d1d1385eb15fcf4d22d030b236299b0c904e4862d93e529a6e9fc03656b92e208059eded5d
data/Guardfile CHANGED
@@ -1,5 +1,9 @@
1
1
  guard :minitest do
2
- watch(%r{^test/(.*)\/?test_(.*)\.rb$})
3
- watch(%r{^lib/ufebs/(.*/)?([^/]+)\.rb$}) { |m| "test/#{m[1]}#{m[2]}_test.rb" }
2
+ watch(%r{^test\/(.*)\/?(.*)_test\.rb$}) { |m| "test/#{m[1]}_test.rb" }
3
+ watch(%r{^lib\/(ufebs)\.rb|ufebs\/(.+)\.rb$}) do |m|
4
+ pattern = "test/ufebs_test.rb" if m[1]
5
+ pattern = "test/#{m[2]}_test.rb" if m[2]
6
+ pattern
7
+ end
4
8
  watch(%r{^test/test_helper\.rb$}) { 'test' }
5
9
  end
@@ -17,14 +17,15 @@ module Ufebs
17
17
 
18
18
  has_many :payment_orders, Ufebs::Documents::PaymentOrder
19
19
 
20
- def initialize(payment_orders, params = {})
20
+ def initialize(payment_orders=[], params = {})
21
21
  @payment_orders = payment_orders
22
22
  @ed_date = Date.parse(params.fetch(:ed_date){Time.now}.to_s).strftime('%Y-%m-%d')
23
23
  @ed_author = params[:ed_author]
24
24
  @number = params[:number]
25
25
  @quantity = params[:quantity] || payment_orders.size
26
- @sum = params[:sum] || payment_orders.sum(&:sum)
26
+ @sum = params[:sum]
27
27
  @system_code = '01'
28
+ super()
28
29
  end
29
30
 
30
31
  def to_xml(encoding: 'UTF-8')
@@ -34,17 +34,21 @@ module Ufebs
34
34
 
35
35
  has_one :departmental_info, Ufebs::Entities::DepartmentalInfo, tag: 'DepartmentalInfo', state_when_nil: false
36
36
 
37
+ def validate
38
+ Ufebs.validate(to_xml)
39
+ end
40
+
37
41
  def initialize(
38
42
  ed_date: Time.now,
39
- number:,
40
- sum:,
43
+ number: nil,
44
+ sum: nil,
41
45
  charge_off_date: Time.now,
42
46
  priority: 0,
43
47
  receipt_date: Time.now,
44
- ed_author:,
45
- acc_doc: Ufebs::Entities::AccDoc.new,
46
- payer: Ufebs::Entities::Participant.new,
47
- payee: Ufebs::Entities::Participant.new,
48
+ ed_author: '',
49
+ acc_doc: nil,
50
+ payer: nil,
51
+ payee: nil,
48
52
  purpose: '',
49
53
  uin: nil,
50
54
  payt_kind: nil,
@@ -72,6 +76,8 @@ module Ufebs
72
76
  @system_code = system_code || SYSTEM_CODE
73
77
 
74
78
  yield self if block_given?
79
+
80
+ super()
75
81
  end
76
82
  end
77
83
  end
@@ -2,12 +2,15 @@ module Ufebs
2
2
  module Entities
3
3
  class AccDoc
4
4
  include HappyMapper
5
+ register_namespace 'ed', "urn:cbr-ru:ed:v2.0"
6
+ namespace 'ed'
7
+
5
8
  attribute :number, String, tag: 'AccDocNo'
6
9
  attribute :date, String, tag: 'AccDocDate'
7
10
 
8
11
  def initialize(number:'', date: Time.now)
9
- @number, @date = number.to_s.rjust(3,'0'), Date.parse(date.to_s).strftime('%Y-%m-%d')
12
+ @number, @date = number.to_s.rjust(6,'0'), Date.parse(date.to_s).strftime('%Y-%m-%d')
10
13
  end
11
14
  end
12
15
  end
13
- end
16
+ end
@@ -3,6 +3,9 @@ module Ufebs
3
3
  class Bank
4
4
  include HappyMapper
5
5
 
6
+ register_namespace 'ed', "urn:cbr-ru:ed:v2.0"
7
+ namespace 'ed'
8
+
6
9
  attribute :bic, String, tag: 'BIC'
7
10
  attribute :account, String, tag: 'CorrespAcc'
8
11
 
@@ -2,6 +2,9 @@ module Ufebs
2
2
  module Entities
3
3
  class DepartmentalInfo
4
4
  include HappyMapper
5
+ register_namespace 'ed', "urn:cbr-ru:ed:v2.0"
6
+ namespace 'ed'
7
+
5
8
  attribute :kbk, String, tag: 'CBC'
6
9
  attribute :okato, String, tag: 'OKATO'
7
10
  attribute :tax_period, String, tag: 'TaxPeriod'
@@ -5,6 +5,9 @@ module Ufebs
5
5
  class Participant
6
6
  include HappyMapper
7
7
 
8
+ register_namespace 'ed', "urn:cbr-ru:ed:v2.0"
9
+ namespace 'ed'
10
+
8
11
  attribute :inn, String, tag: 'INN'
9
12
  attribute :account, String, tag: 'PersonalAcc'
10
13
  attribute :kpp, String, tag: 'KPP'
data/lib/ufebs/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module RubyUfebs
2
- VERSION = "0.1.11"
2
+ VERSION = "0.1.12"
3
3
  end
data/lib/ufebs.rb CHANGED
@@ -52,7 +52,7 @@ module Ufebs
52
52
 
53
53
 
54
54
  # Создание XML по формату ED101(Платежное поручение)
55
- # @param params [Hash] Hash значений документа
55
+ # @param params [Hash, String] Hash значений документа или его строковое представление в виде XML
56
56
  # @option params [Integer] :number номер документа аттрибут EDNo
57
57
  # @option params [Integer] :sum Сумма документа аттрибут Sum
58
58
  # @option params [DateTime] :receipt_date ReceiptDate дата обработки
@@ -110,7 +110,7 @@ module Ufebs
110
110
  # <ed:DepartmentalInfo CBC="18210301000010000110" OKATO="45263591000" TaxPeriod="МС.03.2017" DrawerStatus="01" PaytReason="ТП" DocNo="111" TaxPaytKind="НС" DocDate="2017-12-11"/>
111
111
  # </ed:ED101>'
112
112
  def ED101(params)
113
- Ufebs::Documents::PaymentOrder.new(params)
113
+ params.is_a?(Hash) ? Ufebs::Documents::PaymentOrder.new(params) : Ufebs::Documents::PaymentOrder.parse(params)
114
114
  end
115
115
 
116
116
  def PackedEPD(payment_eds, params)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby_ufebs
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.11
4
+ version: 0.1.12
5
5
  platform: ruby
6
6
  authors:
7
7
  - Evgeniy Burdaev
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-12-12 00:00:00.000000000 Z
11
+ date: 2017-12-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler