Module: BRDocuments::IE::RO

Defined in:
lib/br_documents/documents/ie/ro.rb,
lib/br_documents/documents/ie/ro/legacy.rb,
lib/br_documents/documents/ie/ro/current.rb

Defined Under Namespace

Classes: Current, Legacy

Class Method Summary collapse

Class Method Details

.class_for_number(number) ⇒ Object



29
30
31
# File 'lib/br_documents/documents/ie/ro.rb', line 29

def class_for_number(number)
  class_for(legacy?(number))
end

.convert_legacy(legacy_number) ⇒ Object



6
7
8
9
10
# File 'lib/br_documents/documents/ie/ro.rb', line 6

def convert_legacy(legacy_number)
  klass = class_for(false)

  new(legacy_number.gsub(/^(\d{3})/, '00000000')).pretty # remove city code
end

.generate(formatted = true, legacy = false) ⇒ Object



17
18
19
# File 'lib/br_documents/documents/ie/ro.rb', line 17

def generate(formatted = true, legacy = false)
  class_for(legacy).generate(formatted)
end

.generate_root_numbers(legacy = false) ⇒ Object



21
22
23
# File 'lib/br_documents/documents/ie/ro.rb', line 21

def generate_root_numbers(legacy = false)
  class_for(legacy).generate_root_numbers
end

.legacy?(number) ⇒ Boolean

Returns:

  • (Boolean)


25
26
27
# File 'lib/br_documents/documents/ie/ro.rb', line 25

def legacy?(number)
  [8, 9].member?(number.to_s.gsub(/[^\d+]/, '').size)
end

.method_missing(method, *args) ⇒ Object

Delegate all methods to specific class



13
14
15
# File 'lib/br_documents/documents/ie/ro.rb', line 13

def method_missing(method, *args)
  class_for_number(args[0]).public_send(method, *args)
end