saft 0.1.1
Sign up to get free protection for your applications and to get access to all the features.
- 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
|