Class: Versacommerce::ThemeAPIClient::Resources::Directory

Inherits:
Versacommerce::ThemeAPIClient::Resource show all
Includes:
FileBehaviour
Defined in:
lib/versacommerce/theme_api_client/resources/directory.rb

Instance Attribute Summary

Attributes inherited from Versacommerce::ThemeAPIClient::Resource

#new_record

Class Method Summary collapse

Instance Method Summary collapse

Methods included from FileBehaviour

#==, #name, #path=

Methods inherited from Versacommerce::ThemeAPIClient::Resource

#assign_attributes, #initialize, #new_record?, #save, #update

Constructor Details

This class inherits a constructor from Versacommerce::ThemeAPIClient::Resource

Class Method Details

.delete(path) ⇒ Object



27
28
29
30
31
# File 'lib/versacommerce/theme_api_client/resources/directory.rb', line 27

def delete(path)
  fetcher.delete(directory_path(path))
  clear_changes_information
  self.new_record = true
end

.find(path, **options) ⇒ Object



22
23
24
25
# File 'lib/versacommerce/theme_api_client/resources/directory.rb', line 22

def find(path, **options)
  fetcher.head(directory_path(path))
  new(path: path, new_record: false)
end

.in_path(path = '', recursive = true) ⇒ Object



18
19
20
# File 'lib/versacommerce/theme_api_client/resources/directory.rb', line 18

def in_path(path = '', recursive = true)
  recursive ? fetch_recursive(path) : fetch_non_recursive(path)
end

.model_nameObject



33
34
35
# File 'lib/versacommerce/theme_api_client/resources/directory.rb', line 33

def model_name
  ActiveModel::Name.new(self, nil, 'Directory')
end

Instance Method Details

#deleteObject



70
71
72
73
74
75
# File 'lib/versacommerce/theme_api_client/resources/directory.rb', line 70

def delete
  unless new_record?
    response = fetcher.delete(directory_path(path))
    response.status.no_content?
  end
end

#directories(recursive: false) ⇒ Object



62
63
64
# File 'lib/versacommerce/theme_api_client/resources/directory.rb', line 62

def directories(recursive: false)
  client.directories(path: path, recursive: recursive)
end

#files(recursive: false) ⇒ Object



66
67
68
# File 'lib/versacommerce/theme_api_client/resources/directory.rb', line 66

def files(recursive: false)
  client.files(path: path, recursive: recursive)
end

#inspectObject



77
78
79
# File 'lib/versacommerce/theme_api_client/resources/directory.rb', line 77

def inspect
  '#<Directory:0x%x>' % (object_id << 1)
end