renalware-forms 0.1.11 → 0.1.15
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 +4 -4
- data/.gitignore +8 -0
- data/.rspec +1 -0
- data/.rubocop.yml +63 -0
- data/.ruby-version +1 -0
- data/.semaphore/semaphore.yml +51 -0
- data/CHANGELOG.md +52 -0
- data/Gemfile +21 -0
- data/Gemfile.lock +131 -0
- data/bin/rspec +3 -0
- data/default.yml +6 -0
- data/lib/renalware/forms/generic/homecare/v1/footer.rb +2 -0
- data/lib/renalware/forms/generic/homecare/v1.rb +11 -0
- data/lib/renalware/forms/generic/homecare.rb +2 -0
- data/lib/renalware/forms/generic.rb +2 -0
- data/lib/renalware/forms/homecare/args.rb +97 -99
- data/lib/renalware/forms/homecare.rb +3 -4
- data/lib/renalware/forms/version.rb +1 -1
- data/lib/renalware/forms.rb +5 -9
- data/lib/tasks/tasks.rake +3 -1
- data/renalware-forms.gemspec +34 -0
- data/spec/renalware/forms/args_spec.rb +30 -0
- data/spec/renalware/forms/homecare/generic/v1/allergies_spec.rb +38 -0
- data/spec/renalware/forms/homecare/generic/v1/delivery_frequencies_spec.rb +53 -0
- data/spec/renalware/forms/homecare/generic/v1/heading_spec.rb +26 -0
- data/spec/renalware/forms/homecare/generic/v1/mediations_spec.rb +37 -0
- data/spec/renalware/forms/homecare/generic/v1/patient_details_spec.rb +37 -0
- data/spec/renalware/forms/homecare/generic/v1/prescription_durations_spec.rb +52 -0
- data/spec/renalware/forms/homecare/generic/v1/signoff_spec.rb +19 -0
- data/spec/renalware/forms/homecare/pdf_spec.rb +71 -0
- data/spec/spec_helper.rb +78 -0
- metadata +33 -38
data/lib/renalware/forms.rb
CHANGED
@@ -1,19 +1,15 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require "zeitwerk"
|
4
3
|
require "prawn"
|
5
4
|
require "prawn/table"
|
6
5
|
require "attr_extras"
|
7
|
-
require_relative "./forms/version"
|
8
|
-
|
9
|
-
# Set up autoloading with zeitwerk
|
10
|
-
# As we are nested in lib/renalware/forms, be sure to push an absolute
|
11
|
-
# path to the lib folder.
|
12
|
-
loader = Zeitwerk::Loader.new
|
13
|
-
loader.push_dir File.expand_path("../", __dir__)
|
14
|
-
loader.setup
|
15
6
|
|
16
7
|
module Renalware
|
17
8
|
module Forms
|
18
9
|
end
|
19
10
|
end
|
11
|
+
|
12
|
+
require_relative "forms/base"
|
13
|
+
require_relative "forms/helpers"
|
14
|
+
require_relative "forms/generic"
|
15
|
+
require_relative "forms/homecare"
|
data/lib/tasks/tasks.rake
CHANGED
@@ -0,0 +1,34 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
$LOAD_PATH.push File.expand_path("lib", __dir__)
|
4
|
+
|
5
|
+
# Maintain your gem's version:
|
6
|
+
require "renalware/forms/version"
|
7
|
+
|
8
|
+
# Describe your gem and declare its dependencies:
|
9
|
+
Gem::Specification.new do |spec|
|
10
|
+
spec.name = "renalware-forms"
|
11
|
+
spec.version = Renalware::Forms::VERSION
|
12
|
+
spec.authors = ["Airslie Ltd"]
|
13
|
+
spec.email = ["dev@aisrlie.com"]
|
14
|
+
spec.homepage = "http://airslie.com"
|
15
|
+
spec.summary = "PDF library for Renalware forms"
|
16
|
+
spec.description = "The home for various forms for external providers eg home care prescriptions"
|
17
|
+
spec.license = "MIT"
|
18
|
+
spec.required_ruby_version = ">= 3.0.0"
|
19
|
+
|
20
|
+
spec.files = `git ls-files`.split("\n")
|
21
|
+
spec.test_files = `git ls-files -- {spec}/*`.split("\n")
|
22
|
+
spec.executables = `git ls-files -- bin/*`.split("\n").map { |f| File.basename(f) }
|
23
|
+
spec.require_paths = ["lib"]
|
24
|
+
spec.extra_rdoc_files = ["README.md"]
|
25
|
+
|
26
|
+
spec.add_dependency "activemodel"
|
27
|
+
spec.add_dependency "attr_extras", "~> 6.2"
|
28
|
+
spec.add_dependency "prawn", "~> 2.2"
|
29
|
+
spec.add_dependency "prawn-table", "~> 0.2"
|
30
|
+
spec.add_dependency "rake"
|
31
|
+
spec.add_dependency "virtus"
|
32
|
+
spec.add_development_dependency "pdf-reader"
|
33
|
+
spec.add_development_dependency "rspec"
|
34
|
+
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "spec_helper"
|
4
|
+
|
5
|
+
module Renalware::Forms::Homecare
|
6
|
+
RSpec.describe Args do
|
7
|
+
describe "#patient_name" do
|
8
|
+
subject {
|
9
|
+
hash = default_test_arg_values.update(
|
10
|
+
given_name: "John",
|
11
|
+
family_name: "SMITH",
|
12
|
+
title: title
|
13
|
+
)
|
14
|
+
described_class.new(hash).patient_name
|
15
|
+
}
|
16
|
+
|
17
|
+
context "when title present" do
|
18
|
+
let(:title) { "Mr" }
|
19
|
+
|
20
|
+
it { is_expected.to eq("SMITH, John (Mr)") }
|
21
|
+
end
|
22
|
+
|
23
|
+
context "when title missing" do
|
24
|
+
let(:title) { "" }
|
25
|
+
|
26
|
+
it { is_expected.to eq("SMITH, John") }
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
@@ -0,0 +1,38 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "spec_helper"
|
4
|
+
|
5
|
+
module Renalware::Forms::Generic
|
6
|
+
RSpec.describe Homecare::V1::Allergies do
|
7
|
+
context "when the patient has iit recoreded that they have no known allergies" do
|
8
|
+
it do
|
9
|
+
hash = default_test_arg_values.update(no_known_allergies: true)
|
10
|
+
args = Renalware::Forms::Homecare::Args.new(hash)
|
11
|
+
doc = test_prawn_doc
|
12
|
+
|
13
|
+
described_class.new(doc, args).build
|
14
|
+
|
15
|
+
text = extract_text_from_prawn_doc(doc)
|
16
|
+
expect(text).to include("No Known Allergies")
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
it do
|
21
|
+
hash = default_test_arg_values.update(
|
22
|
+
no_known_allergies: false,
|
23
|
+
allergies: %w(nuts penicillin)
|
24
|
+
)
|
25
|
+
args = Renalware::Forms::Homecare::Args.new(hash)
|
26
|
+
doc = test_prawn_doc
|
27
|
+
|
28
|
+
described_class.new(doc, args).build
|
29
|
+
|
30
|
+
text = extract_text_from_prawn_doc(doc)
|
31
|
+
|
32
|
+
expect(text).not_to include("No Known Allergies")
|
33
|
+
expect(text).to include("Known Allergies")
|
34
|
+
expect(text).to include("nuts")
|
35
|
+
expect(text).to include("penicillin")
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
@@ -0,0 +1,53 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "spec_helper"
|
4
|
+
|
5
|
+
module Renalware::Forms::Generic
|
6
|
+
RSpec.describe Homecare::V1::DeliveryFrequencies do
|
7
|
+
def extract_pdf_text(args)
|
8
|
+
doc = test_prawn_doc
|
9
|
+
described_class.new(doc, args).build
|
10
|
+
extract_text_from_prawn_doc(doc)
|
11
|
+
end
|
12
|
+
|
13
|
+
it do
|
14
|
+
hash = default_test_arg_values.update(delivery_frequencies: ["Once", "3 weeks", "6 weeks"])
|
15
|
+
args = Renalware::Forms::Homecare::Args.new(hash)
|
16
|
+
|
17
|
+
text = extract_pdf_text(args)
|
18
|
+
|
19
|
+
expect(text).to include("Frequency of deliveries")
|
20
|
+
expect(text).to match(/❏ +Once/)
|
21
|
+
expect(text).to match(/❏ +3 weeks/)
|
22
|
+
expect(text).to match(/❏ +6 weeks/)
|
23
|
+
end
|
24
|
+
|
25
|
+
context "when there are no frequencies supplied" do
|
26
|
+
it "displays the defaults" do
|
27
|
+
args = Renalware::Forms::Homecare::Args.new(**default_test_arg_values)
|
28
|
+
|
29
|
+
text = extract_pdf_text(args)
|
30
|
+
|
31
|
+
expect(text).to match(/Frequency of deliveries/)
|
32
|
+
expect(text).to match(/❏ +3 months/)
|
33
|
+
expect(text).to match(/❏ +6 months/)
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
context "when there is a selected delivery_frequency" do
|
38
|
+
it "indicates that frequency has been selected by checking a box" do
|
39
|
+
hash = default_test_arg_values.update(
|
40
|
+
delivery_frequencies: ["3 months", "6 months", "12 months"],
|
41
|
+
selected_delivery_frequency: "6 months"
|
42
|
+
)
|
43
|
+
args = Renalware::Forms::Homecare::Args.new(hash)
|
44
|
+
|
45
|
+
text = extract_pdf_text(args)
|
46
|
+
|
47
|
+
expect(text).to match(/❏ +3 months/)
|
48
|
+
expect(text).to match(/■ +6 months/)
|
49
|
+
expect(text).to match(/❏ +12 months/)
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "spec_helper"
|
4
|
+
|
5
|
+
module Renalware::Forms::Generic
|
6
|
+
RSpec.describe Homecare::V1::Heading do
|
7
|
+
it do
|
8
|
+
hash = default_test_arg_values.update(
|
9
|
+
po_number: "P123",
|
10
|
+
hospital_number: "H123",
|
11
|
+
drug_type: "ESA"
|
12
|
+
)
|
13
|
+
args = Renalware::Forms::Homecare::Args.new(hash)
|
14
|
+
doc = test_prawn_doc
|
15
|
+
|
16
|
+
described_class.new(doc, args).build
|
17
|
+
|
18
|
+
text = extract_text_from_prawn_doc(doc)
|
19
|
+
|
20
|
+
expect(text).to include(args.po_number)
|
21
|
+
expect(text).to include(args.hospital_number)
|
22
|
+
expect(text).to include(args.drug_type)
|
23
|
+
expect(text).to include("Home Delivery Medication List")
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
@@ -0,0 +1,37 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "spec_helper"
|
4
|
+
|
5
|
+
module Renalware::Forms::Generic
|
6
|
+
RSpec.describe Homecare::V1::Medications do
|
7
|
+
it do
|
8
|
+
args = Renalware::Forms::Homecare::Args.new(**default_test_arg_values)
|
9
|
+
args.medications << Renalware::Forms::Homecare::Args::Medication.new(
|
10
|
+
date: "2020-01-01",
|
11
|
+
drug: "Drug1",
|
12
|
+
dose: "Dose1",
|
13
|
+
route: "Route1",
|
14
|
+
frequency: "Freq1"
|
15
|
+
)
|
16
|
+
args.medications << Renalware::Forms::Homecare::Args::Medication.new(
|
17
|
+
date: "2020-02-02",
|
18
|
+
drug: "Drug2",
|
19
|
+
dose: "Dose2",
|
20
|
+
route: "Route2",
|
21
|
+
frequency: "Freq2"
|
22
|
+
)
|
23
|
+
doc = test_prawn_doc
|
24
|
+
|
25
|
+
described_class.new(doc, args).build
|
26
|
+
|
27
|
+
text = extract_text_from_prawn_doc(doc)
|
28
|
+
|
29
|
+
expect(text).to include("2020-01-01")
|
30
|
+
expect(text).to include("Drug1")
|
31
|
+
expect(text).to include("Dose1")
|
32
|
+
expect(text).to include("Route1")
|
33
|
+
expect(text).to include("Freq1")
|
34
|
+
expect(text).to include("Drug2")
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
@@ -0,0 +1,37 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "spec_helper"
|
4
|
+
|
5
|
+
module Renalware::Forms::Generic
|
6
|
+
RSpec.describe Homecare::V1::PatientDetails do
|
7
|
+
it do
|
8
|
+
hash = default_test_arg_values.update(
|
9
|
+
given_name: "John",
|
10
|
+
family_name: "SMITH",
|
11
|
+
title: "Mr",
|
12
|
+
modality: "HD",
|
13
|
+
born_on: "2001-01-01",
|
14
|
+
nhs_number: "0123456789",
|
15
|
+
hospital_number: "X123",
|
16
|
+
address: %w(aa bb cc),
|
17
|
+
postcode: "POSTCODE"
|
18
|
+
)
|
19
|
+
args = Renalware::Forms::Homecare::Args.new(hash)
|
20
|
+
doc = test_prawn_doc
|
21
|
+
|
22
|
+
described_class.new(doc, args).build
|
23
|
+
|
24
|
+
text = extract_text_from_prawn_doc(doc)
|
25
|
+
|
26
|
+
expect(text).to include("SMITH, John (Mr)")
|
27
|
+
expect(text).to include("HD")
|
28
|
+
expect(text).to include("2001-01-01")
|
29
|
+
expect(text).to include("0123456789")
|
30
|
+
expect(text).to include("X123")
|
31
|
+
expect(text).to include("aa")
|
32
|
+
expect(text).to include("bb")
|
33
|
+
expect(text).to include("cc")
|
34
|
+
expect(text).to include("POSTCODE")
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
@@ -0,0 +1,52 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "spec_helper"
|
4
|
+
|
5
|
+
module Renalware::Forms::Generic
|
6
|
+
RSpec.describe Homecare::V1::PrescriptionDurations do
|
7
|
+
def extract_pdf_text(args)
|
8
|
+
doc = test_prawn_doc
|
9
|
+
described_class.new(doc, args).build
|
10
|
+
extract_text_from_prawn_doc(doc)
|
11
|
+
end
|
12
|
+
|
13
|
+
it do
|
14
|
+
hash = default_test_arg_values.update(
|
15
|
+
prescription_durations: ["3 months", "6 months", "12 months"]
|
16
|
+
)
|
17
|
+
args = Renalware::Forms::Homecare::Args.new(hash)
|
18
|
+
|
19
|
+
text = extract_pdf_text(args)
|
20
|
+
|
21
|
+
expect(text).to include("Repeat prescription for")
|
22
|
+
expect(text).to match(/❏ +3 months/)
|
23
|
+
expect(text).to match(/❏ +6 months/)
|
24
|
+
expect(text).to match(/❏ +12 months/)
|
25
|
+
end
|
26
|
+
|
27
|
+
it "works where there are no prescription_durations supplied" do
|
28
|
+
args = Renalware::Forms::Homecare::Args.new(default_test_arg_values)
|
29
|
+
|
30
|
+
text = extract_pdf_text(args)
|
31
|
+
|
32
|
+
expect(text).to include("Repeat prescription for")
|
33
|
+
end
|
34
|
+
|
35
|
+
context "when there is a selected prescription_duration" do
|
36
|
+
it "indicates that duration has been selected eg for checking a box" do
|
37
|
+
args = Renalware::Forms::Homecare::Args.new(
|
38
|
+
default_test_arg_values.update(
|
39
|
+
prescription_durations: ["3 months", "6 months", "12 months"],
|
40
|
+
selected_prescription_duration: "6 months"
|
41
|
+
)
|
42
|
+
)
|
43
|
+
|
44
|
+
text = extract_pdf_text(args)
|
45
|
+
|
46
|
+
expect(text).to match(/❏ +3 months/)
|
47
|
+
expect(text).to match(/■ +6 months/)
|
48
|
+
expect(text).to match(/❏ +12 months/)
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "spec_helper"
|
4
|
+
|
5
|
+
module Renalware::Forms::Generic
|
6
|
+
RSpec.describe Homecare::V1::Signoff do
|
7
|
+
it do
|
8
|
+
args = Renalware::Forms::Homecare::Args.new(
|
9
|
+
**default_test_arg_values.update(consultant: "Dr Pepper")
|
10
|
+
)
|
11
|
+
doc = test_prawn_doc
|
12
|
+
|
13
|
+
described_class.new(doc, args).build
|
14
|
+
|
15
|
+
text = extract_text_from_prawn_doc(doc)
|
16
|
+
expect(text).to include("Dr Pepper")
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,71 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "spec_helper"
|
4
|
+
|
5
|
+
RSpec.describe Renalware::Forms::Homecare::Pdf do
|
6
|
+
describe "#generate" do
|
7
|
+
# describe "argument validation" do
|
8
|
+
# it "throws an error if args is nil" do
|
9
|
+
# expect { described_class.generate(nil) }.to raise_error(ArgumentError)
|
10
|
+
# end
|
11
|
+
|
12
|
+
# it "throws an error if arg.provider is nil" do
|
13
|
+
# args = Renalware::Forms::Homecare::Args.new(provider: nil)
|
14
|
+
|
15
|
+
# expect {
|
16
|
+
# described_class.generate(args)
|
17
|
+
# }.to raise_error(ArgumentError, "Missing provider")
|
18
|
+
# end
|
19
|
+
|
20
|
+
# it "throws an error if arg.provider is an empty string" do
|
21
|
+
# args = Renalware::Forms::Homecare::Args.new(provider: "")
|
22
|
+
|
23
|
+
# expect {
|
24
|
+
# described_class.generate(args)
|
25
|
+
# }.to raise_error(ArgumentError, "Missing provider")
|
26
|
+
# end
|
27
|
+
|
28
|
+
# it "throws an error if arg.version is not a number" do
|
29
|
+
# args = Renalware::Forms::Homecare::Args.new(provider: :a, version: nil)
|
30
|
+
|
31
|
+
# expect {
|
32
|
+
# described_class.generate(args)
|
33
|
+
# }.to raise_error(ArgumentError, "Version must be >0")
|
34
|
+
# end
|
35
|
+
|
36
|
+
# it "throws an error no matching provider found" do
|
37
|
+
# args = Renalware::Forms::Homecare::Args.new(provider: :generico, version: 1)
|
38
|
+
|
39
|
+
# expect {
|
40
|
+
# described_class.generate(args)
|
41
|
+
# }.to raise_error(
|
42
|
+
# ArgumentError,
|
43
|
+
# "No PDF forms found for provider=generico version=1 "\
|
44
|
+
# "trying to resolve Renalware::Forms::Generico::Homecare::V1::Document"
|
45
|
+
# )
|
46
|
+
# end
|
47
|
+
|
48
|
+
# it "throws an error no matching version found" do
|
49
|
+
# args = Renalware::Forms::Homecare::Args.new(provider: :generic, version: 1000)
|
50
|
+
|
51
|
+
# expect {
|
52
|
+
# described_class.generate(args)
|
53
|
+
# }.to raise_error(
|
54
|
+
# ArgumentError,
|
55
|
+
# "No PDF forms found for provider=generic version=1000 "\
|
56
|
+
# "trying to resolve Renalware::Forms::Generic::Homecare::V1000::Document"
|
57
|
+
# )
|
58
|
+
# end
|
59
|
+
# end
|
60
|
+
|
61
|
+
context "when arguments are valid" do
|
62
|
+
it "create render a PDF for a Generic::Homecare::V1::Document" do
|
63
|
+
args = Renalware::Forms::Homecare::Args.new(**default_test_arg_values)
|
64
|
+
|
65
|
+
pdf_data = described_class.generate(args).render
|
66
|
+
|
67
|
+
expect(pdf_data).to start_with("%PDF-")
|
68
|
+
end
|
69
|
+
end
|
70
|
+
end
|
71
|
+
end
|
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,78 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# This file was generated by the `rspec --init` command. Conventionally, all
|
4
|
+
# specs live under a `spec` directory, which RSpec adds to the `$LOAD_PATH`.
|
5
|
+
# The generated `.rspec` file contains `--require spec_helper` which will cause
|
6
|
+
# this file to always be loaded, without a need to explicitly require it in any
|
7
|
+
# files.
|
8
|
+
#
|
9
|
+
# Given that it is always loaded, you are encouraged to keep this file as
|
10
|
+
# light-weight as possible. Requiring heavyweight dependencies from this file
|
11
|
+
# will add to the boot time of your test suite on EVERY test run, even for an
|
12
|
+
# individual file that may not need all of that loaded. Instead, consider making
|
13
|
+
# a separate helper file that requires the additional dependencies and performs
|
14
|
+
# the additional setup, and require it from the spec files that actually need
|
15
|
+
# it.
|
16
|
+
|
17
|
+
require "simplecov"
|
18
|
+
SimpleCov.start
|
19
|
+
|
20
|
+
require "tempfile"
|
21
|
+
require "pdf-reader"
|
22
|
+
require "./lib/renalware/forms"
|
23
|
+
|
24
|
+
def pdf_reader_from(prawn_doc)
|
25
|
+
file = Tempfile.new("pdf")
|
26
|
+
prawn_doc.render_file file
|
27
|
+
PDF::Reader.new(file)
|
28
|
+
end
|
29
|
+
|
30
|
+
def test_prawn_doc
|
31
|
+
Prawn::Document.new(
|
32
|
+
page_size: "A4",
|
33
|
+
page_layout: :portrait,
|
34
|
+
margin: 15
|
35
|
+
)
|
36
|
+
end
|
37
|
+
|
38
|
+
def default_test_arg_values
|
39
|
+
{
|
40
|
+
provider: :generic,
|
41
|
+
version: 1,
|
42
|
+
modality: "HD",
|
43
|
+
telephone: "",
|
44
|
+
hospital_number: nil,
|
45
|
+
nhs_number: nil,
|
46
|
+
consultant: nil,
|
47
|
+
postcode: nil,
|
48
|
+
hospital_department: nil,
|
49
|
+
hospital_telephone: nil,
|
50
|
+
prescriber_name: nil,
|
51
|
+
po_number: "134",
|
52
|
+
administration_device: nil,
|
53
|
+
given_name: "John",
|
54
|
+
family_name: "SMITH",
|
55
|
+
title: "Mr",
|
56
|
+
no_known_allergies: true,
|
57
|
+
allergies: [],
|
58
|
+
drug_type: :esa,
|
59
|
+
born_on: "2019-01-01",
|
60
|
+
prescription_date: "2019-01-01"
|
61
|
+
}.dup
|
62
|
+
end
|
63
|
+
|
64
|
+
def extract_text_from_prawn_doc(doc)
|
65
|
+
pdf_reader_from(doc).pages.map(&:text).join
|
66
|
+
end
|
67
|
+
|
68
|
+
# See http://rubydoc.info/gems/rspec-core/RSpec/Core/Configuration
|
69
|
+
RSpec.configure do |config|
|
70
|
+
config.expect_with :rspec do |expectations|
|
71
|
+
expectations.include_chain_clauses_in_custom_matcher_descriptions = true
|
72
|
+
end
|
73
|
+
|
74
|
+
config.mock_with :rspec do |mocks|
|
75
|
+
mocks.verify_partial_doubles = true
|
76
|
+
end
|
77
|
+
config.shared_context_metadata_behavior = :apply_to_host_groups
|
78
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: renalware-forms
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.15
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Airslie Ltd
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-10-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activemodel
|
@@ -81,7 +81,7 @@ dependencies:
|
|
81
81
|
- !ruby/object:Gem::Version
|
82
82
|
version: '0'
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
|
-
name:
|
84
|
+
name: virtus
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
87
|
- - ">="
|
@@ -95,35 +95,7 @@ dependencies:
|
|
95
95
|
- !ruby/object:Gem::Version
|
96
96
|
version: '0'
|
97
97
|
- !ruby/object:Gem::Dependency
|
98
|
-
name:
|
99
|
-
requirement: !ruby/object:Gem::Requirement
|
100
|
-
requirements:
|
101
|
-
- - ">="
|
102
|
-
- !ruby/object:Gem::Version
|
103
|
-
version: '0'
|
104
|
-
type: :runtime
|
105
|
-
prerelease: false
|
106
|
-
version_requirements: !ruby/object:Gem::Requirement
|
107
|
-
requirements:
|
108
|
-
- - ">="
|
109
|
-
- !ruby/object:Gem::Version
|
110
|
-
version: '0'
|
111
|
-
- !ruby/object:Gem::Dependency
|
112
|
-
name: zeitwerk
|
113
|
-
requirement: !ruby/object:Gem::Requirement
|
114
|
-
requirements:
|
115
|
-
- - ">="
|
116
|
-
- !ruby/object:Gem::Version
|
117
|
-
version: '0'
|
118
|
-
type: :runtime
|
119
|
-
prerelease: false
|
120
|
-
version_requirements: !ruby/object:Gem::Requirement
|
121
|
-
requirements:
|
122
|
-
- - ">="
|
123
|
-
- !ruby/object:Gem::Version
|
124
|
-
version: '0'
|
125
|
-
- !ruby/object:Gem::Dependency
|
126
|
-
name: rspec
|
98
|
+
name: pdf-reader
|
127
99
|
requirement: !ruby/object:Gem::Requirement
|
128
100
|
requirements:
|
129
101
|
- - ">="
|
@@ -137,7 +109,7 @@ dependencies:
|
|
137
109
|
- !ruby/object:Gem::Version
|
138
110
|
version: '0'
|
139
111
|
- !ruby/object:Gem::Dependency
|
140
|
-
name:
|
112
|
+
name: rspec
|
141
113
|
requirement: !ruby/object:Gem::Requirement
|
142
114
|
requirements:
|
143
115
|
- - ">="
|
@@ -150,16 +122,28 @@ dependencies:
|
|
150
122
|
- - ">="
|
151
123
|
- !ruby/object:Gem::Version
|
152
124
|
version: '0'
|
153
|
-
description: The home for various forms for external providers
|
125
|
+
description: The home for various forms for external providers eg home care prescriptions
|
154
126
|
email:
|
155
127
|
- dev@aisrlie.com
|
156
|
-
executables:
|
128
|
+
executables:
|
129
|
+
- rspec
|
157
130
|
extensions: []
|
158
|
-
extra_rdoc_files:
|
131
|
+
extra_rdoc_files:
|
132
|
+
- README.md
|
159
133
|
files:
|
134
|
+
- ".gitignore"
|
135
|
+
- ".rspec"
|
136
|
+
- ".rubocop.yml"
|
137
|
+
- ".ruby-version"
|
138
|
+
- ".semaphore/semaphore.yml"
|
139
|
+
- CHANGELOG.md
|
140
|
+
- Gemfile
|
141
|
+
- Gemfile.lock
|
160
142
|
- MIT-LICENSE
|
161
143
|
- README.md
|
162
144
|
- Rakefile
|
145
|
+
- bin/rspec
|
146
|
+
- default.yml
|
163
147
|
- lib/renalware/forms.rb
|
164
148
|
- lib/renalware/forms/base.rb
|
165
149
|
- lib/renalware/forms/generic.rb
|
@@ -183,6 +167,17 @@ files:
|
|
183
167
|
- lib/renalware/forms/version.rb
|
184
168
|
- lib/tasks/homecare.rake
|
185
169
|
- lib/tasks/tasks.rake
|
170
|
+
- renalware-forms.gemspec
|
171
|
+
- spec/renalware/forms/args_spec.rb
|
172
|
+
- spec/renalware/forms/homecare/generic/v1/allergies_spec.rb
|
173
|
+
- spec/renalware/forms/homecare/generic/v1/delivery_frequencies_spec.rb
|
174
|
+
- spec/renalware/forms/homecare/generic/v1/heading_spec.rb
|
175
|
+
- spec/renalware/forms/homecare/generic/v1/mediations_spec.rb
|
176
|
+
- spec/renalware/forms/homecare/generic/v1/patient_details_spec.rb
|
177
|
+
- spec/renalware/forms/homecare/generic/v1/prescription_durations_spec.rb
|
178
|
+
- spec/renalware/forms/homecare/generic/v1/signoff_spec.rb
|
179
|
+
- spec/renalware/forms/homecare/pdf_spec.rb
|
180
|
+
- spec/spec_helper.rb
|
186
181
|
homepage: http://airslie.com
|
187
182
|
licenses:
|
188
183
|
- MIT
|
@@ -195,14 +190,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
195
190
|
requirements:
|
196
191
|
- - ">="
|
197
192
|
- !ruby/object:Gem::Version
|
198
|
-
version:
|
193
|
+
version: 3.0.0
|
199
194
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
200
195
|
requirements:
|
201
196
|
- - ">="
|
202
197
|
- !ruby/object:Gem::Version
|
203
198
|
version: '0'
|
204
199
|
requirements: []
|
205
|
-
rubygems_version: 3.
|
200
|
+
rubygems_version: 3.2.22
|
206
201
|
signing_key:
|
207
202
|
specification_version: 4
|
208
203
|
summary: PDF library for Renalware forms
|