Class: JapaneseAddressParser::Data::SingleRsdt

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

Overview

SingleRsdt — 住居表示住所(街区符号・住居番号・住居番号2)。CSV 行から生成する。

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#blk_numObject (readonly)

Returns the value of attribute blk_num

Returns:

  • (Object)

    the current value of blk_num



9
10
11
# File 'lib/japanese_address_parser/data/single_rsdt.rb', line 9

def blk_num
  @blk_num
end

#pointObject (readonly)

Returns the value of attribute point

Returns:

  • (Object)

    the current value of point



9
10
11
# File 'lib/japanese_address_parser/data/single_rsdt.rb', line 9

def point
  @point
end

#rsdt_numObject (readonly)

Returns the value of attribute rsdt_num

Returns:

  • (Object)

    the current value of rsdt_num



9
10
11
# File 'lib/japanese_address_parser/data/single_rsdt.rb', line 9

def rsdt_num
  @rsdt_num
end

#rsdt_num2Object (readonly)

Returns the value of attribute rsdt_num2

Returns:

  • (Object)

    the current value of rsdt_num2



9
10
11
# File 'lib/japanese_address_parser/data/single_rsdt.rb', line 9

def rsdt_num2
  @rsdt_num2
end

Class Method Details

.from_json(hash) ⇒ SingleRsdt

JSON(パース済み Hash・文字列キー)から VO を生成する Ruby 独自ヘルパ。

Parameters:

  • hash (Hash[String, untyped])

Returns:



14
15
16
# File 'lib/japanese_address_parser/data/single_rsdt.rb', line 14

def self.from_json(hash)
  new(blk_num: hash['blk_num'], rsdt_num: hash['rsdt_num'], rsdt_num2: hash['rsdt_num2'], point: hash['point'])
end

.newinstance

Parameters:

  • blk_num: (String, nil)
  • rsdt_num: (String)
  • rsdt_num2: (String, nil)
  • point: ([Float, Float], nil)

Returns:

  • (instance)


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

def self.new: (blk_num: String?, rsdt_num: String, rsdt_num2: String?, point: [Float, Float]?) -> instance

Instance Method Details

#rsdt_to_stringString

JS: rsdtToString(rsdt) => [blk_num, rsdt_num, rsdt_num2].filter(Boolean).join('-') JS の filter(Boolean) は falsy(nil・空文字)を除外する。Ruby では空文字は truthy なので compact だけでは不十分。nil と空文字の両方を除外して忠実に再現する。

Returns:

  • (String)


21
22
23
24
25
# File 'lib/japanese_address_parser/data/single_rsdt.rb', line 21

def rsdt_to_string
  [blk_num, rsdt_num, rsdt_num2]
    .reject { |value| value.nil? || value == '' }
    .join('-')
end