Class: Isoics::ICS

Inherits:
Object
  • Object
show all
Defined in:
lib/isoics/ics.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(fieldcode:, groupcode: nil, subgroupcode: nil) ⇒ ICS

Returns a new instance of ICS.

Parameters:

  • ics_data (Hash)


27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
# File 'lib/isoics/ics.rb', line 27

def initialize(fieldcode:, groupcode: nil, subgroupcode: nil)
  file_name = "#{__dir__}/../../ics/#{fieldcode.to_s}"
  file_name << "_#{groupcode}" if groupcode
  file_name << "_#{subgroupcode}" if subgroupcode 
  file_name << ".json"
  ics_data = JSON.parse File.read(file_name), symbolize_names: true

  @code, @fieldcode, @groupcode, @subgroupcode, @description,
      @description_full = ics_data.values_at(
    :code, :fieldcode, :groupcode, :subgroupcode, :description, :descriptionFull
  )

  @notes = if ics_data[:notes]
    ics_data[:notes].map { |n| Note.new n }
  else
    []
  end
end

Instance Attribute Details

#codeString (readonly)

Returns:

  • (String)


20
21
22
# File 'lib/isoics/ics.rb', line 20

def code
  @code
end

#descriptionString (readonly)

Returns:

  • (String)


20
21
22
# File 'lib/isoics/ics.rb', line 20

def description
  @description
end

#description_fullString (readonly)

Returns:

  • (String)


20
21
22
# File 'lib/isoics/ics.rb', line 20

def description_full
  @description_full
end

#fieldcodeString (readonly)

Returns:

  • (String)


20
21
22
# File 'lib/isoics/ics.rb', line 20

def fieldcode
  @fieldcode
end

#groupcodeString (readonly)

Returns:

  • (String)


20
21
22
# File 'lib/isoics/ics.rb', line 20

def groupcode
  @groupcode
end

#notesArray<Isoics::Note> (readonly)

Returns:



24
25
26
# File 'lib/isoics/ics.rb', line 24

def notes
  @notes
end

#subgroupcodeString (readonly)

Returns:

  • (String)


20
21
22
# File 'lib/isoics/ics.rb', line 20

def subgroupcode
  @subgroupcode
end