Module: Croupier::Distributions
- Defined in:
- lib/croupier/distributions.rb,
lib/croupier/distributions/cauchy.rb,
lib/croupier/distributions/normal.rb,
lib/croupier/distributions/poisson.rb,
lib/croupier/distributions/uniform.rb,
lib/croupier/distributions/binomial.rb,
lib/croupier/distributions/bernoulli.rb,
lib/croupier/distributions/geometric.rb,
lib/croupier/distributions/nbinomial.rb,
lib/croupier/distributions/triangular.rb,
lib/croupier/distributions/exponential.rb
Defined Under Namespace
Classes: Bernoulli, Binomial, Cauchy, Exponential, Geometric, Nbinomial, Normal, Poisson, Triangular, Uniform
Class Method Summary collapse
-
.all ⇒ Object
An array containing all available Distribution classes.
-
.list ⇒ Object
list of all available distribution names (and methods on Distributions module).
-
.method_missing(method, *args, &block) ⇒ Object
:nodoc:.
-
.respond_to?(method, include_private = false) ⇒ Boolean
:nodoc:.
Class Method Details
.all ⇒ Object
An array containing all available Distribution classes
6 7 8 9 10 11 |
# File 'lib/croupier/distributions.rb', line 6 def all ::Croupier::Distributions.constants(false).inject([]){|list, distrib| d = ::Croupier::Distributions.const_get(distrib) (d.is_a?(Class) && d.superclass == Croupier::Distribution) ? list << d : list }.uniq.compact end |
.list ⇒ Object
list of all available distribution names (and methods on Distributions module)
14 15 16 |
# File 'lib/croupier/distributions.rb', line 14 def list self.all.map(&:cli_name).sort end |
.method_missing(method, *args, &block) ⇒ Object
:nodoc:
18 19 20 21 |
# File 'lib/croupier/distributions.rb', line 18 def method_missing(method, *args, &block) # :nodoc: return super unless self.respond_to?(method) self.all.select{|d| d.cli_name == method.to_s}.first.new *args end |
.respond_to?(method, include_private = false) ⇒ Boolean
:nodoc:
23 24 25 |
# File 'lib/croupier/distributions.rb', line 23 def respond_to?(method, include_private = false) # :nodoc: self.list.include?(method.to_s) || super(method, include_private) end |