Class: HP::Cloud::AclCmd
- Inherits:
-
Object
- Object
- HP::Cloud::AclCmd
- Defined in:
- lib/hpcloud/acl_cmd.rb
Constant Summary collapse
- VALID_ACLS =
["r", "rw", "w"]
Instance Attribute Summary collapse
-
#cstatus ⇒ Object
readonly
Returns the value of attribute cstatus.
-
#permissions ⇒ Object
readonly
Returns the value of attribute permissions.
-
#users ⇒ Object
readonly
Returns the value of attribute users.
Instance Method Summary collapse
-
#initialize(permissions, users) ⇒ AclCmd
constructor
A new instance of AclCmd.
- #is_public? ⇒ Boolean
- #is_valid? ⇒ Boolean
- #readers ⇒ Object
- #to_s ⇒ Object
- #writers ⇒ Object
Constructor Details
#initialize(permissions, users) ⇒ AclCmd
Returns a new instance of AclCmd.
30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
# File 'lib/hpcloud/acl_cmd.rb', line 30 def initialize(, users) @cstatus = CliStatus.new @permissions = .downcase @permissions = "r" if @permissions == "public-read" @users = users if @permissions == "private" @cstatus = CliStatus.new("Use the acl:revoke command to revoke public read permissions", :incorrect_usage) return end unless VALID_ACLS.include?(@permissions) @cstatus = CliStatus.new("Your permissions '#{@permissions}' are not valid.\nValid settings are: #{VALID_ACLS.join(', ')}", :incorrect_usage) return end @permissions = "pr" if is_public? && @permissions == "r" if is_public? && @permissions != "pr" @cstatus = CliStatus.new("You may not make an object writable by everyone", :not_supported) return end end |
Instance Attribute Details
#cstatus ⇒ Object (readonly)
Returns the value of attribute cstatus.
28 29 30 |
# File 'lib/hpcloud/acl_cmd.rb', line 28 def cstatus @cstatus end |
#permissions ⇒ Object (readonly)
Returns the value of attribute permissions.
27 28 29 |
# File 'lib/hpcloud/acl_cmd.rb', line 27 def @permissions end |
#users ⇒ Object (readonly)
Returns the value of attribute users.
27 28 29 |
# File 'lib/hpcloud/acl_cmd.rb', line 27 def users @users end |
Instance Method Details
#is_public? ⇒ Boolean
51 52 53 54 55 |
# File 'lib/hpcloud/acl_cmd.rb', line 51 def is_public? return false if @users.nil? return true if @users.empty? return false end |
#is_valid? ⇒ Boolean
57 58 59 |
# File 'lib/hpcloud/acl_cmd.rb', line 57 def is_valid? return @cstatus.is_success? end |
#readers ⇒ Object
61 62 63 64 65 66 |
# File 'lib/hpcloud/acl_cmd.rb', line 61 def readers return [] if @permissions == "pr" return @users if @permissions == "r" return @users if @permissions == "rw" return nil end |
#to_s ⇒ Object
74 75 76 77 78 |
# File 'lib/hpcloud/acl_cmd.rb', line 74 def to_s return "public-read" if @permissions == "pr" return (@permissions + " for " + @users.join(",")) unless @users.nil? return @permissions end |
#writers ⇒ Object
68 69 70 71 72 |
# File 'lib/hpcloud/acl_cmd.rb', line 68 def writers return @users if @permissions == "w" return @users if @permissions == "rw" return nil end |