Class: CanOpener::Ability
- Inherits:
-
Object
- Object
- CanOpener::Ability
- Extended by:
- Forwardable
- Defined in:
- lib/can_opener/ability.rb
Class Attribute Summary collapse
-
.initializer_arguments ⇒ Object
Returns the value of attribute initializer_arguments.
Instance Attribute Summary collapse
-
#user ⇒ Object
readonly
Returns the value of attribute user.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(base, *args) ⇒ Ability
constructor
A new instance of Ability.
Constructor Details
#initialize(base, *args) ⇒ Ability
Returns a new instance of Ability.
15 16 17 18 19 20 |
# File 'lib/can_opener/ability.rb', line 15 def initialize(base, *args) raise "You should only work with subclasses of CanOpener::Ability" if self.class == CanOpener::Ability @base = base setup_vars(*args) abilities end |
Class Attribute Details
.initializer_arguments ⇒ Object
Returns the value of attribute initializer_arguments.
6 7 8 |
# File 'lib/can_opener/ability.rb', line 6 def initializer_arguments @initializer_arguments end |
Instance Attribute Details
#user ⇒ Object
Returns the value of attribute user.
12 13 14 |
# File 'lib/can_opener/ability.rb', line 12 def user @user end |
Class Method Details
.additional_ability_arguments(*args) ⇒ Object
22 23 24 25 26 27 28 |
# File 'lib/can_opener/ability.rb', line 22 def self.additional_ability_arguments(*args) self.initializer_arguments = [:user] args.each_with_index do |arg, idx| raise ArgumentError, "user cannot be an additional argument as it is required as the first arg" if arg.to_sym == :user self.initializer_arguments << arg.to_sym end end |