class Fx::CommandRecorder::Arguments

@api private

Public Class Methods

new(args) click to toggle source
# File lib/fx/command_recorder/arguments.rb, line 5
def initialize(args)
  @args = args.freeze
end

Public Instance Methods

function() click to toggle source
# File lib/fx/command_recorder/arguments.rb, line 9
def function
  @args[0]
end
invert_version() click to toggle source
# File lib/fx/command_recorder/arguments.rb, line 21
def invert_version
  Arguments.new([function, options_for_revert])
end
revert_to_version() click to toggle source
# File lib/fx/command_recorder/arguments.rb, line 17
def revert_to_version
  options[:revert_to_version]
end
to_a() click to toggle source
# File lib/fx/command_recorder/arguments.rb, line 25
def to_a
  @args.to_a
end
version() click to toggle source
# File lib/fx/command_recorder/arguments.rb, line 13
def version
  options[:version]
end

Private Instance Methods

options() click to toggle source
# File lib/fx/command_recorder/arguments.rb, line 31
def options
  @options ||= @args[1] || {}
end
options_for_revert() click to toggle source
# File lib/fx/command_recorder/arguments.rb, line 35
def options_for_revert
  options.clone.tap do |revert_options|
    revert_options[:version] = revert_to_version
    revert_options.delete(:revert_to_version)
  end
end