boa_vista 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (64) hide show
  1. checksums.yaml +7 -0
  2. data/README.md +1 -0
  3. data/lib/boa_vista/configuration.rb +5 -0
  4. data/lib/boa_vista/field/reader.rb +10 -0
  5. data/lib/boa_vista/field/writer.rb +20 -0
  6. data/lib/boa_vista/field.rb +15 -0
  7. data/lib/boa_vista/line.rb +64 -0
  8. data/lib/boa_vista/request/default.rb +33 -0
  9. data/lib/boa_vista/request/factory.rb +30 -0
  10. data/lib/boa_vista/request/layout/cnpj.rb +13 -0
  11. data/lib/boa_vista/request/layout/cpf.rb +11 -0
  12. data/lib/boa_vista/request/layout.rb +24 -0
  13. data/lib/boa_vista/request.rb +31 -0
  14. data/lib/boa_vista/response/layout/layout_138.rb +21 -0
  15. data/lib/boa_vista/response/layout/layout_221.rb +18 -0
  16. data/lib/boa_vista/response/layout/layout_249.rb +22 -0
  17. data/lib/boa_vista/response/layout/layout_282.rb +17 -0
  18. data/lib/boa_vista/response/layout/layout_283.rb +23 -0
  19. data/lib/boa_vista/response/layout/layout_285.rb +15 -0
  20. data/lib/boa_vista/response/layout/layout_353.rb +34 -0
  21. data/lib/boa_vista/response/layout/layout_354.rb +22 -0
  22. data/lib/boa_vista/response/layout/layout_901.rb +15 -0
  23. data/lib/boa_vista/response/layout/layout_999.rb +13 -0
  24. data/lib/boa_vista/response/layout.rb +29 -0
  25. data/lib/boa_vista/response.rb +21 -0
  26. data/lib/boa_vista/version.rb +3 -0
  27. data/lib/boa_vista.rb +47 -0
  28. data/spec/fixtures/base.txt +1 -0
  29. data/spec/fixtures/layout_138.txt +1 -0
  30. data/spec/fixtures/layout_221.txt +1 -0
  31. data/spec/fixtures/layout_249.txt +1 -0
  32. data/spec/fixtures/layout_282.txt +1 -0
  33. data/spec/fixtures/layout_283.txt +1 -0
  34. data/spec/fixtures/layout_285.txt +1 -0
  35. data/spec/fixtures/layout_353.txt +1 -0
  36. data/spec/fixtures/layout_354.txt +1 -0
  37. data/spec/fixtures/layout_901.txt +1 -0
  38. data/spec/fixtures/layout_999.txt +1 -0
  39. data/spec/fixtures/layout_cpf.txt +1 -0
  40. data/spec/lib/boa_vista/configuration_spec.rb +6 -0
  41. data/spec/lib/boa_vista/field/writer_spec.rb +22 -0
  42. data/spec/lib/boa_vista/field_spec.rb +2 -0
  43. data/spec/lib/boa_vista/line_spec.rb +58 -0
  44. data/spec/lib/boa_vista/request/default_spec.rb +40 -0
  45. data/spec/lib/boa_vista/request/factory_spec.rb +18 -0
  46. data/spec/lib/boa_vista/request/layout/cnpj_spec.rb +31 -0
  47. data/spec/lib/boa_vista/request/layout/cpf_spec.rb +28 -0
  48. data/spec/lib/boa_vista/request/layout_spec.rb +18 -0
  49. data/spec/lib/boa_vista/request_spec.rb +43 -0
  50. data/spec/lib/boa_vista/response/layout/layout_138_spec.rb +16 -0
  51. data/spec/lib/boa_vista/response/layout/layout_221_spec.rb +17 -0
  52. data/spec/lib/boa_vista/response/layout/layout_249_spec.rb +21 -0
  53. data/spec/lib/boa_vista/response/layout/layout_282_spec.rb +16 -0
  54. data/spec/lib/boa_vista/response/layout/layout_283_spec.rb +22 -0
  55. data/spec/lib/boa_vista/response/layout/layout_285_spec.rb +14 -0
  56. data/spec/lib/boa_vista/response/layout/layout_353_spec.rb +32 -0
  57. data/spec/lib/boa_vista/response/layout/layout_354_spec.rb +21 -0
  58. data/spec/lib/boa_vista/response/layout/layout_901_spec.rb +14 -0
  59. data/spec/lib/boa_vista/response/layout/layout_999_spec.rb +12 -0
  60. data/spec/lib/boa_vista/response/layout_spec.rb +2 -0
  61. data/spec/lib/boa_vista/response_spec.rb +18 -0
  62. data/spec/lib/boa_vista/version_spec.rb +3 -0
  63. data/spec/spec_helper.rb +16 -0
  64. metadata +200 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: b90db56e32d157b4ded1579dd4f456ee182a036c
