0.0
No commit activity in last 3 years
No release in over 3 years
Define private method like Elixir for Ruby
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
 Dependencies

Development

~> 5.0
>= 0
~> 13.0
 Project Readme

Build Status

define_private

define_private is a ruby library that provides an alternative private method definition syntax like Elixir.

Installation

Add this line to your application's Gemfile:

gem 'define_private'

And then execute:

$ bundle

Or install it yourself as:

$ gem install define_private

Usage

require 'define_private'

class YourClass
  include DefinePrivate

  def xxx(a, b)
    do_xxx1(a, a) * do_xxx2(b, b)
  end

  # you can use define_private to define private method
  define_private :do_xxx1 do |a, b|
    a + b
  end

  # you can also use defp
  defp :do_xxx2 do |a, b|
    a + b
  end
end
pry(main)> YourClass.new.xxx(1, 2)
=> 8

pry(main)> YourClass.new.do_xxx1(1, 2)
NoMethodError: private method `do_xxx1' called for #<YourClass:0x000000021f1a38>

pry(main)> YourClass.new.do_xxx2(1, 2)
NoMethodError: private method `do_xxx2' called for #<YourClass:0x00000001bb2938>

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/buzztaiki/define_private.

Licence

MIT