Class: JapaneseAddressParser::Data::SingleMachiAza

Inherits:
Data
  • Object
show all
Defined in:
lib/japanese_address_parser/data/single_machi_aza.rb,
lib/japanese_address_parser/data/single_machi_aza.rb,
sig/data.rbs

Overview

SingleMachiAza — api/ja/都道府県名/市区町村名.json の data 要素(町字)。 rsdt は値が存在するとき必ず true(住居表示住所データの存在フラグ)。 csv_ranges は level 8 で住居表示/地番 CSV の該当バイト範囲を引くために保持する。

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#chomeObject (readonly)

Returns the value of attribute chome

Returns:

  • (Object)

    the current value of chome



11
12
13
# File 'lib/japanese_address_parser/data/single_machi_aza.rb', line 11

def chome
  @chome
end

#chome_nObject (readonly)

Returns the value of attribute chome_n

Returns:

  • (Object)

    the current value of chome_n



11
12
13
# File 'lib/japanese_address_parser/data/single_machi_aza.rb', line 11

def chome_n
  @chome_n
end

#csv_rangesObject (readonly)

Returns the value of attribute csv_ranges

Returns:

  • (Object)

    the current value of csv_ranges



11
12
13
# File 'lib/japanese_address_parser/data/single_machi_aza.rb', line 11

def csv_ranges
  @csv_ranges
end

#koazaObject (readonly)

Returns the value of attribute koaza

Returns:

  • (Object)

    the current value of koaza



11
12
13
# File 'lib/japanese_address_parser/data/single_machi_aza.rb', line 11

def koaza
  @koaza
end

#koaza_kObject (readonly)

Returns the value of attribute koaza_k

Returns:

  • (Object)

    the current value of koaza_k



11
12
13
# File 'lib/japanese_address_parser/data/single_machi_aza.rb', line 11

def koaza_k
  @koaza_k
end

#koaza_rObject (readonly)

Returns the value of attribute koaza_r

Returns:

  • (Object)

    the current value of koaza_r



11
12
13
# File 'lib/japanese_address_parser/data/single_machi_aza.rb', line 11

def koaza_r
  @koaza_r
end

#machiaza_idObject (readonly)

Returns the value of attribute machiaza_id

Returns:

  • (Object)

    the current value of machiaza_id



11
12
13
# File 'lib/japanese_address_parser/data/single_machi_aza.rb', line 11

def machiaza_id
  @machiaza_id
end

#oaza_choObject (readonly)

Returns the value of attribute oaza_cho

Returns:

  • (Object)

    the current value of oaza_cho



11
12
13
# File 'lib/japanese_address_parser/data/single_machi_aza.rb', line 11

def oaza_cho
  @oaza_cho
end

#oaza_cho_kObject (readonly)

Returns the value of attribute oaza_cho_k

Returns:

  • (Object)

    the current value of oaza_cho_k



11
12
13
# File 'lib/japanese_address_parser/data/single_machi_aza.rb', line 11

def oaza_cho_k
  @oaza_cho_k
end

#oaza_cho_rObject (readonly)

Returns the value of attribute oaza_cho_r

Returns:

  • (Object)

    the current value of oaza_cho_r



11
12
13
# File 'lib/japanese_address_parser/data/single_machi_aza.rb', line 11

def oaza_cho_r
  @oaza_cho_r
end

#pointObject (readonly)

Returns the value of attribute point

Returns:

  • (Object)

    the current value of point



11
12
13
# File 'lib/japanese_address_parser/data/single_machi_aza.rb', line 11

def point
  @point
end

#rsdtObject (readonly)

Returns the value of attribute rsdt

Returns:

  • (Object)

    the current value of rsdt



11
12
13
# File 'lib/japanese_address_parser/data/single_machi_aza.rb', line 11

def rsdt
  @rsdt
end

Class Method Details

.from_json(hash) ⇒ SingleMachiAza

JSON(パース済み Hash・文字列キー)から VO を生成する Ruby 独自ヘルパ。 csv_ranges は { "住居表示" => { "start" => Integer, "length" => Integer }, "地番" => {...} } の構造をそのまま保持する(level 8 のデータアクセスで消費する)。

Parameters:

  • hash (Hash[String, untyped])

Returns:



18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/japanese_address_parser/data/single_machi_aza.rb', line 18

def self.from_json(hash)
  new(
    machiaza_id: hash['machiaza_id'],
    oaza_cho: hash['oaza_cho'],
    oaza_cho_k: hash['oaza_cho_k'],
    oaza_cho_r: hash['oaza_cho_r'],
    chome: hash['chome'],
    chome_n: hash['chome_n'],
    koaza: hash['koaza'],
    koaza_k: hash['koaza_k'],
    koaza_r: hash['koaza_r'],
    rsdt: hash['rsdt'],
    point: hash['point'],
    csv_ranges: hash['csv_ranges']
  )
end

.newinstance

Parameters:

  • machiaza_id: (String)
  • oaza_cho: (String, nil)
  • oaza_cho_k: (String, nil)
  • oaza_cho_r: (String, nil)
  • chome: (String, nil)
  • chome_n: (Integer, nil)
  • koaza: (String, nil)
  • koaza_k: (String, nil)
  • koaza_r: (String, nil)
  • rsdt: (true, nil)
  • point: ([Float, Float], nil)
  • csv_ranges: (Hash[String, Hash[String, Integer]], nil)

Returns:

  • (instance)


53
# File 'sig/data.rbs', line 53

def self.new: (machiaza_id: String, oaza_cho: String?, oaza_cho_k: String?, oaza_cho_r: String?, chome: String?, chome_n: Integer?, koaza: String?, koaza_k: String?, koaza_r: String?, rsdt: true?, point: [Float, Float]?, csv_ranges: Hash[String, Hash[String, Integer]]?) -> instance

Instance Method Details

#machi_aza_nameString

JS: machiAzaName(machiAza) => ${oaza_cho || ''}${chome || ''}${koaza || ''} nil の補間は Ruby では空文字になるため || '' 相当。

Returns:

  • (String)


37
38
39
# File 'lib/japanese_address_parser/data/single_machi_aza.rb', line 37

def machi_aza_name
  "#{oaza_cho}#{chome}#{koaza}"
end