class StoreAgent::User
オブジェクトの操作を行うユーザー
Attributes
identifiers[R]
Public Class Methods
new(*identifiers)
click to toggle source
ユーザーの初期化は以下のようにして行う
StoreAgent::User.new("foo") StoreAgent::User.new("foo", "bar") StoreAgent::User.new(["foo", "bar", "baz"]) StoreAgent::User.new("foo", ["bar", "hoge"], "fuga")
# File lib/store_agent/user.rb, line 29 def initialize(*identifiers) identifiers.compact! if identifiers.empty? raise ArgumentError, "identifier(s) is required" end @identifiers = identifiers.map do |identifier| if identifier.is_a?(Array) stringify_map_identifier(identifier) else stringify_identifier(identifier) end end end
Public Instance Methods
guest?()
click to toggle source
# File lib/store_agent/user.rb, line 55 def guest? false end
identifier()
click to toggle source
# File lib/store_agent/user.rb, line 47 def identifier identifier_array.first end
super_user?()
click to toggle source
# File lib/store_agent/user.rb, line 51 def super_user? false end
workspace(namespace)
click to toggle source
操作対象のワークスペースを指定する
# File lib/store_agent/user.rb, line 60 def workspace(namespace) StoreAgent::Workspace.new(current_user: self, namespace: namespace) end
Private Instance Methods
stringify_identifier(identifier)
click to toggle source
# File lib/store_agent/user.rb, line 66 def stringify_identifier(identifier) validates_to_be_string_or_symbol!(identifier) validates_to_be_excluded_slash!(identifier) validates_to_be_not_superuser_identifier!(identifier) validates_to_be_not_guest_identifier!(identifier) identifier.to_s end
stringify_map_identifier(identifiers_array)
click to toggle source
# File lib/store_agent/user.rb, line 74 def stringify_map_identifier(identifiers_array) case identifiers_array.length when 0 raise ArgumentError, "identifier(s) contains empty array" when 1 stringify_identifier(identifiers_array.first) else identifiers_array.map{|id| stringify_identifier(id)} end end