rightmove_blm 0.1.1 → 0.1.6

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: '08bd05a65c0404a94ac0923c3ac48b338d7714b6f0b53dd6b879607e501adced'
4
- data.tar.gz: 294e256eb0bc617199816ef32c4ee5f92c785da180ef88e4fcd816e2eb59e86d
3
+ metadata.gz: d86b0d52da5fad3fdac5c44ad7cc0ee515b67b6f4bdb7b2abd25ae92cd65aad3
4
+ data.tar.gz: 84d91eda581f2a813bd5da72db9f2a9384262505913074077ba78fe104169bd8
5
5
  SHA512:
6
- metadata.gz: 351167830c63ca9037d91300d1081d6afa8d665c5fc3bcdabbbc5f7e4304784ad5738c7d9111878b33a8c67cb8a2a56c1d715bf8db9654ef7d8413c6ee805753
7
- data.tar.gz: 9ecc44105fbebec4e3f07e6596f9ad0336368f1e7cac604c4d728a32232905d16f0740153b298976c2e2101ccb6cdd3455d1aa8017d586a25093823a16224b1a
6
+ metadata.gz: 653deacb786ab85ba54a77318e62f36fc570c2da370163b475191003190db55d7d77e4019924e2643c56ad00b2a04060ae142fc57eb65f5997f0aa41ee53e9dc
7
+ data.tar.gz: e16d71c8a41018d8d4adbeedf69059e5b111a3dbb22a23f818ab36c7d6545529eed67d1f6cbba0d900811bf0abda5ebab79792f55852aecdce449021bc1e41d0
data/.gitignore CHANGED
@@ -15,6 +15,8 @@ doc
15
15
  pkg
16
16
 
17
17
  .rspec_status
18
+
19
+ *.gem
18
20
  # Have editor/IDE/OS specific files you need to ignore? Consider using a global gitignore:
19
21
  #
20
22
  # * Create a file at ~/.gitignore
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- 2.5.9
1
+ 2.7.7
data/Gemfile.lock CHANGED
@@ -3,16 +3,17 @@ GEM
3
3
  specs:
4
4
  ast (2.4.2)
5
5
  concurrent-ruby (1.1.8)
6
- devpack (0.3.2)
6
+ devpack (0.3.3)
7
7
  diff-lcs (1.4.4)
8
8
  i18n (1.8.10)
9
9
  concurrent-ruby (~> 1.0)
10
+ json (2.6.3)
10
11
  paint (2.2.1)
11
- parallel (1.20.1)
12
- parser (3.0.1.0)
12
+ parallel (1.22.1)
13
+ parser (3.1.3.0)
13
14
  ast (~> 2.4.1)
14
- rainbow (3.0.0)
15
- regexp_parser (2.1.1)
15
+ rainbow (3.1.1)
16
+ regexp_parser (2.6.1)
16
17
  rexml (3.2.5)
17
18
  rspec (3.10.0)
18
19
  rspec-core (~> 3.10.0)
@@ -32,17 +33,18 @@ GEM
32
33
  diff-lcs (>= 1.2.0, < 2.0)
33
34
  rspec-support (~> 3.10.0)
34
35
  rspec-support (3.10.2)
35
- rubocop (1.13.0)
36
+ rubocop (1.41.1)
37
+ json (~> 2.3)
36
38
  parallel (~> 1.10)
37
- parser (>= 3.0.0.0)
39
+ parser (>= 3.1.2.1)
38
40
  rainbow (>= 2.2.2, < 4.0)
39
41
  regexp_parser (>= 1.8, < 3.0)
40
- rexml
41
- rubocop-ast (>= 1.2.0, < 2.0)
42
+ rexml (>= 3.2.5, < 4.0)
43
+ rubocop-ast (>= 1.23.0, < 2.0)
42
44
  ruby-progressbar (~> 1.7)
43
45
  unicode-display_width (>= 1.4.0, < 3.0)
