class DirectoriesController

typed: false

Public Instance Methods

create() click to toggle source

POST /directories POST /directories.json

# File server/redux-os/app/controllers/directories_controller.rb, line 64
def create
  @directory = Directory.new(directory_params)

  respond_to do |format|
    if @directory.save
      format.html { redirect_to @directory, notice: 'Directory was successfully created.' }
      format.json { render :show, status: :created, location: @directory }
    else
      format.html { render :new }
      format.json { render json: @directory.errors, status: :unprocessable_entity }
    end
  end
end
destroy() click to toggle source

DELETE /directories/1 DELETE /directories/1.json

# File server/redux-os/app/controllers/directories_controller.rb, line 94
def destroy
  @directory.destroy
  respond_to do |format|
    format.html { redirect_to directories_url, notice: 'Directory was successfully destroyed.' }
    format.json { head :no_content }
  end
end
edit() click to toggle source

GET /directories/1/edit

# File server/redux-os/app/controllers/directories_controller.rb, line 59
def edit
end
index() click to toggle source

GET /directories GET /directories.json

# File server/redux-os/app/controllers/directories_controller.rb, line 7
def index
  @directories = Directory.all
end
new() click to toggle source

GET /directories/new

# File server/redux-os/app/controllers/directories_controller.rb, line 54
def new
  @directory = Directory.new
end
show() click to toggle source

GET /directories/1 GET /directories/1.json

# File server/redux-os/app/controllers/directories_controller.rb, line 13
def show
  if params[:id] =~ /\A\//
    global_dir_path = params[:id]
  else
    global_dir_path = '/local' + File.expand_path(File.join(Rails.application.root.to_s,params[:id]))
  end
  
  @path = EziiOsPath.new(global_dir_path)

  case @path.file_system.machine_readable_identifier
  when 'local'
    @paths = Dir
      .entries(@path.file_system_path)
      .map do |entry| 
        EziiOsPath.new(
          File.join(@path.global_path, entry)
        )
      end
      .reject do |path| 
        path.file_system_path =~ /\/\./
      end # filter invisible files

  when 'dropbox'
    dropbox_directory = DropboxDirectory.new(@path.file_system_path)
    @paths = dropbox_directory
      .entries
      .take(25)
      .map do |entry|
        path = EziiOsPath.new(
          File.join(@path.global_path, entry['name'])
        )
        path.dropbox_metainfo = entry
        path
      end

  when 'github'
    redirect_to('https://github.com/ezii123/ezii-os/find/master')
  end
end
update() click to toggle source

PATCH/PUT /directories/1 PATCH/PUT /directories/1.json

# File server/redux-os/app/controllers/directories_controller.rb, line 80
def update
  respond_to do |format|
    if @directory.update(directory_params)
      format.html { redirect_to @directory, notice: 'Directory was successfully updated.' }
      format.json { render :show, status: :ok, location: @directory }
    else
      format.html { render :edit }
      format.json { render json: @directory.errors, status: :unprocessable_entity }
    end
  end
end

Private Instance Methods

directory_params() click to toggle source

Never trust parameters from the scary internet, only allow the white list through.

# File server/redux-os/app/controllers/directories_controller.rb, line 109
def directory_params
  params.require(:directory).permit(:path)
end
set_directory() click to toggle source

Use callbacks to share common setup or constraints between actions.

# File server/redux-os/app/controllers/directories_controller.rb, line 104
def set_directory
  # @directory = Directory.find(params[:id])
end