Skip to content

Commit b89dd1f

Browse files
authored
Strip leading slash from data file's path (#527)
Since it is redundant and two path segments are joined at the back end via `File.join` which inserts the slash when generating an absolute path.
1 parent 0e65971 commit b89dd1f

File tree

4 files changed

+15
-15
lines changed

4 files changed

+15
-15
lines changed

docs/api.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@ A `GET` call to the `api_url` will return another JSON object for the constituen
114114
"api_url": "http://localhost:4000/_api/data/books/genres/"
115115
},
116116
{
117-
"path": "/_data/books/authors.yml",
117+
"path": "_data/books/authors.yml",
118118
"relative_path": "books/authors.yml",
119119
"slug": "authors",
120120
"ext": ".yml",

lib/jekyll-admin/data_file.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ def title
5656

5757
# Returns path relative to site source
5858
def path
59-
ensure_leading_slash(File.join(DataFile.data_dir, relative_path))
59+
@path ||= File.join(DataFile.data_dir, relative_path)
6060
end
6161

6262
def absolute_path

spec/jekyll-admin/data_file_spec.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@
3939
it "returns the hash" do
4040
expect(subject.to_api).to eql(
4141
"name" => "data_file.yml",
42-
"path" => "/_data/data_file.yml",
42+
"path" => "_data/data_file.yml",
4343
"relative_path" => "data_file.yml",
4444
"slug" => "data_file",
4545
"ext" => ".yml",
@@ -52,7 +52,7 @@
5252
it "returns the hash with content" do
5353
expect(subject.to_api(:include_content => true)).to eql(
5454
"name" => "data_file.yml",
55-
"path" => "/_data/data_file.yml",
55+
"path" => "_data/data_file.yml",
5656
"relative_path" => "data_file.yml",
5757
"slug" => "data_file",
5858
"ext" => ".yml",

spec/jekyll-admin/server/data_spec.rb

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
let(:base_response) do
77
{
88
"name" => "data_file.yml",
9-
"path" => "/_data/data_file.yml",
9+
"path" => "_data/data_file.yml",
1010
"relative_path" => "data_file.yml",
1111
"slug" => "data_file",
1212
"ext" => ".yml",
@@ -46,7 +46,7 @@ def app
4646

4747
expected_response = {
4848
"name" => "actors.yml",
49-
"path" => "/_data/movies/actors.yml",
49+
"path" => "_data/movies/actors.yml",
5050
"relative_path" => "movies/actors.yml",
5151
"slug" => "actors",
5252
"ext" => ".yml",
@@ -64,7 +64,7 @@ def app
6464

6565
expected_response = {
6666
"name" => "actors.yml",
67-
"path" => "/_data/movies/actors.yml",
67+
"path" => "_data/movies/actors.yml",
6868
"relative_path" => "movies/actors.yml",
6969
"slug" => "actors",
7070
"ext" => ".yml",
@@ -86,7 +86,7 @@ def app
8686

8787
expected_response = {
8888
"name" => "data-file-new.yml",
89-
"path" => "/_data/data-file-new.yml",
89+
"path" => "_data/data-file-new.yml",
9090
"relative_path" => "data-file-new.yml",
9191
"slug" => "data-file-new",
9292
"ext" => ".yml",
@@ -114,7 +114,7 @@ def app
114114

115115
expected_response = {
116116
"name" => "data-file-new.yml",
117-
"path" => "/_data/test-dir/data-file-new.yml",
117+
"path" => "_data/test-dir/data-file-new.yml",
118118
"relative_path" => "test-dir/data-file-new.yml",
119119
"slug" => "data-file-new",
120120
"ext" => ".yml",
@@ -142,7 +142,7 @@ def app
142142

143143
expected_response = {
144144
"name" => "data-file-new.yml",
145-
"path" => "/_data/data-file-new.yml",
145+
"path" => "_data/data-file-new.yml",
146146
"relative_path" => "data-file-new.yml",
147147
"slug" => "data-file-new",
148148
"ext" => ".yml",
@@ -170,7 +170,7 @@ def app
170170

171171
expected_response = {
172172
"name" => "data-file-new.yml",
173-
"path" => "/_data/test-dir/data-file-new.yml",
173+
"path" => "_data/test-dir/data-file-new.yml",
174174
"relative_path" => "test-dir/data-file-new.yml",
175175
"slug" => "data-file-new",
176176
"ext" => ".yml",
@@ -198,7 +198,7 @@ def app
198198

199199
expected_response = {
200200
"name" => "data-file-update.yml",
201-
"path" => "/_data/data-file-update.yml",
201+
"path" => "_data/data-file-update.yml",
202202
"relative_path" => "data-file-update.yml",
203203
"slug" => "data-file-update",
204204
"ext" => ".yml",
@@ -226,7 +226,7 @@ def app
226226

227227
expected_response = {
228228
"name" => "data-file-update.yml",
229-
"path" => "/_data/test-dir/data-file-update.yml",
229+
"path" => "_data/test-dir/data-file-update.yml",
230230
"relative_path" => "test-dir/data-file-update.yml",
231231
"slug" => "data-file-update",
232232
"ext" => ".yml",
@@ -255,7 +255,7 @@ def app
255255

256256
expected_response = {
257257
"name" => "data-file-renamed.yml",
258-
"path" => "/_data/data-file-renamed.yml",
258+
"path" => "_data/data-file-renamed.yml",
259259
"relative_path" => "data-file-renamed.yml",
260260
"slug" => "data-file-renamed",
261261
"ext" => ".yml",
@@ -269,7 +269,7 @@ def app
269269
}
270270

271271
request = {
272-
"path" => "/_data/data-file-renamed.yml",
272+
"path" => "_data/data-file-renamed.yml",
273273
"content" => { "foo" => "bar2" },
274274
}
275275
put "/data/data-file-rename.yml", request.to_json

0 commit comments

Comments
 (0)