4
+ data.tar.gz: d8812931c93c0766ca1f0d3dee8ddf178191a792
5
+ SHA512:
6
+ metadata.gz: 118565a2398336d8448e5c8d97dad24459b37d79a6bbee49c6629276ede7615f87cb944db1a39ec8597cf4737c8d6f4ab70f3e64cb7e172c3e04c3d367eb296e
7
+ data.tar.gz: b68e54922554ad1d7cb98165ab8f12f69eeb4170d74e98f027ff50b7235e1f5e3b552eb7ec2d4f0a0b02cb108135f506843fe116173ccb75646305d82ca8f76c
data/README.md ADDED
@@ -0,0 +1 @@
1
+ # boa_vista
@@ -0,0 +1,5 @@
1
+ module BoaVista
2
+ class Configuration
3
+ attr_accessor :code, :password
4
+ end
5
+ end
@@ -0,0 +1,10 @@
1
+ module BoaVista
2
+ class Field
3
+ class Reader < BoaVista::Field
4
+ def call
5
+ @value = @value.slice(@range)
6
+ self
7
+ end
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,20 @@
1
+ module BoaVista
2
+ class Field
3
+ class Writer < BoaVista::Field
4
+ def call
5
+ return @value if @value.size == size
6
+ truncate.adjust.value
7
+ end
8
+
9
+ def truncate
10
+ @value = @value.slice(0..(size - 1))
11
+ self
12
+ end
13
+
14
+ def adjust
15
+ @value = @value.ljust(size)
16
+ self
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,15 @@
1
+ module BoaVista
2
+ class Field
3
+ attr_accessor :name, :value
4
+
5
+ def initialize(name, options = {})
6
+ @name = name
7
+ @range = options.fetch(:range)
8
+ @value = options.fetch(:value, '')
9
+ end
10
+
11
+ def size
12
+ (@range.last + 1) - @range.first
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,64 @@
1
+ module BoaVista
2
+ class Line
3
+ attr_accessor :layout
4
+
5
+ def self.prepare_for_read(value, layout)
6
+ new(value, layout)
7
+ end
8
+
9
+ def self.prepare_for_write(attributes, layout)
10
+ new(nil, layout, attributes)
11
+ end
12
+
13
+ def read
14
+ @layout.attributes.each do |field, options|
15
+ value = { value: @value }
16
+
17
+ @fields = @fields.merge(field =>
18
+ BoaVista::Field::Reader.new(field, options.merge(value)).call)
19
+ create_method_to_field(field)
20
+ end
21
+
22
+ self
23
+ end
24
+
25
+ def write
26
+ parse
27
+ @value = @layout.attributes.keys.inject('') do |line, attribute|
28
+ line << @fields.fetch(attribute).call
29
+ end
30
+ end
31
+
32
+ def parse
33
+ @layout.attributes.each do |field, options|
34
+ value_for_option = { value: @attributes[field] }
35
+
36
+ @fields = @fields.merge(field => BoaVista::Field::Writer.new(field, options.merge(value_for_option)))
37
+
38
+ create_method_to_field(field)
39
+ end
40
+
41
+ self
42
+ end
43
+
44
+ def create_method_to_field(name)
45
+ define_singleton_method(name) { @fields[name].value }
46
+ end
47
+
48
+ def self.detect_layout(value)
49
+ layout = value.slice(BoaVista::Response::Layout.range_of(:record_type))
50
+
51
+ Object.const_get "BoaVista::Response::Layout::Layout#{layout}"
52
+ end
53
+
54
+ private
55
+
56
+ def initialize(value, layout, attributes = {})
57
+ @value = value
58
+ @layout = layout
59
+
60
+ @attributes = attributes
61
+ @fields = {}
62
+ end
63
+ end
64
+ end
@@ -0,0 +1,33 @@
1
+ module BoaVista
2
+ class Request
3
+ module Default
4
+ DEFAULT = {
5
+ transaction: 'CSR60',
6
+ version: '01',
7
+ response_type: '2',
8
+ response_transmission_type: 'C',
9
+ document_number: '',
10
+ end_text_indicator: 'X'
11
+ }.freeze
12
+
13
+ CPF = {
14
+ document_type: '1',
15
+ query: 'SINTON',
16
+ query_version: '01'
17
+ }.freeze
18
+
19
+ CNPJ = {
20
+ document_type: '2',
21
+ company_name: '',
22
+ facilitator_code: '',
23
+ query: 'CADPJ',
24
+ query_version: '03'
25
+ }.freeze
26
+
27
+ OPTIONS = {
28
+ reserved_requester: '',
29
+ reserved_boa_vista: ''
30
+ }.freeze
31
+ end
32
+ end
33
+ end
@@ -0,0 +1,30 @@
1
+ module BoaVista
2
+ class Request
3
+ module Factory
4
+ extend self
5
+
6
+ def build(*args)
7
+ (args + default_args).reverse.inject({}) do |acc, attrs|
8
+ acc.merge(attrs)
9
+ end
10
+ end
11
+
12
+ protected
13
+
14
+ def default_args
15
+ [
16
+ BoaVista::Request::Default::DEFAULT,
17
+ BoaVista::Request::Default::OPTIONS,
18
+ configuration
19
+ ]
20
+ end
21
+
22
+ def configuration
23
+ {
24
+ code: BoaVista.configuration.code,
25
+ password: BoaVista.configuration.password
26
+ }
27
+ end
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,13 @@
1
+ module BoaVista
2
+ class Request
3
+ module Layout::Cnpj
4
+ module_function
5
+
6
+ def attributes
7
+ BoaVista::Request::Layout.attributes.merge(company_name: { range: 84..133 },
8
+ facilitator_code: { range: 134..141 },
9
+ end_text_indicator: { range: 142..142 })
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,11 @@
1
+ module BoaVista
2
+ class Request
3
+ module Layout::Cpf
4
+ module_function
5
+
6
+ def attributes
7
+ BoaVista::Request::Layout.attributes.merge(end_text_indicator: { range: 84..84 })
8
+ end
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,24 @@
1
+ module BoaVista
2
+ class Request
3
+ module Layout
4
+ module_function
5
+
6
+ def attributes
7
+ {
8
+ transaction: { range: 1..8 },
9
+ version: { range: 9..10 },
10
+ reserved_requester: { range: 11..20 },
11
+ reserved_boa_vista: { range: 21..40 },
12
+ code: { range: 41..48 },
13
+ password: { range: 49..56 },
14
+ query: { range: 57..64 },
15
+ query_version: { range: 65..66 },
16
+ response_type: { range: 67..67 },
17
+ response_transmission_type: { range: 68..68 },
18
+ document_type: { range: 69..69 },
19
+ document_number: { range: 70..83 }
20
+ }
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,31 @@
1
+ module BoaVista
2
+ class Request
3
+ DOCUMENT_TYPE = {
4
+ cpf: 1,
5
+ cnpj: 2
6
+ }.freeze
7
+
8
+ def initialize(values)
9
+ @values = BoaVista::Request::Factory.build(values)
10
+ end
11
+
12
+ def create
13
+ write_line_with(layout)
14
+ end
15
+
16
+ private
17
+
18
+ def layout
19
+ case @values[:document_type].to_i
20
+ when DOCUMENT_TYPE[:cpf] then BoaVista::Request::Layout::Cpf
21
+ when DOCUMENT_TYPE[:cnpj] then BoaVista::Request::Layout::Cnpj
22
+ else
23
+ fail 'Invalid document type'
24
+ end
25
+ end
26
+
27
+ def write_line_with(layout)
28
+ BoaVista::Line.prepare_for_write(@values, layout).write
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,21 @@
1
+ module BoaVista
2
+ class Response
3
+ module Layout
4
+ module Layout138
5
+ module_function
6
+
7
+ def initialize(fields)
8
+ @fields = fields
9
+ end
10
+
11
+ def attributes
12
+ BoaVista::Response::Layout.attributes.merge(record: { range: 77..77 },
13
+ document_number: { range: 78..91 },
14
+ company_name: { range: 92..206 },
15
+ city: { range: 207..246 },
16
+ uf: { range: 247..248 })
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,18 @@
1
+ module BoaVista
2
+ class Response
3
+ module Layout
4
+ module Layout221
5
+ module_function
6
+
7
+ def attributes
8
+ BoaVista::Response::Layout.attributes.merge(record: { range: 77..77 },
9
+ name: { range: 78..127 },
10
+ document: { range: 128..138 },
11
+ birthday_date: { range: 139..146 },
12
+ mothers_name: { range: 149..198 },
13
+ voter_registration: { range: 199..211 })
14
+ end
15
+ end
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,22 @@
1
+ module BoaVista
2
+ class Response
3
+ module Layout
4
+ module Layout249
5
+ module_function
6
+
7
+ def attributes
8
+ BoaVista::Response::Layout.attributes.merge(query_online: { range: 77..77 },
9
+ name: { range: 78..127 },
10
+ document: { range: 128..138 },
11
+ birthday_date: { range: 139..146 },
12
+ mothers_name: { range: 149..198 },
13
+ voter_registration: { range: 199..211 },
14
+ condition: { range: 212..212 },
15
+ query_date: { range: 213..220 },
16
+ query_time: { range: 221..226 },
17
+ protocol: { range: 227..246 })
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,17 @@
1
+ module BoaVista
2
+ class Response
3
+ module Layout
4
+ module Layout282
5
+ module_function
6
+
7
+ def attributes
8
+ BoaVista::Response::Layout.attributes.merge(record: { range: 77..77 },
9
+ sequence_number: { range: 78..79 },
10
+ company_name: { range: 80..129 },
11
+ document_type: { range: 130..130 },
12
+ document_number: { range: 131..144 })
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,23 @@
1
+ module BoaVista
2
+ class Response
3
+ module Layout
4
+ module Layout283
5
+ module_function
6
+
7
+ def attributes
8
+ BoaVista::Response::Layout.attributes.merge(record: { range: 77..77 },
9
+ sequence_number: { range: 78..82 },
10
+ company_name: { range: 83..132 },
11
+ document_type: { range: 133..133 },
12
+ document_number: { range: 134..147 },
13
+ entry_date: { range: 148..155 },
14
+ currency_type: { range: 156..156 },
15
+ value: { range: 157..171 },
16
+ function: { range: 172..191 },
17
+ signs: { range: 192..192 },
18
+ percentage: { range: 193..197 })
19
+ end
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,15 @@
1
+ module BoaVista
2
+ class Response
3
+ module Layout
4
+ module Layout285
5
+ module_function
6
+
7
+ def attributes
8
+ BoaVista::Response::Layout.attributes.merge(record: { range: 77..77 },
9
+ hive_activity_code: { range: 78..85 },
10
+ hive_activity_description: { range: 86..140 })
11
+ end
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,34 @@
1
+ module BoaVista
2
+ class Response
3
+ module Layout
4
+ module Layout353
5
+ module_function
6
+
7
+ def attributes
8
+ BoaVista::Response::Layout.attributes.merge(record: { range: 77..77 },
9
+ document_number: { range: 78..91 },
10
+ nire: { range: 92..102 },
11
+ company_name: { range: 103..217 },
12
+ condition: { range: 218..218 },
13
+ foundation_date: { range: 219..226 },
14
+ registration: { range: 227..240 },
15
+ registration_status: { range: 241..241 },
16
+ address: { range: 242..311 },
17
+ district: { range: 312..331 },
18
+ postal_code: { range: 332..339 },
19
+ city: { range: 340..379 },
20
+ uf: { range: 380..381 },
21
+ phone_1: { range: 382..401 },
22
+ phone_2: { range: 402..416 },
23
+ fax: { range: 417..431 },
24
+ ibge_code: { range: 432..439 },
25
+ legal_nature_code: { range: 440..447 },
26
+ legal_nature_description: { range: 448..502 },
27
+ segment: { range: 503..581 },
28
+ hive_activity_code: { range: 582..589 },
29
+ hive_activity_description: { range: 590..644 })
30
+ end
31
+ end
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,22 @@
1
+ module BoaVista
2
+ class Response
3
+ module Layout
4
+ module Layout354
5
+ module_function
6
+
7
+ def attributes
8
+ BoaVista::Response::Layout.attributes.merge(record: { range: 77..77 },
9
+ document_number: { range: 78..91 },
10
+ currency_social_capital: { range: 92..95 },
11
+ value_social_capital: { range: 96..110 },
12
+ home_organ: { range: 111..118 },
13
+ register_date: { range: 119..126 },
14
+ currency_current_capital: { range: 127..130 },
15
+ value_current_capital: { range: 131..145 },
16
+ current_organ: { range: 146..153 },
17
+ change_date: { range: 154..161 })
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,15 @@
1
+ module BoaVista
2
+ class Response
3
+ module Layout
4
+ module Layout901
5
+ module_function
6
+
7
+ def attributes
8
+ BoaVista::Response::Layout.attributes.merge(record: { range: 77..77 },
9
+ message_type: { range: 78..78 },
10
+ message: { range: 79..208 })
11
+ end
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,13 @@
1
+ module BoaVista
2
+ class Response
3
+ module Layout
4
+ module Layout999
5
+ module_function
6
+
7
+ def attributes
8
+ BoaVista::Response::Layout.attributes.merge(record: { range: 77..77 })
9
+ end
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,29 @@
1
+ module BoaVista
2
+ class Response
3
+ module Layout
4
+ module_function
5
+
6
+ def attributes
7
+ {
8
+ transaction: { range: 0..7 },
9
+ version: { range: 8..9 },
10
+ reserved_requester: { range: 10..19 },
11
+ reserved_boa_vista: { range: 20..39 },
12
+ code: { range: 40..47 },
13
+ query: { range: 48..55 },
14
+ query_version: { range: 56..57 },
15
+ response_type: { range: 58..58 },
16
+ response_code: { range: 59..59 },
17
+ query_number: { range: 60..66 },
18
+ text_size: { range: 67..70 },
19
+ record_size: { range: 71..73 },
20
+ record_type: { range: 74..76 }
21
+ }
22
+ end
23
+
24
+ def range_of(attribute)
25
+ attributes[attribute][:range]
26
+ end
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,21 @@
1
+ module BoaVista
2
+ class Response
3
+ def initialize(line)
4
+ @line = line
5
+ end
6
+
7
+ def read
8
+ read_line_with(layout)
9
+ end
10
+
11
+ private
12
+
13
+ def layout
14
+ BoaVista::Line.detect_layout(@line)
15
+ end
16
+
17
+ def read_line_with(layout)
18
+ BoaVista::Line.prepare_for_read(@line, layout).read
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,3 @@
1
+ module BoaVista
2
+ VERSION = '0.0.2'.freeze
3
+ end
data/lib/boa_vista.rb ADDED
@@ -0,0 +1,47 @@
1
+ require 'boa_vista/configuration'
2
+
3
+ require 'boa_vista/field'
4
+ require 'boa_vista/field/reader'
5
+ require 'boa_vista/field/writer'
6
+
7
+ require 'boa_vista/line'
8
+
9
+ require 'boa_vista/request'
10
+ require 'boa_vista/request/layout'
11
+ require 'boa_vista/request/layout/cpf'
12
+ require 'boa_vista/request/layout/cnpj'
13
+ require 'boa_vista/request/factory'
14
+
15
+ require 'boa_vista/response/layout'
16
+ require 'boa_vista/response'
17
+
18
+ require 'boa_vista/response/layout/layout_138'
19
+ require 'boa_vista/response/layout/layout_282'
20
+ require 'boa_vista/response/layout/layout_283'
21
+ require 'boa_vista/response/layout/layout_285'
22
+ require 'boa_vista/response/layout/layout_353'
23
+ require 'boa_vista/response/layout/layout_221'
24
+ require 'boa_vista/response/layout/layout_249'
25
+ require 'boa_vista/response/layout/layout_999'
26
+ require 'boa_vista/response/layout/layout_901'
27
+ require 'boa_vista/response/layout/layout_354'
28
+
29
+ module BoaVista
30
+ class << self
31
+ attr_reader :configuration
32
+ end
33
+
34
+ def self.configuration
35
+ @configuration ||= Configuration.new
36
+ end
37
+
38
+ def self.reset
39
+ @configuration = Configuration.new
40
+ end
41
+
42
+ def self.configure
43
+ yield(configuration)
44
+ end
45
+ end
46
+
47
+ require 'boa_vista/request/default'
@@ -0,0 +1 @@
1
+ TTTTTTTTVVRRRRRRRRRRBBBBBBBBBBBBBBBBBBBBCCCCCCCCQQQQQQQQQVYCNNNNNNNTTTTZZZPPP
@@ -0,0 +1 @@
1
+ TTTTTTTTVVRRRRRRRRRRBBBBBBBBBBBBBBBBBBBBCCCCCCCCQQQQQQQQQVYCNNNNNNNTTTTZZZPPPS57487067000110RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCUU
@@ -0,0 +1 @@
1
+ TTTTTTTTVVRRRRRRRRRRBBBBBBBBBBBBBBBBBBBBCCCCCCCCQQQQQQQQQVYCNNNNNNNTTTTZZZPPPRNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN3073086661025121982MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMVVVVVVVVVVVVV
@@ -0,0 +1 @@
1
+ TTTTTTTTVVRRRRRRRRRRBBBBBBBBBBBBBBBBBBBBCCCCCCCCQQQQQQQQQVYCNNNNNNNTTTTZZZPPPQNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN3073086661025121982MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMVVVVVVVVVVVVVCDDDDDDDDTTTTTTPPPPPPPPPPPPPPPPPPPP
@@ -0,0 +1 @@
1
+ TTTTTTTTVVRRRRRRRRRRBBBBBBBBBBBBBBBBBBBBCCCCCCCCQQQQQQQQQVYCNNNNNNNTTTTZZZPPPS01CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCT57487067000110
@@ -0,0 +1 @@
1
+ TTTTTTTTVVRRRRRRRRRRBBBBBBBBBBBBBBBBBBBBCCCCCCCCQQQQQQQQQVYCNNNNNNNTTTTZZZPPPS00001CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC157487067000110DDDDDDDDMVVVVVVVVVVVVVVVFFFFFFFFFFFFFFFFFFFFSGGGGG
@@ -0,0 +1 @@
1
+ TTTTTTTTVVRRRRRRRRRRBBBBBBBBBBBBBBBBBBBBCCCCCCCCQQQQQQQQQVYCNNNNNNNTTTTZZZPPPSHHHHHHHHDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
@@ -0,0 +1 @@
1
+ TTTTTTTTVVRRRRRRRRRRBBBBBBBBBBBBBBBBBBBBCCCCCCCCQQQQQQQQQVYCNNNNNNNTTTTZZZ353SDDDDDDDDDDDDDDNNNNNNNNNNNCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCTFFFFFFFFRRRRRRRRRRRRRRSAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBPPPPPPPPCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCUUPPPPPPPPPPPPPPPPPPPPHHHHHHHHHHHHHHHFFFFFFFFFFFFFFFGGGGGGGGNNNNNNNNDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSRRRRRRRRDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
@@ -0,0 +1 @@
1
+ TTTTTTTTVVRRRRRRRRRRBBBBBBBBBBBBBBBBBBBBCCCCCCCCQQQQQQQQQVYCNNNNNNNTTTTZZZPPPSDDDDDDDDDDDDDDCCCCVVVVVVVVVVVVVVVOOOOOOOODDDDDDDDCCCCVVVVVVVVVVVVVVVOOOOOOOODDDDDDDD
@@ -0,0 +1 @@
1
+ TTTTTTTTVVRRRRRRRRRRBBBBBBBBBBBBBBBBBBBBCCCCCCCCQQQQQQQQQVYCNNNNNNNTTTTZZZPPPSYMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
@@ -0,0 +1 @@
1
+ TTTTTTTTVVRRRRRRRRRRBBBBBBBBBBBBBBBBBBBBCCCCCCCCQQQQQQQQQVYCNNNNNNNTTTTZZZPPPS
@@ -0,0 +1 @@
1
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX131030944410
@@ -0,0 +1,6 @@
1
+ RSpec.describe BoaVista::Configuration do
2
+ it 'configures with code and password' do
3
+ expect(BoaVista.configuration.code).to eq('CODE')
4
+ expect(BoaVista.configuration.password).to eq('PASSWORD')
5
+ end
6
+ end