Class: Renalware::Forms::Homecare::Pdf

Inherits:
Object
  • Object
show all
Defined in:
lib/renalware/forms/homecare/pdf.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(args) ⇒ Pdf

Returns a new instance of Pdf.

Raises:

  • (ArgumentError)


5
6
7
8
9
# File 'lib/renalware/forms/homecare/pdf.rb', line 5

def initialize(args)
  raise ArgumentError unless args

  @args = args
end

Class Method Details

.generate(args) ⇒ Object



15
16
17
# File 'lib/renalware/forms/homecare/pdf.rb', line 15

def self.generate(args)
  new(args).generate
end

.valid?(args) ⇒ Boolean

Returns:

  • (Boolean)


11
12
13
# File 'lib/renalware/forms/homecare/pdf.rb', line 11

def self.valid?(args)
  new(args).valid?
end

Instance Method Details

#generateObject

Given an Args instance containing a provider (eg :fresenius) and a version (eg 1), get the document class for e.g. Renalware::Forms::Fresenius::Homecare::Document and use it to build a new PDF with the data (patient name etc supplied in args)



28
29
30
31
32
33
34
35
36
37
38
# File 'lib/renalware/forms/homecare/pdf.rb', line 28

def generate
  document_klass = Renalware::Forms.const_get(document_class_name)
  document_klass.build(args)
rescue NameError => e
  raise(
    ArgumentError,
    "No PDF forms found for provider=#{args.provider} version=#{args.version} "\
    "trying to resolve Renalware::Forms::#{document_class_name} " \
    "#{e.message}"
  )
end

#valid?Boolean

Returns:

  • (Boolean)


19
20
21
22
23
# File 'lib/renalware/forms/homecare/pdf.rb', line 19

def valid?
  args.valid?
  check_args_are_able_to_create_a_pdf
  args.errors.none?
end