Class: Redde::UrlGenerator

Inherits:
Object
  • Object
show all
Defined in:
app/models/redde/url_generator.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(id, name = nil) ⇒ UrlGenerator

Returns a new instance of UrlGenerator.



3
4
5
6
# File 'app/models/redde/url_generator.rb', line 3

def initialize(id, name = nil)
  @id = id
  @name = name
end

Instance Attribute Details

#idObject (readonly)

Returns the value of attribute id.



2
3
4
# File 'app/models/redde/url_generator.rb', line 2

def id
  @id
end

#nameObject (readonly)

Returns the value of attribute name.



2
3
4
# File 'app/models/redde/url_generator.rb', line 2

def name
  @name
end

Instance Method Details

#formatted_nameObject



23
24
25
# File 'app/models/redde/url_generator.rb', line 23

def formatted_name
  name.nil? ? '' : translitted_name
end

#translitted_nameObject



13
14
15
16
17
18
19
20
21
# File 'app/models/redde/url_generator.rb', line 13

def translitted_name
  Russian
    .translit(name)
    .tr(' ', '-')
    .gsub(/[^\x00-\x7F]+/, '')
    .gsub(/[^\w_ \-]+/i, '')
    .gsub(/[ \-]+/i, '-')
    .gsub(/^\-|\-$/i, '')
end

#urlObject



8
9
10
11
# File 'app/models/redde/url_generator.rb', line 8

def url
  return "#{id}-#{formatted_name}".downcase if formatted_name.present?
  id.to_s
end