Class: JSI::Schema::Cxt::ChildApplication

Inherits:
Block show all
Defined in:
lib/jsi/schema/cxt/child_application.rb

Instance Attribute Summary collapse

Attributes inherited from Block

#block

Attributes inherited from JSI::Schema::Cxt

#schema

Instance Method Summary collapse

Methods inherited from Block

#cxt_yield

Methods inherited from JSI::Schema::Cxt

#internal_integer?, #keyword?, #keyword_value_ary?, #keyword_value_bool?, #keyword_value_hash?, #keyword_value_numeric?, #keyword_value_str?, #schema_content, #subschema

Instance Attribute Details

#collect_evaluatedBoolean

Does application need to collect successful child evaluation?

Returns:

  • (Boolean)


19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/jsi/schema/cxt/child_application.rb', line 19

class ChildApplication < Block
  # @param subschema_ptr [Ptr, #to_ary]
  def child_subschema_applicate(subschema_ptr)
    child_schema_applicate(schema.subschema(subschema_ptr))
  end

  # @param child_applicator_schema [Schema]
  def child_schema_applicate(child_applicator_schema)
    if collect_evaluated
      self.evaluated ||= !collect_evaluated_validate || child_applicator_schema.instance_valid?(instance[token])
    end

    cxt_yield(child_applicator_schema)
  end
end

#evaluatedBoolean

Was the child successfully evaluated by a child applicator?

Returns:

  • (Boolean)


19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/jsi/schema/cxt/child_application.rb', line 19

class ChildApplication < Block
  # @param subschema_ptr [Ptr, #to_ary]
  def child_subschema_applicate(subschema_ptr)
    child_schema_applicate(schema.subschema(subschema_ptr))
  end

  # @param child_applicator_schema [Schema]
  def child_schema_applicate(child_applicator_schema)
    if collect_evaluated
      self.evaluated ||= !collect_evaluated_validate || child_applicator_schema.instance_valid?(instance[token])
    end

    cxt_yield(child_applicator_schema)
  end
end

Instance Method Details

#child_schema_applicate(child_applicator_schema) ⇒ Object

Parameters:

  • child_applicator_schema (Schema)


26
27
28
29
30
31
32
# File 'lib/jsi/schema/cxt/child_application.rb', line 26

def child_schema_applicate(child_applicator_schema)
  if collect_evaluated
    self.evaluated ||= !collect_evaluated_validate || child_applicator_schema.instance_valid?(instance[token])
  end

  cxt_yield(child_applicator_schema)
end

#child_subschema_applicate(subschema_ptr) ⇒ Object

Parameters:

  • subschema_ptr (Ptr, #to_ary)


21
22
23
# File 'lib/jsi/schema/cxt/child_application.rb', line 21

def child_subschema_applicate(subschema_ptr)
  child_schema_applicate(schema.subschema(subschema_ptr))
end