saft 0.1.1
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 +7 -0
- data/.gemspec +34 -0
- data/.rspec +4 -0
- data/.rubocop.yml +72 -0
- data/.rubocop_strict.yml +7 -0
- data/.ruby-gemset +1 -0
- data/CHANGELOG.md +5 -0
- data/Gemfile +26 -0
- data/Rakefile +18 -0
- data/docs/Norwegian SAF-T Financial data.pdf +0 -0
- data/docs/Norwegian SAF-T Standard VAT:Tax codes.pdf +0 -0
- data/docs/saf-t v2 xsd by oecd.pdf +0 -0
- data/lib/saft/v2/html.css +3 -0
- data/lib/saft/v2/html.rb +685 -0
- data/lib/saft/v2/html_dist.css +594 -0
- data/lib/saft/v2/norway.rb +133 -0
- data/lib/saft/v2/parse.rb +351 -0
- data/lib/saft/v2/scribe.rb +364 -0
- data/lib/saft/v2/types.rb +493 -0
- data/lib/saft/v2/xsd_validate.rb +28 -0
- data/lib/saft/v2.rb +36 -0
- data/lib/saft/version.rb +3 -0
- data/lib/saft.rb +26 -0
- data/package.json +15 -0
- data/pnpm-lock.yaml +443 -0
- data/readme.md +92 -0
- data/tailwind.config.js +10 -0
- data/vendor/SAF-T_Financial_Schema_NO_1.10.xsd +3343 -0
- data/vendor/norway/general_ledger_standard_accounts.xsd +54 -0
- data/vendor/norway/general_ledger_standard_accounts_2_character.csv +75 -0
- data/vendor/norway/general_ledger_standard_accounts_2_character.xml +373 -0
- data/vendor/norway/general_ledger_standard_accounts_4_character.csv +747 -0
- data/vendor/norway/general_ledger_standard_accounts_4_character.xml +3733 -0
- data/vendor/norway/standard_tax_codes.csv +31 -0
- data/vendor/norway/standard_tax_codes.xml +199 -0
- data/vendor/norway/standard_tax_codes.xsd +67 -0
- metadata +121 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 0dbac905e282930a2cb6da9bcbecdecf0ef0bd071aa5c45418f3795204d161d8
|
4
|
+
data.tar.gz: 316fe426fbac259057ffdfa4f279741f3d3c3cba22dac1ee854e7448843fe35e
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 2f307ff77d1749615135d194bfc2eda65352a856330c22a79a6db32575ea1c074362b2e9b73f3429328622673eddc5c76d847896ba0a17b61bcab6803ca8e198
|
7
|
+
data.tar.gz: 26d34531bea91a1981e3bcd47204d648f222890ff0f74c3c46530d1a887e40d7174968cc4872eecf31ce191b4fb9fa9300f0b515780e664b146f6c2e317a9350
|
data/.gemspec
ADDED
@@ -0,0 +1,34 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative "lib/saft/version"
|
4
|
+
|
5
|
+
Gem::Specification.new do |spec|
|
6
|
+
spec.name = "saft"
|
7
|
+
spec.version = SAFT::VERSION
|
8
|
+
spec.summary = "SAF-T parser and writer"
|
9
|
+
spec.authors = ["Dodo developer", "Simon Toivo Telhaug"]
|
10
|
+
spec.email = ["simon.toivo.telhaug@dev.dodo.no"]
|
11
|
+
# spec.homepage = "http://tba.no"
|
12
|
+
|
13
|
+
spec.license = "MIT"
|
14
|
+
spec.required_ruby_version = ">= 2.6.0"
|
15
|
+
# spec.metadata["homepage_uri"] = spec.homepage
|
16
|
+
# spec.metadata["source_code_uri"] = spec.homepage
|
17
|
+
# spec.metadata["changelog_uri"] = "#{spec.homepage}/CHANGELOG.md"
|
18
|
+
|
19
|
+
# Specify which files should be added to the gem when it is released.
|
20
|
+
# The `git ls-files -z` loads the files in the RubyGem that have been added into git.
|
21
|
+
spec.files = Dir.chdir(File.expand_path(__dir__)) do
|
22
|
+
`git ls-files -z`.split("\x0").reject do |f|
|
23
|
+
(f == __FILE__) || f.match(%r{\A(?:(?:test|spec|features)/|\.(?:git))})
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
spec.bindir = "exe"
|
28
|
+
spec.executables = spec.files.grep(%r{\Aexe/}) { |f| File.basename(f) }
|
29
|
+
spec.require_paths = ["lib"]
|
30
|
+
|
31
|
+
spec.add_dependency("zeitwerk", "~> 2.5")
|
32
|
+
spec.add_dependency("dry-struct", "~> 1.4")
|
33
|
+
spec.add_dependency("nokogiri", "~> 1.13")
|
34
|
+
end
|
data/.rspec
ADDED
data/.rubocop.yml
ADDED
@@ -0,0 +1,72 @@
|
|
1
|
+
# We want Exclude directives from different
|
2
|
+
# config files to get merged, not overwritten
|
3
|
+
inherit_mode:
|
4
|
+
merge:
|
5
|
+
- Exclude
|
6
|
+
|
7
|
+
require:
|
8
|
+
- rubocop-rspec
|
9
|
+
- rubocop-performance
|
10
|
+
- rubocop-rake
|
11
|
+
# Standard's config uses this custom cop,
|
12
|
+
# so it must be loaded
|
13
|
+
- standard
|
14
|
+
|
15
|
+
inherit_gem:
|
16
|
+
standard: config/base.yml
|
17
|
+
|
18
|
+
inherit_from:
|
19
|
+
- .rubocop_strict.yml
|
20
|
+
|
21
|
+
AllCops:
|
22
|
+
TargetRubyVersion: 3.1
|
23
|
+
|
24
|
+
# Sometimes we enable metrics cops
|
25
|
+
# (which are disabled in Standard by default)
|
26
|
+
#
|
27
|
+
# Metrics:
|
28
|
+
# Enabled: true
|
29
|
+
|
30
|
+
Layout/EmptyLineBetweenDefs:
|
31
|
+
Enabled: false
|
32
|
+
|
33
|
+
Style/TrailingCommaInArguments:
|
34
|
+
EnforcedStyleForMultiline: consistent_comma
|
35
|
+
Style/TrailingCommaInArrayLiteral:
|
36
|
+
EnforcedStyleForMultiline: consistent_comma
|
37
|
+
Style/TrailingCommaInHashLiteral:
|
38
|
+
EnforcedStyleForMultiline: consistent_comma
|
39
|
+
Style/RescueStandardError:
|
40
|
+
EnforcedStyle: explicit
|
41
|
+
|
42
|
+
RSpec/BeEq:
|
43
|
+
Enabled: true
|
44
|
+
RSpec/BeNil:
|
45
|
+
Enabled: true
|
46
|
+
EnforcedStyle: be
|
47
|
+
RSpec/ChangeByZero:
|
48
|
+
Enabled: true
|
49
|
+
RSpec/ExampleLength:
|
50
|
+
Max: 40
|
51
|
+
RSpec/ExcessiveDocstringSpacing:
|
52
|
+
Enabled: true
|
53
|
+
RSpec/FactoryBot/SyntaxMethods:
|
54
|
+
Enabled: false
|
55
|
+
RSpec/HookArgument:
|
56
|
+
EnforcedStyle: each
|
57
|
+
RSpec/IdenticalEqualityAssertion:
|
58
|
+
Enabled: true
|
59
|
+
RSpec/MessageSpies:
|
60
|
+
Enabled: false
|
61
|
+
RSpec/MultipleExpectations:
|
62
|
+
Max: 10
|
63
|
+
RSpec/MultipleMemoizedHelpers:
|
64
|
+
Enabled: false
|
65
|
+
RSpec/Rails/AvoidSetupHook:
|
66
|
+
Enabled: false
|
67
|
+
RSpec/StubbedMock:
|
68
|
+
Enabled: false
|
69
|
+
RSpec/SubjectDeclaration:
|
70
|
+
Enabled: true
|
71
|
+
RSpec/VerifiedDoubleReference:
|
72
|
+
Enabled: true
|
data/.rubocop_strict.yml
ADDED
data/.ruby-gemset
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
saft
|
data/CHANGELOG.md
ADDED
data/Gemfile
ADDED
@@ -0,0 +1,26 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
source "https://rubygems.org"
|
4
|
+
|
5
|
+
git_source(:github) { |repo_name| "https://github.com/#{repo_name}" }
|
6
|
+
|
7
|
+
gemspec
|
8
|
+
|
9
|
+
gem "rake", "~> 13.0"
|
10
|
+
gem "tubby"
|
11
|
+
|
12
|
+
group :test do
|
13
|
+
gem "rspec", "~> 3.12"
|
14
|
+
gem "deep_compact", "~> 0.1.0"
|
15
|
+
end
|
16
|
+
|
17
|
+
group :development, :test do
|
18
|
+
gem "standard", "~> 1.18"
|
19
|
+
|
20
|
+
gem "rubocop", "~> 1.39"
|
21
|
+
gem "rubocop-performance", "~> 1.15"
|
22
|
+
gem "rubocop-rake", "~> 0.6.0"
|
23
|
+
gem "rubocop-rspec", "~> 2.15"
|
24
|
+
|
25
|
+
gem "dead_end", "~> 4.0"
|
26
|
+
end
|
data/Rakefile
ADDED
@@ -0,0 +1,18 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "bundler/gem_tasks"
|
4
|
+
require "rspec/core/rake_task"
|
5
|
+
|
6
|
+
RSpec::Core::RakeTask.new(:spec)
|
7
|
+
|
8
|
+
require "rubocop/rake_task"
|
9
|
+
|
10
|
+
RuboCop::RakeTask.new do |t|
|
11
|
+
config_file = File.join(File.dirname(__FILE__), ".rubocop.yml")
|
12
|
+
|
13
|
+
t.options = ["-c", config_file]
|
14
|
+
t.options << "-a" if ARGV.include?("-a")
|
15
|
+
t.options << "-A" if ARGV.include?("-A")
|
16
|
+
end
|
17
|
+
|
18
|
+
task default: %i[spec rubocop]
|
Binary file
|
Binary file
|
Binary file
|