Add root_dir kwarg to Resource
This commit is contained in:
@@ -4,10 +4,10 @@ module Calligraphy
|
|||||||
class FileResource < Resource
|
class FileResource < Resource
|
||||||
include Calligraphy::Utils
|
include Calligraphy::Utils
|
||||||
|
|
||||||
def initialize(resource: nil, req: nil, mount: nil)
|
def initialize(resource: nil, req: nil, mount: nil, root_dir: Dir.pwd)
|
||||||
super
|
super
|
||||||
|
|
||||||
@root_dir = Dir.pwd
|
@root_dir = root_dir || Dir.pwd
|
||||||
@src_path = join_paths @root_dir, @request_path
|
@src_path = join_paths @root_dir, @request_path
|
||||||
|
|
||||||
if exists?
|
if exists?
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ module Calligraphy
|
|||||||
|
|
||||||
if @resource.is_true? options[:overwrite]
|
if @resource.is_true? options[:overwrite]
|
||||||
to_path = options[:destination].tap { |s| s.slice! @resource.mount_point }
|
to_path = options[:destination].tap { |s| s.slice! @resource.mount_point }
|
||||||
to_resource = @resource.class.new resource: to_path, req: @request
|
to_resource = @resource.class.new resource: to_path, req: @request, root_dir: @resource.root_dir
|
||||||
|
|
||||||
if to_resource.exists?
|
if to_resource.exists?
|
||||||
to_resource.delete_collection
|
to_resource.delete_collection
|
||||||
|
|||||||
@@ -35,7 +35,8 @@ module Calligraphy::Rails
|
|||||||
end
|
end
|
||||||
|
|
||||||
@resource_class = params[:resource_class]
|
@resource_class = params[:resource_class]
|
||||||
@resource = @resource_class.new resource: resource_id, req: request
|
@resource_root_path = params[:resource_root_path]
|
||||||
|
@resource = @resource_class.new resource: resource_id, req: request, root_dir: @resource_root_path
|
||||||
end
|
end
|
||||||
|
|
||||||
def headers
|
def headers
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
module Calligraphy
|
module Calligraphy
|
||||||
class Resource
|
class Resource
|
||||||
attr_accessor :contents, :updated_at
|
attr_accessor :contents, :updated_at
|
||||||
attr_reader :full_request_path, :mount_point, :request_body, :request_path
|
attr_reader :full_request_path, :mount_point, :request_body, :request_path, :root_dir
|
||||||
|
|
||||||
def initialize(resource: nil, req: nil, mount: nil)
|
def initialize(resource: nil, req: nil, mount: nil, root_dir: nil)
|
||||||
@full_request_path = req&.original_url
|
@full_request_path = req&.original_url
|
||||||
@mount_point = mount || req&.path&.tap { |s| s.slice! resource }
|
@mount_point = mount || req&.path&.tap { |s| s.slice! resource }
|
||||||
@request_body = req&.body&.read || ''
|
@request_body = req&.body&.read || ''
|
||||||
|
|||||||
Reference in New Issue
Block a user