Class: Smplkit::Flags::FlagChangeEvent

Inherits:
Object
  • Object
show all
Defined in:
lib/smplkit/flags/client.rb

Overview

Describes a flag definition change. Frozen — fields are set at construction.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(id:, source:, deleted: false) ⇒ FlagChangeEvent

Returns a new instance of FlagChangeEvent.



47
48
49
50
51
52
# File 'lib/smplkit/flags/client.rb', line 47

def initialize(id:, source:, deleted: false)
  @id = id
  @source = source
  @deleted = deleted
  freeze
end

Instance Attribute Details

#deletedBoolean (readonly)

Returns whether the change was a deletion of the flag.

Returns:

  • (Boolean)

    whether the change was a deletion of the flag.



44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
# File 'lib/smplkit/flags/client.rb', line 44

class FlagChangeEvent
  attr_reader :id, :source, :deleted

  def initialize(id:, source:, deleted: false)
    @id = id
    @source = source
    @deleted = deleted
    freeze
  end

  def deleted? = @deleted

  def ==(other)
    other.is_a?(FlagChangeEvent) && id == other.id && source == other.source && deleted == other.deleted
  end
  alias eql? ==

  def hash = [id, source, deleted].hash
end

#idString (readonly)

Returns id of the flag whose definition changed.

Returns:

  • (String)

    id of the flag whose definition changed.



44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
# File 'lib/smplkit/flags/client.rb', line 44

class FlagChangeEvent
  attr_reader :id, :source, :deleted

  def initialize(id:, source:, deleted: false)
    @id = id
    @source = source
    @deleted = deleted
    freeze
  end

  def deleted? = @deleted

  def ==(other)
    other.is_a?(FlagChangeEvent) && id == other.id && source == other.source && deleted == other.deleted
  end
  alias eql? ==

  def hash = [id, source, deleted].hash
end

#sourceString (readonly)

Returns origin of the change (e.g. “websocket” for a live update or “manual” for a refresh).

Returns:

  • (String)

    origin of the change (e.g. “websocket” for a live update or “manual” for a refresh).



44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
# File 'lib/smplkit/flags/client.rb', line 44

class FlagChangeEvent
  attr_reader :id, :source, :deleted

  def initialize(id:, source:, deleted: false)
    @id = id
    @source = source
    @deleted = deleted
    freeze
  end

  def deleted? = @deleted

  def ==(other)
    other.is_a?(FlagChangeEvent) && id == other.id && source == other.source && deleted == other.deleted
  end
  alias eql? ==

  def hash = [id, source, deleted].hash
end

Instance Method Details

#==(other) ⇒ Object Also known as: eql?



56
57
58
# File 'lib/smplkit/flags/client.rb', line 56

def ==(other)
  other.is_a?(FlagChangeEvent) && id == other.id && source == other.source && deleted == other.deleted
end

#deleted?Boolean

Returns:

  • (Boolean)


54
# File 'lib/smplkit/flags/client.rb', line 54

def deleted? = @deleted

#hashObject



61
# File 'lib/smplkit/flags/client.rb', line 61

def hash = [id, source, deleted].hash