44
- rubocop-ast (1.4.1)
45
- parser (>= 2.7.1.5)
46
+ rubocop-ast (1.24.0)
47
+ parser (>= 3.1.1.0)
46
48
  rubocop-rspec (2.2.0)
47
49
  rubocop (~> 1.0)
48
50
  rubocop-ast (>= 1.1.0)
@@ -50,7 +52,7 @@ GEM
50
52
  strong_versions (0.4.5)
51
53
  i18n (>= 0.5)
52
54
  paint (~> 2.0)
53
- unicode-display_width (2.0.0)
55
+ unicode-display_width (2.3.0)
54
56
 
55
57
  PLATFORMS
56
58
  ruby
@@ -65,4 +67,4 @@ DEPENDENCIES
65
67
  strong_versions (~> 0.4.5)
66
68
 
67
69
  BUNDLED WITH
68
- 2.2.16
70
+ 2.3.7
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.1
1
+ 0.1.6
@@ -5,7 +5,7 @@ module RightmoveBLM
5
5
  class Document
6
6
  def self.from_array_of_hashes(array)
7
7
  date = Time.now.utc.strftime('%d-%b-%Y %H:%M').upcase
8
- header = { version: '3', eof: '^', eor: '~', "property count": array.size.to_s, "generated date": date }
8
+ header = { version: '3', eof: '^', eor: '~', 'property count': array.size.to_s, 'generated date': date }
9
9
  new(header: header, definition: array.first.keys.map(&:to_sym), data: array)
10
10
  end
11
11
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module RightmoveBLM
4
- VERSION = '0.1.1'
4
+ VERSION = '0.1.6'
5
5
  end
@@ -10,19 +10,15 @@ Gem::Specification.new do |spec|
10
10
 
11
11
  spec.summary
12
12
  spec.description = 'Parse and generate Rightmove BLM files'
13
- spec.required_ruby_version = '~> 2.5'
13
+ spec.required_ruby_version = '>= 2.7'
14
14
 
15
15
  spec.files = Dir.chdir(File.expand_path(__dir__)) do
