Skip to content

ryanswood/method_man

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Method Man

Defines a MethodObject class which facilitates basic setup for Kent Beck's "method object".

  • Facilitates basic method object pattern setup. You only need to supply an instance call method.
  • Accepts a list of arguments which are mapped to required keyword arguments.
  • Disallows calling new on the resulting MethodObject class instance.

Bundler usage

gem 'method_man', require: 'method_object'

Requirements

  • Ruby >= 2.1

Example

  require 'method_object'

  class MakeArbitraryArray < MethodObject
    attrs(:first_name, :last_name, :message)

    def call
      [fullname, message, 42]
    end

    def fullname
      "#{first_name} #{last_name}"
    end
  end

  MakeArbitraryArray.call(
    first_name: 'John',
    last_name: 'Smith',
    message: 'Hi',
  )
  => ["John Smith", 'Hi', 42]

About

Defines a MethodObject class which implements Kent Beck's "method object"

Resources

License

MIT, MIT licenses found

Licenses found

MIT
LICENSE
MIT
LICENSE.txt

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Ruby 100.0%