Class: EasyCreds::InitState

Inherits:
Object
  • Object
show all
Defined in:
lib/easy_creds/init_state.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(entries:, op_values: {}) ⇒ InitState

Returns a new instance of InitState.



31
32
33
34
35
36
37
# File 'lib/easy_creds/init_state.rb', line 31

def initialize(entries:, op_values: {})
  @entries       = entries
  @op_values     = op_values
  @cursor        = 0
  @scroll_offset = 0
  @dirty         = false
end

Instance Attribute Details

#cursorObject

Returns the value of attribute cursor.



29
30
31
# File 'lib/easy_creds/init_state.rb', line 29

def cursor
  @cursor
end

#dirtyObject

Returns the value of attribute dirty.



29
30
31
# File 'lib/easy_creds/init_state.rb', line 29

def dirty
  @dirty
end

#entriesObject (readonly)

Returns the value of attribute entries.



28
29
30
# File 'lib/easy_creds/init_state.rb', line 28

def entries
  @entries
end

#op_valuesObject (readonly)

Returns the value of attribute op_values.



28
29
30
# File 'lib/easy_creds/init_state.rb', line 28

def op_values
  @op_values
end

#scroll_offsetObject

Returns the value of attribute scroll_offset.



29
30
31
# File 'lib/easy_creds/init_state.rb', line 29

def scroll_offset
  @scroll_offset
end

Instance Method Details

#adjust_scroll(cursor_tree_idx, content_rows) ⇒ Object



59
60
61
62
63
# File 'lib/easy_creds/init_state.rb', line 59

def adjust_scroll(cursor_tree_idx, content_rows)
  @scroll_offset = cursor_tree_idx if cursor_tree_idx < @scroll_offset
  @scroll_offset = cursor_tree_idx - content_rows + 1 if cursor_tree_idx >= @scroll_offset + content_rows
  @scroll_offset = [@scroll_offset, 0].max
end

#clear_entry(entry) ⇒ Object



54
55
56
57
# File 'lib/easy_creds/init_state.rb', line 54

def clear_entry(entry)
  entry.value  = nil
  entry.source = :unset
end

#currentObject



39
# File 'lib/easy_creds/init_state.rb', line 39

def current   = entries[cursor]

#move_down(steps = 1) ⇒ Object



44
# File 'lib/easy_creds/init_state.rb', line 44

def move_down(steps = 1) = @cursor = [@cursor + steps, entries.size - 1].min

#move_firstObject



45
# File 'lib/easy_creds/init_state.rb', line 45

def move_first       = @cursor = 0

#move_lastObject



46
# File 'lib/easy_creds/init_state.rb', line 46

def move_last        = @cursor = entries.size - 1

#move_up(steps = 1) ⇒ Object



43
# File 'lib/easy_creds/init_state.rb', line 43

def move_up(steps = 1)   = @cursor = [@cursor - steps, 0].max

#set_countObject



40
# File 'lib/easy_creds/init_state.rb', line 40

def set_count = entries.count(&:set?)

#set_entry(entry, value:, source:) ⇒ Object



48
49
50
51
52
# File 'lib/easy_creds/init_state.rb', line 48

def set_entry(entry, value:, source:)
  entry.value  = value
  entry.source = source
  @dirty       = true
end

#totalObject



41
# File 'lib/easy_creds/init_state.rb', line 41

def total     = entries.size