Class: FriendlyId::SequentiallySlugged::Calculator

Inherits:
Object
  • Object
show all
Defined in:
lib/friendly_id/sequentially_slugged/calculator.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(scope, slug, slug_column, sequence_separator, base_class) ⇒ Calculator

Returns a new instance of Calculator.



6
7
8
9
10
11
12
# File 'lib/friendly_id/sequentially_slugged/calculator.rb', line 6

def initialize(scope, slug, slug_column, sequence_separator, base_class)
  @scope = scope
  @slug = slug
  table_name = scope.connection.quote_table_name(base_class.arel_table.name)
  @slug_column = "#{table_name}.#{scope.connection.quote_column_name(slug_column)}"
  @sequence_separator = sequence_separator
end

Instance Attribute Details

#scopeObject

Returns the value of attribute scope.



4
5
6
# File 'lib/friendly_id/sequentially_slugged/calculator.rb', line 4

def scope
  @scope
end

#sequence_separatorObject

Returns the value of attribute sequence_separator.



4
5
6
# File 'lib/friendly_id/sequentially_slugged/calculator.rb', line 4

def sequence_separator
  @sequence_separator
end

#slugObject

Returns the value of attribute slug.



4
5
6
# File 'lib/friendly_id/sequentially_slugged/calculator.rb', line 4

def slug
  @slug
end

#slug_columnObject

Returns the value of attribute slug_column.



4
5
6
# File 'lib/friendly_id/sequentially_slugged/calculator.rb', line 4

def slug_column
  @slug_column
end

Instance Method Details

#next_slugObject



14
15
16
# File 'lib/friendly_id/sequentially_slugged/calculator.rb', line 14

def next_slug
  slug + sequence_separator + next_sequence_number.to_s
end