Module: Handinger::Models::Workers::ScheduleCreateParams::When

Extended by:
Internal::Type::Union
Defined in:
lib/handinger/models/workers/schedule_create_params.rb

Defined Under Namespace

Classes: Cron, Delayed, Interval, Scheduled

Instance Method Summary collapse

Methods included from Internal::Type::Union

==, ===, coerce, dump, hash, inspect, to_sorbet_type, variants

Methods included from Internal::Util::SorbetRuntimeSupport

#const_missing, #define_sorbet_constant!, #sorbet_constant_defined?, #to_sorbet_type, to_sorbet_type

Methods included from Internal::Type::Converter

#coerce, coerce, #dump, dump, #inspect, inspect, meta_info, new_coerce_state, type_info

Instance Method Details

#initialize(cron:, type: :cron) ⇒ Object

Parameters:

  • cron (String)
  • type (Symbol, :cron) (defaults to: :cron)


38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
# File 'lib/handinger/models/workers/schedule_create_params.rb', line 38

module When
  extend Handinger::Internal::Type::Union

  discriminator :type

  variant :scheduled, -> { Handinger::Workers::ScheduleCreateParams::When::Scheduled }

  variant :delayed, -> { Handinger::Workers::ScheduleCreateParams::When::Delayed }

  variant :cron, -> { Handinger::Workers::ScheduleCreateParams::When::Cron }

  variant :interval, -> { Handinger::Workers::ScheduleCreateParams::When::Interval }

  class Scheduled < Handinger::Internal::Type::BaseModel
    # @!attribute date
    #
    #   @return [Time]
    required :date, Time

    # @!attribute type
    #
    #   @return [Symbol, :scheduled]
    required :type, const: :scheduled

    # @!method initialize(date:, type: :scheduled)
    #   @param date [Time]
    #   @param type [Symbol, :scheduled]
  end

  class Delayed < Handinger::Internal::Type::BaseModel
    # @!attribute delay_in_seconds
    #
    #   @return [Integer]
    required :delay_in_seconds, Integer, api_name: :delayInSeconds

    # @!attribute type
    #
    #   @return [Symbol, :delayed]
    required :type, const: :delayed

    # @!method initialize(delay_in_seconds:, type: :delayed)
    #   @param delay_in_seconds [Integer]
    #   @param type [Symbol, :delayed]
  end

  class Cron < Handinger::Internal::Type::BaseModel
    # @!attribute cron
    #
    #   @return [String]
    required :cron, String

    # @!attribute type
    #
    #   @return [Symbol, :cron]
    required :type, const: :cron

    # @!method initialize(cron:, type: :cron)
    #   @param cron [String]
    #   @param type [Symbol, :cron]
  end

  class Interval < Handinger::Internal::Type::BaseModel
    # @!attribute interval_seconds
    #
    #   @return [Integer]
    required :interval_seconds, Integer, api_name: :intervalSeconds

    # @!attribute type
    #
    #   @return [Symbol, :interval]
    required :type, const: :interval

    # @!method initialize(interval_seconds:, type: :interval)
    #   @param interval_seconds [Integer]
    #   @param type [Symbol, :interval]
  end

  # @!method self.variants
  #   @return [Array(Handinger::Models::Workers::ScheduleCreateParams::When::Scheduled, Handinger::Models::Workers::ScheduleCreateParams::When::Delayed, Handinger::Models::Workers::ScheduleCreateParams::When::Cron, Handinger::Models::Workers::ScheduleCreateParams::When::Interval)]
end