Module: Ciridiri::Paths

Included in:
Page
Defined in:
lib/ciridiri/paths.rb

Instance Method Summary collapse

Instance Method Details

#path_from_uri(uri) ⇒ Object

Convert ‘uri` to `path` in a file system including `content_dir` and a source file extension `/team/pro/chuck-norris` -> `content_dir/team/pro/chuck-norris.text`



7
8
9
10
11
# File 'lib/ciridiri/paths.rb', line 7

def path_from_uri(uri)
  path = uri.split('/')
  filename = path.pop
  File.join(content_dir, path, "#{filename}#{Ciridiri::SOURCE_FILE_EXT}")
end

#uri_from_path(path) ⇒ Object

Convert ‘path` to `uri` `content_dir/team/pro/chuck-norris.text` -> `/team/pro/chuck-norris`



15
16
17
18
19
20
21
22
# File 'lib/ciridiri/paths.rb', line 15

def uri_from_path(path)
  path = File.absolute_path(path)
  relative_path = Pathname.new(path).relative_path_from(Pathname(content_dir)).to_s
  relative_uri = relative_path.gsub(File::Separator, '/').
                               gsub(Regexp.new("#{Ciridiri::SOURCE_FILE_EXT}$"), '')

  "/#{relative_uri}"
end