Sha256: 7887b4994c57ee6cffd3d579f670bb05bea048f9d88e707d6caf9f179452ffd1

Contents?: true

Size: 641 Bytes

Versions: 126

Compression:

Stored size: 641 Bytes

Contents

# frozen_string_literal: true

class ReeDatetime::HumanZoneOffset
  include Ree::FnDSL

  fn :human_zone_offset do
    link :offset_to_string
    link :find_tzinfo
    link 'ree_datetime/functions/constants', -> { ZONE_HUMAN_NAMES }
  end

  doc("Returns an array of time zones with short names according to the +offset+")
  contract(String => String).throws(ArgumentError)
  def call(human_zone_name)
    if !ZONE_HUMAN_NAMES.has_key?(human_zone_name)
      raise ArgumentError, "invalid human zone name"
    end

    zone = ZONE_HUMAN_NAMES[human_zone_name]
    tzinfo = find_tzinfo(zone)

    offset_to_string(tzinfo.utc_offset)
  end
end

Version data entries

126 entries across 126 versions & 1 rubygems

Version Path
ree_lib-1.1.1 lib/ree_lib/packages/ree_datetime/package/ree_datetime/functions/human_zone_offset.rb
ree_lib-1.1.0 lib/ree_lib/packages/ree_datetime/package/ree_datetime/functions/human_zone_offset.rb
ree_lib-1.0.124 lib/ree_lib/packages/ree_datetime/package/ree_datetime/functions/human_zone_offset.rb
ree_lib-1.0.123 lib/ree_lib/packages/ree_datetime/package/ree_datetime/functions/human_zone_offset.rb
ree_lib-1.0.122 lib/ree_lib/packages/ree_datetime/package/ree_datetime/functions/human_zone_offset.rb
ree_lib-1.0.121 lib/ree_lib/packages/ree_datetime/package/ree_datetime/functions/human_zone_offset.rb
ree_lib-1.0.120 lib/ree_lib/packages/ree_datetime/package/ree_datetime/functions/human_zone_offset.rb
ree_lib-1.0.119 lib/ree_lib/packages/ree_datetime/package/ree_datetime/functions/human_zone_offset.rb
ree_lib-1.0.118 lib/ree_lib/packages/ree_datetime/package/ree_datetime/functions/human_zone_offset.rb
ree_lib-1.0.117 lib/ree_lib/packages/ree_datetime/package/ree_datetime/functions/human_zone_offset.rb
ree_lib-1.0.116 lib/ree_lib/packages/ree_datetime/package/ree_datetime/functions/human_zone_offset.rb
ree_lib-1.0.115 lib/ree_lib/packages/ree_datetime/package/ree_datetime/functions/human_zone_offset.rb
ree_lib-1.0.114 lib/ree_lib/packages/ree_datetime/package/ree_datetime/functions/human_zone_offset.rb
ree_lib-1.0.113 lib/ree_lib/packages/ree_datetime/package/ree_datetime/functions/human_zone_offset.rb
ree_lib-1.0.112 lib/ree_lib/packages/ree_datetime/package/ree_datetime/functions/human_zone_offset.rb
ree_lib-1.0.111 lib/ree_lib/packages/ree_datetime/package/ree_datetime/functions/human_zone_offset.rb
ree_lib-1.0.110 lib/ree_lib/packages/ree_datetime/package/ree_datetime/functions/human_zone_offset.rb
ree_lib-1.0.109 lib/ree_lib/packages/ree_datetime/package/ree_datetime/functions/human_zone_offset.rb
ree_lib-1.0.108 lib/ree_lib/packages/ree_datetime/package/ree_datetime/functions/human_zone_offset.rb
ree_lib-1.0.107 lib/ree_lib/packages/ree_datetime/package/ree_datetime/functions/human_zone_offset.rb