Module: Parliament::Grom::Decorator::WorkPackage

Includes:
Helpers::DateHelper
Defined in:
lib/parliament/grom/decorator/work_package.rb

Overview

Decorator namespace for Grom::Node instances with type: id.parliament.uk/schema/WorkPackage

Since:

  • 0.1.0

Instance Method Summary collapse

Methods included from Helpers::DateHelper

#date_range

Instance Method Details

#business_itemsArray

Alias workPackageHasBusinessItem with fallback.

Returns:

  • (Array, Array)

    an array of BusinessItem Grom::Nodes or an empty array.

Since:

  • 0.1.0



31
32
33
# File 'lib/parliament/grom/decorator/work_package.rb', line 31

def business_items
  respond_to?(:workPackageHasBusinessItem) ? workPackageHasBusinessItem : []
end

#layingGrom::Node?

Returns a Laying Grom::Node or nil.

Returns:

  • (Grom::Node, nil)

    a Laying Grom::Node or nil.

Since:

  • 0.1.0



36
37
38
# File 'lib/parliament/grom/decorator/work_package.rb', line 36

def laying
  respond_to?(:workPackageHasProcedure) ? workPackageHasProcedure.first : nil
end

#oldest_business_item_dateDate?

Alias oldestBusinessItemDate with fallback.

Returns:

  • (Date, nil)

    a date or nil.

Since:

  • 0.1.0



43
44
45
# File 'lib/parliament/grom/decorator/work_package.rb', line 43

def oldest_business_item_date
  respond_to?(:oldestBusinessItemDate) ? DateTime.parse(oldestBusinessItemDate) : nil
end

#procedureGrom::Node?

Alias workPackageHasProcedure with fallback. NB: Currently, work packages only have one procedure

Returns:

  • (Grom::Node, nil)

    a Procedure Grom::Node or nil.

Since:

  • 0.1.0



11
12
13
# File 'lib/parliament/grom/decorator/work_package.rb', line 11

def procedure
  respond_to?(:workPackageHasProcedure) ? workPackageHasProcedure.first : nil
end

#work_packageable_thingGrom::Node?

Alias workPackageHasWorkPackageableThing with fallback. NB: Currently, work packages only have one work packageable thing

Returns:

  • (Grom::Node, nil)

    a Procedure Grom::Node or nil.

Since:

  • 0.1.0



19
20
21
# File 'lib/parliament/grom/decorator/work_package.rb', line 19

def work_packageable_thing
  respond_to?(:workPackageHasWorkPackageableThing) ? workPackageHasWorkPackageableThing.first : nil
end

#work_packageable_thing_nameString?

Returns the name of the Grom::Node or an empty string.

Returns:

  • (String, nil)

    the name of the Grom::Node or an empty string.

Since:

  • 0.1.0



24
25
26
# File 'lib/parliament/grom/decorator/work_package.rb', line 24

def work_packageable_thing_name
  work_packageable_thing&.name
end