Module: BB

Defined in:
lib/b_b.rb,
lib/b_b/builder.rb,
lib/b_b/factory.rb,
lib/b_b/version.rb,
lib/b_b/relation.rb,
lib/b_b/component.rb,
lib/b_b/converter.rb,
lib/b_b/evaluator.rb,
lib/b_b/exception.rb,
lib/b_b/converter/order.rb,
lib/b_b/converter/table.rb,
lib/b_b/converter/value.rb,
lib/b_b/evaluator/table.rb,
lib/b_b/evaluator/value.rb,
lib/b_b/converter/formula.rb,
lib/b_b/evaluator/formula.rb,
lib/b_b/factory_decorator.rb,
lib/b_b/factory_decorator/from.rb,
lib/b_b/factory_decorator/limit.rb,
lib/b_b/factory_decorator/order.rb,
lib/b_b/factory_decorator/joinable.rb,
lib/b_b/factory_decorator/selectable.rb,
lib/b_b/factory_decorator/extractable.rb

Defined Under Namespace

Modules: Converter, Evaluator, FactoryDecorator Classes: ArgumentError, Builder, Component, Error, Factory, NotImplementedError, Relation, UnevaluableTypeError

Constant Summary collapse

API =
{
  basic: %i(
    from
    group
    group_each
    having
    limit
    omit_record_if
    order
    select
    where
  ),
  joins: %i(
    cross_join
    full_outer_join_each
    inner_join
    inner_join_each
    join
    join_each
    left_join
    left_join_each
    left_outer_join
    left_outer_join_each
    right_join
    right_join_each
    right_outer_join
    right_outer_join_each
  )
}.freeze
VERSION =
"0.1.3".freeze

Class Method Summary collapse

Class Method Details

.method_missing(method, *args, &block) ⇒ Object

Delegate to BB::Relation



49
50
51
52
# File 'lib/b_b.rb', line 49

def method_missing(method, *args, &block)
  return super unless relation.respond_to?(method)
  relation.send(method, *args, &block)
end

.respond_to?(method, include_all = false) ⇒ Boolean

Delegate to BB::Relation

Returns:

  • (Boolean)


55
56
57
# File 'lib/b_b.rb', line 55

def respond_to?(method, include_all = false)
  relation.respond_to?(method, include_all) || super
end