Class: StoreAgent::VersionManager
- Inherits:
-
Object
- Object
- StoreAgent::VersionManager
- 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
バージョン管理に使用するクラスの雛形。
デフォルトではこのクラスが使用されるが、その場合はバージョン管理を行わない。
Defined Under Namespace
Instance Attribute Summary collapse
-
#workspace ⇒ Object
readonly
Returns the value of attribute workspace.
Class Method Summary collapse
-
.reserved_filenames ⇒ Object
バージョン管理システムが使用するため予約されているファイル名
例えば git の場合は、.git .keep など.
Instance Method Summary collapse
-
#add(*params, &block) ⇒ Object
:call-seq: add(*paths).
-
#init(*params, &block) ⇒ Object
:call-seq: init.
-
#initialize(workspace: nil) ⇒ VersionManager
constructor
:nodoc:.
-
#read(*params, &block) ⇒ Object
:call-seq: read(path: “”, revision: nil).
-
#remove(*params, &block) ⇒ Object
:call-seq: remove(*paths, directory: false).
-
#revisions(*params, &block) ⇒ Object
:call-seq: revisions(path).
-
#transaction(*params, &block) ⇒ Object
:call-seq: transaction(messsage, &block).
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
#workspace ⇒ Object (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_filenames ⇒ Object
バージョン管理システムが使用するため予約されているファイル名
例えば 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 |