mits 0.4.2 → 0.5.0
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/lib/mits/base_mapper.rb +6 -0
- data/lib/mits/v3.0/mapper.rb +0 -6
- data/lib/mits/v3.0/mapper/floorplan_mapper.rb +6 -6
- data/lib/mits/v4.1/floorplan.rb +8 -0
- data/lib/mits/v4.1/mapper.rb +5 -0
- data/lib/mits/v4.1/mapper/property_mapper.rb +1 -0
- data/lib/mits/version.rb +1 -1
- data/spec/fixtures/MITS_4.1_Property.yml +8 -11
- data/spec/lib/mits/v4.1/mapper_spec.rb +17 -0
- metadata +2 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0f6e0521b4d82d57f354b0797cc9df6b9223d7be
|
4
|
+
data.tar.gz: ccfd8ab8beff1ed536bbd3392555e331b3ae3e57
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 655d643a9450de67ca8fe97434da4188fd0af867c9651e870f17e757ccba81de84900de39eaa7936469a48ed0e2b40bb34611e7808ce2d127b189924655969da
|
7
|
+
data.tar.gz: 0d68d2aa4197998046d41f7902ac115dede3b4317df4b9a907edf39253465938d466ec86f60efc1c4f797cff06f9d353f96b096ba72f9c95c8bde237531bc474
|
data/lib/mits/base_mapper.rb
CHANGED
data/lib/mits/v3.0/mapper.rb
CHANGED
@@ -2,13 +2,13 @@ module MITS
|
|
2
2
|
module V3_0
|
3
3
|
module Mapper
|
4
4
|
module FloorplanMapper
|
5
|
-
def floorplans(tags)
|
5
|
+
def floorplans(tags, fp = Floorplan)
|
6
6
|
tags = [tags] unless tags.is_a? Array
|
7
|
-
tags.map { |tag| floorplan(tag) }
|
7
|
+
tags.map { |tag| floorplan(tag, fp) }
|
8
8
|
end
|
9
9
|
|
10
|
-
def floorplan(tag)
|
11
|
-
|
10
|
+
def floorplan(tag, floorplan = Floorplan)
|
11
|
+
floorplan.new(bathrooms: try(rooms(tag[:Room], 'Bathroom'), :to_f),
|
12
12
|
bedrooms: try(rooms(tag[:Room], 'Bedroom'), :to_i),
|
13
13
|
name: tag[:Name],
|
14
14
|
rent: range_tag(tag[:MarketRent]),
|
@@ -17,9 +17,9 @@ module MITS
|
|
17
17
|
|
18
18
|
private
|
19
19
|
|
20
|
-
def rooms(
|
20
|
+
def rooms(tags, type)
|
21
21
|
tags = [tags] unless tags.is_a? Array
|
22
|
-
room =
|
22
|
+
room = tags.find { |t| t[:RoomType] == type }
|
23
23
|
room[:Count] if room
|
24
24
|
end
|
25
25
|
end
|
data/lib/mits/v4.1/mapper.rb
CHANGED
@@ -4,6 +4,7 @@ require_relative 'company'
|
|
4
4
|
require_relative 'deposit'
|
5
5
|
require_relative 'fees'
|
6
6
|
require_relative 'file'
|
7
|
+
require_relative 'floorplan'
|
7
8
|
require_relative 'pet'
|
8
9
|
require_relative 'pet_policy'
|
9
10
|
require_relative 'policy'
|
@@ -19,6 +20,7 @@ require_relative '../v3.0/mapper/company_mapper'
|
|
19
20
|
require_relative '../v3.0/mapper/deposit_mapper'
|
20
21
|
require_relative '../v3.0/mapper/fees_mapper'
|
21
22
|
require_relative '../v3.0/mapper/files_mapper'
|
23
|
+
require_relative '../v3.0/mapper/floorplan_mapper'
|
22
24
|
require_relative '../v3.0/mapper/pet_policy_mapper'
|
23
25
|
require_relative '../v3.0/mapper/phones_mapper'
|
24
26
|
require_relative '../v3.0/mapper/policy_mapper'
|
@@ -34,6 +36,7 @@ module MITS
|
|
34
36
|
extend V3_0::Mapper::DepositMapper
|
35
37
|
extend V3_0::Mapper::FeesMapper
|
36
38
|
extend V3_0::Mapper::FilesMapper
|
39
|
+
extend V3_0::Mapper::FloorplanMapper
|
37
40
|
extend V3_0::Mapper::PetPolicyMapper
|
38
41
|
extend V3_0::Mapper::PhonesMapper
|
39
42
|
extend V3_0::Mapper::PolicyMapper
|
@@ -41,6 +44,8 @@ module MITS
|
|
41
44
|
extend AddressMapper
|
42
45
|
extend PropertyMapper
|
43
46
|
extend UnitsMapper
|
47
|
+
|
48
|
+
extend self
|
44
49
|
end
|
45
50
|
end
|
46
51
|
end
|
@@ -31,6 +31,7 @@ module MITS
|
|
31
31
|
details[:amenities] = try(tag[:ILS_Unit][:Amenity], Amenity, :amenities)
|
32
32
|
details[:deposit] = try(tag[:Deposit], Deposit, :deposit)
|
33
33
|
details[:fees] = try(tag[:Fee], Fees, :fees)
|
34
|
+
details[:floorplans] = try(tag[:Floorplan], Floorplan, :floorplans)
|
34
35
|
details[:files] = try(tag[:File], File, :files)
|
35
36
|
details[:policy] = try(tag[:Policy], Policy, PetPolicy, Pet, :policy)
|
36
37
|
details[:units] = try(tag[:ILS_Unit][:Units][:Unit], :units)
|
data/lib/mits/version.rb
CHANGED
@@ -64,11 +64,11 @@
|
|
64
64
|
:Count: 1
|
65
65
|
:Size: Large
|
66
66
|
:Weight: 60lbs
|
67
|
-
- :PetType: Reptile
|
67
|
+
- :PetType: Reptile
|
68
68
|
:Description: ''
|
69
69
|
:Count: 1
|
70
|
-
:Size: Small
|
71
|
-
:Weight: Under 10lbs
|
70
|
+
:Size: Small
|
71
|
+
:Weight: Under 10lbs
|
72
72
|
:Comment: 'No cats allowed'
|
73
73
|
:Deposit: '50.00'
|
74
74
|
:Fee: '25.00'
|
@@ -89,21 +89,18 @@
|
|
89
89
|
:SquareFeet: '3400'
|
90
90
|
:IDValue: SomethingRandom1
|
91
91
|
:Floorplan:
|
92
|
-
:Name:
|
92
|
+
:Name: 'Floorplan A'
|
93
93
|
:UnitCount: '1'
|
94
94
|
:Room:
|
95
|
-
- :Count: '4'
|
96
|
-
:Comment: {}
|
97
|
-
:RoomType: Bedroom
|
98
95
|
- :Count: '4'
|
99
96
|
:Comment: {}
|
100
97
|
:RoomType: Bathroom
|
101
98
|
:SquareFeet:
|
102
|
-
:Max: '
|
103
|
-
:Min: '
|
99
|
+
:Max: '700'
|
100
|
+
:Min: '600'
|
104
101
|
:MarketRent:
|
105
|
-
:Max: '
|
106
|
-
:Min: '
|
102
|
+
:Max: '1000'
|
103
|
+
:Min: '800'
|
107
104
|
:EffectiveRent:
|
108
105
|
:Max: '3400'
|
109
106
|
:Min: '3400'
|
@@ -203,6 +203,23 @@ module MITS
|
|
203
203
|
expect(first.sqft).to eq 3400..3400
|
204
204
|
end
|
205
205
|
end
|
206
|
+
|
207
|
+
describe '.floorplans' do
|
208
|
+
subject { Mapper.floorplans(fixture[:Floorplan], Floorplan) }
|
209
|
+
|
210
|
+
it { is_expected.to be_a Array }
|
211
|
+
|
212
|
+
it 'includes individual floorplans' do
|
213
|
+
first = subject.first
|
214
|
+
expect(first).to be_a Floorplan
|
215
|
+
expect(first.bathrooms).to eq 4.0
|
216
|
+
expect(first.bedrooms).to be_nil
|
217
|
+
expect(first.name).to eq 'Floorplan A'
|
218
|
+
expect(first.rent).to eq 800..1000
|
219
|
+
expect(first.sqft).to eq 600..700
|
220
|
+
end
|
221
|
+
end
|
222
|
+
|
206
223
|
end
|
207
224
|
end
|
208
225
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mits
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.5.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sean Callan
|
@@ -198,6 +198,7 @@ files:
|
|
198
198
|
- lib/mits/v4.1/deposit.rb
|
199
199
|
- lib/mits/v4.1/fees.rb
|
200
200
|
- lib/mits/v4.1/file.rb
|
201
|
+
- lib/mits/v4.1/floorplan.rb
|
201
202
|
- lib/mits/v4.1/mapper.rb
|
202
203
|
- lib/mits/v4.1/mapper/address_mapper.rb
|
203
204
|
- lib/mits/v4.1/mapper/company_mapper.rb
|