module RuleBox::Getter

Public Class Methods

new(facade) click to toggle source
# File lib/rule_box/getter.rb, line 4
def initialize(facade)
  raise 'Must pass an "RFacade"' unless facade.is_a? RuleBox::Facade

  @facade = facade
end

Public Instance Methods

_current_method() click to toggle source
# File lib/rule_box/getter.rb, line 39
def _current_method
  @facade._current_method
end
as_json(**options) click to toggle source
# File lib/rule_box/getter.rb, line 51
def as_json(**options)
  options.key?(:root) ? { self.class.name.to_sym => @facade.attributes } : @facade.attributes
end
bucket() click to toggle source
# File lib/rule_box/getter.rb, line 27
def bucket
  @facade.bucket.clone
end
data() click to toggle source
# File lib/rule_box/getter.rb, line 23
def data
  @facade.data.clone
end
errors() click to toggle source
# File lib/rule_box/getter.rb, line 31
def errors
  @facade.errors.clone
end
executed() click to toggle source
# File lib/rule_box/getter.rb, line 43
def executed
  @facade.executed
end
model() click to toggle source
# File lib/rule_box/getter.rb, line 10
def model
  model = @facade.model
  if model.is_a?(Class) || model.is_a?(Module)
    model.to_s
  else
    model.clone
  end
end
respond_to_missing?(*several_variants) click to toggle source
Calls superclass method
# File lib/rule_box/getter.rb, line 59
def respond_to_missing?(*several_variants)
  super unless method.to_s.start_with? 'current_'
end
status() click to toggle source
# File lib/rule_box/getter.rb, line 19
def status
  @facade.status
end
steps() click to toggle source
# File lib/rule_box/getter.rb, line 35
def steps
  @facade.steps.clone
end
to_json(**args) click to toggle source
# File lib/rule_box/getter.rb, line 47
def to_json(**args)
  @facade.to_json(args)
end
to_s() click to toggle source
# File lib/rule_box/getter.rb, line 55
def to_s
  @facade.as_json(root: true).to_s
end

Private Instance Methods

method_missing(method) click to toggle source
Calls superclass method
# File lib/rule_box/getter.rb, line 65
def method_missing(method)
  super unless method.to_s.start_with? 'current_'

  keys = @facade.send :keys
  keys[method].clone
end