Class: Obp::Access::Deliverable

Inherits:
Object
  • Object
show all
Defined in:
lib/obp/access/deliverable.rb

Constant Summary collapse

TYPE_SEGMENTS =
{
  "IS" => nil, "TS" => "ts", "TR" => "tr", "R" => "r",
  "PAS" => "pas", "ISP" => "isp", "GUIDE" => "guide",
  "IWA" => "iwa", "DATA" => "data", "TTA" => "tta"
}.freeze
TYPE_WORDS =
Set.new(TYPE_SEGMENTS.compact.keys).freeze
PUBLISHED_STAGES =
[6060, 9092].freeze

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(data) ⇒ Deliverable

Returns a new instance of Deliverable.



20
21
22
23
# File 'lib/obp/access/deliverable.rb', line 20

def initialize(data)
  @id = data["id"]
  (data)
end

Instance Attribute Details

#current_stageObject (readonly)

Returns the value of attribute current_stage.



16
17
18
# File 'lib/obp/access/deliverable.rb', line 16

def current_stage
  @current_stage
end

#deliverable_typeObject (readonly)

Returns the value of attribute deliverable_type.



16
17
18
# File 'lib/obp/access/deliverable.rb', line 16

def deliverable_type
  @deliverable_type
end

#editionObject (readonly)

Returns the value of attribute edition.



16
17
18
# File 'lib/obp/access/deliverable.rb', line 16

def edition
  @edition
end

#ics_codesObject (readonly)

Returns the value of attribute ics_codes.



16
17
18
# File 'lib/obp/access/deliverable.rb', line 16

def ics_codes
  @ics_codes
end

#idObject (readonly)

Returns the value of attribute id.



16
17
18
# File 'lib/obp/access/deliverable.rb', line 16

def id
  @id
end

#languagesObject (readonly)

Returns the value of attribute languages.



16
17
18
# File 'lib/obp/access/deliverable.rb', line 16

def languages
  @languages
end

#owner_committeeObject (readonly)

Returns the value of attribute owner_committee.



16
17
18
# File 'lib/obp/access/deliverable.rb', line 16

def owner_committee
  @owner_committee
end

#publication_dateObject (readonly)

Returns the value of attribute publication_date.



16
17
18
# File 'lib/obp/access/deliverable.rb', line 16

def publication_date
  @publication_date
end

#referenceObject (readonly)

Returns the value of attribute reference.



16
17
18
# File 'lib/obp/access/deliverable.rb', line 16

def reference
  @reference
end

#supplement_typeObject (readonly)

Returns the value of attribute supplement_type.



16
17
18
# File 'lib/obp/access/deliverable.rb', line 16

def supplement_type
  @supplement_type
end

#titleObject (readonly)

Returns the value of attribute title.



16
17
18
# File 'lib/obp/access/deliverable.rb', line 16

def title
  @title
end

Instance Method Details

#base_document?Boolean

Returns:

  • (Boolean)


29
30
31
# File 'lib/obp/access/deliverable.rb', line 29

def base_document?
  supplement_type.nil?
end

#english_titleObject



41
42
43
# File 'lib/obp/access/deliverable.rb', line 41

def english_title
  title["en"]
end

#published?Boolean

Returns:

  • (Boolean)


25
26
27
# File 'lib/obp/access/deliverable.rb', line 25

def published?
  PUBLISHED_STAGES.include?(current_stage)
end

#retrievable?Boolean

Returns:

  • (Boolean)


33
34
35
# File 'lib/obp/access/deliverable.rb', line 33

def retrievable?
  published? && base_document? && languages.any?
end

#to_urn(language: "en") ⇒ Object



37
38
39
# File 'lib/obp/access/deliverable.rb', line 37

def to_urn(language: "en")
  Urn.new(build_urn(language))
end