Add root_dir kwarg to Resource

This commit is contained in:
Brandon Robins
2017-11-22 23:40:23 -05:00
parent ddb1fd9c7e
commit 4f80ee2d39
4 changed files with 7 additions and 6 deletions

View File

@@ -4,10 +4,10 @@ module Calligraphy
class FileResource < Resource
include Calligraphy::Utils
def initialize(resource: nil, req: nil, mount: nil)
def initialize(resource: nil, req: nil, mount: nil, root_dir: Dir.pwd)
super
@root_dir = Dir.pwd
@root_dir = root_dir || Dir.pwd
@src_path = join_paths @root_dir, @request_path
if exists?

View File

@@ -7,7 +7,7 @@ module Calligraphy
if @resource.is_true? options[:overwrite]
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?
to_resource.delete_collection

View File

@@ -35,7 +35,8 @@ module Calligraphy::Rails
end
@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
def headers

View File

@@ -1,9 +1,9 @@
module Calligraphy
class Resource
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
@mount_point = mount || req&.path&.tap { |s| s.slice! resource }
@request_body = req&.body&.read || ''