efo_nelfo 1.0.0 → 1.1.0

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: 5c4b4dce00c7c566c8cf0866f02cc7560a5bd3c4
4
- data.tar.gz: 1e1bcc1e132c347c94d82ccc265bedc4cb8b4407
3
+ metadata.gz: b537774388538c770ec1282b7d1c5902ea651989
4
+ data.tar.gz: 179c2a02944098fcecd0d28d5e3e36fdebd40cb0
5
5
  SHA512:
6
- metadata.gz: fe36c958173bbfc4ac87379b730d73c12721af0d0663f5bffdf527ac6b7aeffa2740eb78fa066764a62d60d89a23d3a933abf98f1d07f1496234fc6465a25cee
7
- data.tar.gz: 96743647440ed7561e5b9df4670a50fa98e8e7a78c00cf9c452a25200c4f6e5880e5cf0adfd17c237d43f8a1455174a109ae4d591816817ea01270d4ab571298
6
+ metadata.gz: 69ea8d385d4dca754374bb43c92eb91a2d29ab06b3547369f65b56a08334ce3c15d04881a859af4fbc70c229ce4bfa3b19c75061f55ace5fa4ba1dee1c99080f
7
+ data.tar.gz: a83c65e5668b027e7d5eefa60bfd9603c8c6981833919aeeb7d271ce565ea980b7ebbea3d3fcbac8939e2ee825e41d234a48c84c4e2bea6296880152aee1d926
@@ -0,0 +1,25 @@
1
+ module EfoNelfo
2
+ module V40
3
+ class RH < EfoNelfo::PostType
4
+ include PostHeadType
5
+
6
+ property :seller_id, alias: :SelgersId, limit: 14, required: true
7
+ property :buyer_id, alias: :KjøpersId, limit: 14
8
+ property :customer_id, alias: :KundeNr, limit: 10, required: true
9
+ property :contract_id, alias: :AvtaleId, limit: 10, required: true
10
+ property :from_date, alias: :FraDato, limit: 8, type: :date, required: true
11
+ property :to_date, alias: :TilDato, limit: 8, type: :date
12
+ property :currency, alias: :Valuta, limit: 3, required: true
13
+ property :contract_type, alias: :Avtaletype, limit: 1, required: true
14
+ property :seller_name, alias: :SFirmaNavn, limit: 35, required: true
15
+ property :seller_address1, alias: :SAdr1, limit: 35
16
+ property :seller_address2, alias: :SAdr2, limit: 35
17
+ property :seller_zip, alias: :SPostNr, limit: 9, required: true
18
+ property :seller_office, alias: :SPostSted, limit: 35, required: true
19
+ property :seller_country, alias: :SLandK, limit: 2
20
+
21
+ has_many :lines, post_type: 'RL'
22
+ end
23
+
24
+ end
25
+ end
@@ -0,0 +1,12 @@
1
+ module EfoNelfo
2
+ module V40
3
+ class RL < EfoNelfo::PostType
4
+ property :post_type, alias: :PostType, limit: 2, default: post_type, required: true
5
+ property :product_type, alias: :VareMrk, limit: 1, type: :integer, required: true
6
+ property :product_number, alias: :VareNr, limit: 14, required: true
7
+ property :price, alias: :AvtaltPris, limit: 10, type: :integer
8
+ property :discount, alias: :Rabatt, limit: 2, required: true
9
+ property :text, alias: :Tekst, limit: 30
10
+ end
11
+ end
12
+ end
@@ -1,3 +1,3 @@
1
1
  module EfoNelfo
2
- VERSION = "1.0.0"
2
+ VERSION = "1.1.0"
3
3
  end
data/lib/efo_nelfo.rb CHANGED
@@ -10,13 +10,9 @@ require 'efo_nelfo/post_type'
10
10
  require 'efo_nelfo/post_head_type'
11
11
 
12
12
  # EfoNelfo v4.0 modules
13
- require 'efo_nelfo/v40/bh'
14
- require 'efo_nelfo/v40/bl'
15
- require 'efo_nelfo/v40/bt'
16
- require 'efo_nelfo/v40/vh'
17
- require 'efo_nelfo/v40/vl'
18
- require 'efo_nelfo/v40/vx'
19
- require 'efo_nelfo/v40/va'
13
+ Dir.glob(File.expand_path('../efo_nelfo/v40/*.rb', __FILE__)).each do |file|
14
+ require file
15
+ end
20
16
 
21
17
  # Reader modules (import)
22
18
  require 'efo_nelfo/reader/csv'
@@ -145,6 +145,24 @@ describe EfoNelfo do
145
145
  end
146
146
  end
147
147
 
148
+ describe "passing a discount file" do
149
+ let(:nelfo) { EfoNelfo.load csv('rabatt.csv') }
150
+ it { nelfo.must_be_instance_of EfoNelfo::V40::RH }
151
+ # RH;EFONELFO;4.0;NO910478656MVA;NO000000000MVA;0;0;20130404;20140404;NOK;H;Alsell Norge AS;Vestre Svanholmen 4;;4313;SANDNES;NO
152
+ it "assigns attributes" do
153
+ nelfo.seller_id.must_equal "NO910478656MVA"
154
+ nelfo.buyer_id.must_equal "NO000000000MVA"
155
+ end
156
+
157
+ it "assigns lines" do
158
+ nelfo.lines.size.must_equal 4
159
+ line = nelfo.lines.last
160
+ line.product_type.must_equal 5
161
+ line.product_number.must_equal "P10501"
162
+ line.AvtaltPris.must_be_nil
163
+ end
164
+ end
165
+
148
166
  describe "passing a Order file" do
149
167
 
150
168
  it "uses the correct version" do