Module: Strelka::MethodUtilities
- Included in:
- Strelka, App, App::Auth, App::Sessions, AuthProvider::Basic, AuthProvider::HostAccess, CLI, Discovery, HTTPResponse::Negotiation, MultipartParser, ParamValidator, ParamValidator::Constraint, Session::Db, Session::Default, WebSocketServer
- Defined in:
- lib/strelka/mixins.rb
Overview
A collection of methods for declaring other methods.
class MyClass
extend Strelka::MethodUtilities
singleton_attr_accessor :types
singleton_method_alias :kinds, :types
end
MyClass.types = [ :pheno, :proto, :stereo ]
MyClass.kinds # => [:pheno, :proto, :stereo]
Instance Method Summary collapse
-
#attr_predicate(attrname) ⇒ Object
Create a reader in the form of a predicate for the given
attrname. -
#attr_predicate_accessor(attrname) ⇒ Object
Create a reader in the form of a predicate for the given
attrnameas well as a regular writer method. -
#singleton_attr_accessor(*symbols) ⇒ Object
Creates readers and writers that allow assignment to the attributes of the singleton of the declaring object that correspond to the specified
symbols. -
#singleton_attr_reader(*symbols) ⇒ Object
Creates instance variables and corresponding methods that return their values for each of the specified
symbolsin the singleton of the declaring object (e.g., class instance variables and methods if declared in a Class). -
#singleton_attr_writer(*symbols) ⇒ Object
Creates methods that allow assignment to the attributes of the singleton of the declaring object that correspond to the specified
symbols. -
#singleton_method_alias(newname, original) ⇒ Object
Creates an alias for the
originalmethod namednewname. -
#singleton_predicate_accessor(*symbols) ⇒ Object
Create predicate methods and writers that allow assignment to the attributes of the singleton of the declaring object that correspond to the specified
symbols. -
#singleton_predicate_reader(*symbols) ⇒ Object
Create instance variables and corresponding methods that return true or false values for each of the specified
symbolsin the singleton of the declaring object.
Instance Method Details
#attr_predicate(attrname) ⇒ Object
Create a reader in the form of a predicate for the given attrname.
332 333 334 335 336 337 |
# File 'lib/strelka/mixins.rb', line 332 def attr_predicate( attrname ) attrname = attrname.to_s.chomp( '?' ) define_method( "#{attrname}?" ) do instance_variable_get( "@#{attrname}" ) ? true : false end end |
#attr_predicate_accessor(attrname) ⇒ Object
Create a reader in the form of a predicate for the given attrname
as well as a regular writer method.
342 343 344 345 346 |
# File 'lib/strelka/mixins.rb', line 342 def attr_predicate_accessor( attrname ) attrname = attrname.to_s.chomp( '?' ) attr_writer( attrname ) attr_predicate( attrname ) end |
#singleton_attr_accessor(*symbols) ⇒ Object
Creates readers and writers that allow assignment to the attributes of
the singleton of the declaring object that correspond to the specified
symbols.
309 310 311 312 313 |
# File 'lib/strelka/mixins.rb', line 309 def singleton_attr_accessor( *symbols ) symbols.each do |sym| singleton_class.__send__( :attr_accessor, sym ) end end |
#singleton_attr_reader(*symbols) ⇒ Object
Creates instance variables and corresponding methods that return their
values for each of the specified symbols in the singleton of the
declaring object (e.g., class instance variables and methods if declared
in a Class).
281 282 283 284 285 |
# File 'lib/strelka/mixins.rb', line 281 def singleton_attr_reader( *symbols ) singleton_class.instance_exec( symbols ) do |attrs| attr_reader( *attrs ) end end |
#singleton_attr_writer(*symbols) ⇒ Object
Creates methods that allow assignment to the attributes of the singleton
of the declaring object that correspond to the specified symbols.
299 300 301 302 303 |
# File 'lib/strelka/mixins.rb', line 299 def singleton_attr_writer( *symbols ) singleton_class.instance_exec( symbols ) do |attrs| attr_writer( *attrs ) end end |
#singleton_method_alias(newname, original) ⇒ Object
Creates an alias for the original method named newname.
326 327 328 |
# File 'lib/strelka/mixins.rb', line 326 def singleton_method_alias( newname, original ) singleton_class.__send__( :alias_method, newname, original ) end |
#singleton_predicate_accessor(*symbols) ⇒ Object
Create predicate methods and writers that allow assignment to the attributes
of the singleton of the declaring object that correspond to the specified
symbols.
319 320 321 322 |
# File 'lib/strelka/mixins.rb', line 319 def singleton_predicate_accessor( *symbols ) singleton_class.extend( Strelka::MethodUtilities ) singleton_class.attr_predicate_accessor( *symbols ) end |
#singleton_predicate_reader(*symbols) ⇒ Object
Create instance variables and corresponding methods that return
true or false values for each of the specified symbols in the singleton
of the declaring object.
291 292 293 294 |
# File 'lib/strelka/mixins.rb', line 291 def singleton_predicate_reader( *symbols ) singleton_class.extend( Strelka::MethodUtilities ) singleton_class.attr_predicate( *symbols ) end |