class Strings::Truncation::Configuration

A configuration object used by a Strings::Truncation instance

@api private

Constants

DEFAULT_LENGTH
DEFAULT_OMISSION
DEFAULT_POSITION

Public Class Methods

new(length: DEFAULT_LENGTH, omission: DEFAULT_OMISSION, position: DEFAULT_POSITION, separator: nil) click to toggle source

Create a configuration

@api public

# File lib/strings/truncation/configuration.rb, line 18
def initialize(length: DEFAULT_LENGTH, omission: DEFAULT_OMISSION,
               position: DEFAULT_POSITION, separator: nil)
  @length = length
  @omission = omission
  @position = position
  @separator = separator
end

Public Instance Methods

length(number = (not_set = true)) click to toggle source

The maximum length to truncate to

@example

strings = Strings::Truncation.new

strings.configure do |config|
  config.length 40
end

@param [Integer] number

@api public

# File lib/strings/truncation/configuration.rb, line 48
def length(number = (not_set = true))
  if not_set
    @length
  else
    @length = number
  end
end
omission(string = (not_set = true)) click to toggle source

The string to denote omitted content

@example

strings = Strings::Truncation.new

strings.configure do |config|
  config.omission "..."
end

@param [String] string

@api public

# File lib/strings/truncation/configuration.rb, line 68
def omission(string = (not_set = true))
  if not_set
    @omission
  else
    @omission = string
  end
end
position(position = (not_set = true)) click to toggle source

The position of the omission within the string

@example

strings = Strings::Truncation.new

strings.configure do |config|
  config.position :start
end

@param [Symbol] position

the position out of :start, :middle or :end

@api public

# File lib/strings/truncation/configuration.rb, line 90
def position(position = (not_set = true))
  if not_set
    @position
  else
    @position = position
  end
end
separator(separator = (not_set = true)) click to toggle source

The separator to break the characters into words

@example

strings = Strings::Truncation.new

strings.configure do |config|
  config.separator /[, ]/
end

@param [String|Regexp] separator

@api public

# File lib/strings/truncation/configuration.rb, line 110
def separator(separator = (not_set = true))
  if not_set
    @separator
  else
    @separator = separator
  end
end
update(length: nil, omission: nil, position: nil, separator: nil) click to toggle source

Update current configuration

@api public

# File lib/strings/truncation/configuration.rb, line 29
def update(length: nil, omission: nil, position: nil, separator: nil)
  @length = length if length
  @omission = omission if omission
  @position = position if position
  @separator = separator if separator
end