16
16
  `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
17
17
  end
18
18
 
19
- spec.homepage = 'https://github.com/bobf/rightmove_blm'
19
+ spec.homepage = 'http://github.com/robertmay/blm'
20
20
  spec.licenses = ['MIT']
21
21
  spec.require_paths = ['lib']
22
- spec.rubygems_version = '1.3.7'
23
22
  spec.summary = 'A parser for the Rightmove .blm format'
24
- spec.test_files = [
25
- 'spec/blm_spec.rb',
26
- 'spec/spec_helper.rb'
27
- ]
23
+ spec.metadata['rubygems_mfa_required'] = 'true'
28
24
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rightmove_blm
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Robert Farrell
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-09-27 00:00:00.000000000 Z
11
+ date: 2022-12-29 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Parse and generate Rightmove BLM files
14
14
  email: git@bob.frl
@@ -33,31 +33,28 @@ files:
33
33
  - lib/rightmove_blm/row.rb
34
34
  - lib/rightmove_blm/version.rb
35
35
  - rightmove_blm.gemspec
36
- - spec/blm_spec.rb
37
- - spec/spec_helper.rb
38
- homepage: https://github.com/bobf/rightmove_blm
36
+ homepage: http://github.com/robertmay/blm
39
37
  licenses:
40
38
  - MIT
41
- metadata: {}
39
+ metadata:
40
+ rubygems_mfa_required: 'true'
42
41
  post_install_message:
43
42
  rdoc_options: []
44
43
  require_paths:
45
44
  - lib
46
45
  required_ruby_version: !ruby/object:Gem::Requirement
47
46
  requirements:
48
- - - "~>"
47
+ - - ">="
49
48
  - !ruby/object:Gem::Version
50
- version: '2.5'
49
+ version: '2.7'
51
50
  required_rubygems_version: !ruby/object:Gem::Requirement
52
51
  requirements:
53
52
  - - ">="
54
53
  - !ruby/object:Gem::Version
55
54
  version: '0'
56
55
  requirements: []
57
- rubygems_version: 3.2.3
56
+ rubygems_version: 3.1.6
58
57
  signing_key:
59
58
  specification_version: 4
60
59
  summary: A parser for the Rightmove .blm format
61
- test_files:
62
- - spec/blm_spec.rb
63
- - spec/spec_helper.rb
60
+ test_files: []
data/spec/blm_spec.rb DELETED
@@ -1,72 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- RSpec.describe RightmoveBLM do
4
- context 'reading a .blm file' do
5
- let(:data) { fixture('example_data.blm') }
6
- let(:blm) { RightmoveBLM::Document.new(source: data.read) }
7
-
8
- it 'should parse settings from the header' do
9
- expect(blm.header).to be_a(Hash)
10
- expect(blm.header[:version]).to eq('3')
11
- expect(blm.header[:eof]).to_not be_nil
12
- expect(blm.header[:eor]).to_not be_nil
13
- end
14
-
15
- it 'should parse the column definition' do
16
- expect(blm.definition).to be_a(Array)
17
- expect(blm.definition.size).to be >= 1
18
- end
19
-
20
- it 'should parse the data into an array of hashes' do
21
- expect(blm.data).to be_a(Array)
22
- expect(blm.data.size).to be >= 1
23
- expect(blm.data).to respond_to(:each, :each_with_index)
24
- blm.data.each { |row| expect(row).to be_a(RightmoveBLM::Row) }
25
- end
26
-
27
- it 'should allow access to data values via methods' do
28
- blm.data.each { |row| expect(row.address_1).to_not be_nil }
29
- end
30
-
31
- it 'should allow access to the @attributes hash directly' do
32
- blm.data.each { |row| expect(row.attributes).to be_a(Hash) }
33
- end
34
- end
35
-
36
- context 'creating a .blm file' do
37
- subject(:document) { RightmoveBLM::Document.from_array_of_hashes(data) }
38
-
39
- let(:data) do
40
- [{ field1: 'row 1 field 1 data', field2: 'row 1 field 2 data', field3: 'row 1 field 3 data' },
41
- { field1: 'row 2 field 1 data', field2: 'row 2 field 2 data', field3: 'row 2 field 3 data' }]
42
- end
43
-
44
- its(:header) { is_expected.to include({ 'property count': '2' }) }
45
- its(:header) { is_expected.to include({ version: '3' }) }
46
- its(:definition) { is_expected.to eql %i[field1 field2 field3] }
47
-
48
- describe '#to_blm' do
49
- let(:loaded_document) { RightmoveBLM::Document.new(source: subject.to_blm) }
50
-
51
- it 'has a property count' do
52
- expect(loaded_document.header[:'property count']).to eql '2'
53
- end
54
-
55
- it 'has a version' do
56
- expect(loaded_document.header[:version]).to eql '3'
57
- end
58
-
59
- it 'has a "generated date" timestamp' do
60
- expect(loaded_document.header[:'generated date']).to start_with Time.now.utc.strftime('%d-%b-%Y').upcase
61
- end
62
-
63
- it 'has property data' do
64
- expect(loaded_document.data.map(&:to_h)).to eql data
65
- end
66
-
67
- it 'has a field definition' do
68
- expect(loaded_document.definition).to eql %w[field1 field2 field3]
69
- end
70
- end
71
- end
72
- end
data/spec/spec_helper.rb DELETED
@@ -1,16 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'bundler/setup'
4
- require 'devpack'
5
- require 'rightmove_blm'
6
-
7
- require 'rspec/file_fixtures'
8
- require 'rspec/its'
9
-
10
- RSpec.configure do |config|
11
- config.example_status_persistence_file_path = '.rspec_status'
12
- config.disable_monkey_patching!
13
- config.expect_with :rspec do |c|
14
- c.syntax = :expect
15
- end
16
- end