Class: StoreAgent::VersionManager

Inherits:
Object
  • Object
show all
Defined in:
lib/store_agent/version_manager.rb,
lib/store_agent/version_manager/ruby_git.rb,
lib/store_agent/version_manager/rugged_git.rb

Overview

バージョン管理に使用するクラスの雛形。
デフォルトではこのクラスが使用されるが、その場合はバージョン管理を行わない。

Direct Known Subclasses

RubyGit, RuggedGit

Defined Under Namespace

Classes: RubyGit, RuggedGit

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(workspace: nil) ⇒ VersionManager

:nodoc:



32
33
34
# File 'lib/store_agent/version_manager.rb', line 32

def initialize(workspace: nil) # :nodoc:
  @workspace = workspace
end

Instance Attribute Details

#workspaceObject (readonly)

Returns the value of attribute workspace.



24
25
26
# File 'lib/store_agent/version_manager.rb', line 24

def workspace
  @workspace
end

Class Method Details

.reserved_filenamesObject

バージョン管理システムが使用するため予約されているファイル名
例えば git の場合は、.git .keep など



28
29
30
# File 'lib/store_agent/version_manager.rb', line 28

def self.reserved_filenames
  []
end

Instance Method Details

#add(*params, &block) ⇒ Object

:call-seq:

add(*paths)

引数で渡されたパスをバージョン管理対象に追加する



48
49
50
# File 'lib/store_agent/version_manager.rb', line 48

def add(*params, &block)
  call_block(params, &block)
end

#init(*params, &block) ⇒ Object

:call-seq:

init

バージョン管理対象のリポジトリを初期化する



40
41
42
# File 'lib/store_agent/version_manager.rb', line 40

def init(*params, &block)
  call_block(params, &block)
end

#read(*params, &block) ⇒ Object

:call-seq:

read(path: "", revision: nil)

指定されたパスの指定リビジョン時の中身を返す



75
76
77
# File 'lib/store_agent/version_manager.rb', line 75

def read(*params, &block)
  call_block(params, &block)
end

#remove(*params, &block) ⇒ Object

:call-seq:

remove(*paths, directory: false)

引数で渡されたパスをバージョン管理対象から除外する
パスがディレクトリの場合には、directory に true が渡される



57
58
59
# File 'lib/store_agent/version_manager.rb', line 57

def remove(*params, &block)
  call_block(params, &block)
end

#revisions(*params, &block) ⇒ Object

:call-seq:

revisions(path)

引数で渡されたパスのリビジョン一覧を返す



83
84
85
# File 'lib/store_agent/version_manager.rb', line 83

def revisions(*params, &block)
  call_block(params, &block)
end

#transaction(*params, &block) ⇒ Object

:call-seq:

transaction(messsage, &block)

引数でコミットメッセージとブロックを受け取り、トランザクション処理で実行する
ブロックの実行に成功した場合には受け取ったメッセージで変更をコミットする。
処理に失敗した場合は、ブロックの実行前の状態に戻す。



67
68
69
# File 'lib/store_agent/version_manager.rb', line 67

def transaction(*params, &block)
  call_block(params, &block)
end