Frequently Asked Questions
What's the meaning of x.y.z in your version numbers?
For version 1.0.0 and following we use a Semantic Versioning like scheme of MAJOR.MINOR.PATCH:
The MAJOR version numbers will only change when backwards incompatible changes are made to the public interface.
The MINOR version number will change when adding new functionality or some extensive changes in code. But in any case the public interface will be fully backwards compatible.
The PATCH number will change when fixing bugs or implementing internal or minor improvements. No changes will be made to the public interface.
Additionally a b
will be added for beta or a pre
for pre-release versions.
NOTE: Until 1.0 version is released the library is considered in an unstable state and any changes to the public interface will change only the MINOR version number.
What do you mean with public interface?
At the moment the complete public interface is restricted to the class Parser, the control Miniparse class methods and the optional module App
You can find the complete specification in the public methods and constants on these files:
Why have you protected
methods in your classes?
It is the tersest way we found of defining a public interface. Please note that the non-public interface can be changed at any time, even when just releasing minor patches.
Nevertheless, I wish I could use that protected methods.
You can. Just use object.send(:desired_method)
or make the
method public adding to your code the following:
module Miniparse
class DesiredClass
public :desired_method
end
end