ruby_ufebs 0.1.11 → 0.1.12

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
  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