Skip to content

Instantly share code, notes, and snippets.

@mrgordon
Created January 19, 2016 21:48
Show Gist options
  • Save mrgordon/a35c311ea0f13c7153b8 to your computer and use it in GitHub Desktop.
Save mrgordon/a35c311ea0f13c7153b8 to your computer and use it in GitHub Desktop.
Job Structure With Heavily Nested Logic
{"contributors_browser"=>{},
"fb_loads_ok"=>
{:outbound_names=>
["at_personal_residence",
"event_occurs_in_future",
"event_occurs_in_past",
"has_specific_location",
"is_business",
"is_event",
"is_natural_feature",
"is_nav_feature",
"is_recurring_event",
"is_specific_person",
"type_i_error",
"type_i_error_explanation",
"type_ii_error",
"type_ii_error_explanation"],
:outbound_count=>14},
"is_natural_feature"=>
{:inbound_count=>1,
:inbound_names=>["fb_loads_ok"],
:inbound_matches=>
{"&&"=>[{"fb_loads_ok"=>[{:is_not=>false, :match_key=>"yes"}]}]},
:outbound_names=>["is_specific_person"],
:outbound_count=>1},
"is_nav_feature"=>
{:inbound_count=>1,
:inbound_names=>["fb_loads_ok"],
:inbound_matches=>
{"&&"=>[{"fb_loads_ok"=>[{:is_not=>false, :match_key=>"yes"}]}]},
:outbound_names=>
["is_specific_person",
"type_i_error",
"type_i_error_explanation",
"type_ii_error",
"type_ii_error_explanation"],
:outbound_count=>5},
"is_event"=>
{:inbound_count=>1,
:inbound_names=>["fb_loads_ok"],
:inbound_matches=>
{"&&"=>[{"fb_loads_ok"=>[{:is_not=>false, :match_key=>"yes"}]}]},
:outbound_names=>
["event_occurs_in_future",
"event_occurs_in_past",
"is_recurring_event",
"is_specific_person"],
:outbound_count=>4},
"is_business"=>
{:inbound_count=>1,
:inbound_names=>["fb_loads_ok"],
:inbound_matches=>
{"&&"=>[{"fb_loads_ok"=>[{:is_not=>false, :match_key=>"yes"}]}]},
:outbound_names=>
["is_specific_person",
"type_i_error",
"type_i_error_explanation",
"type_ii_error",
"type_ii_error_explanation"],
:outbound_count=>5},
"at_personal_residence"=>
{:inbound_count=>1,
:inbound_names=>["fb_loads_ok"],
:inbound_matches=>
{"&&"=>[{"fb_loads_ok"=>[{:is_not=>false, :match_key=>"yes"}]}]},
:outbound_names=>
["is_specific_person",
"type_i_error",
"type_i_error_explanation",
"type_ii_error",
"type_ii_error_explanation"],
:outbound_count=>5},
"has_specific_location"=>
{:inbound_count=>1,
:inbound_names=>["fb_loads_ok"],
:inbound_matches=>
{"&&"=>[{"fb_loads_ok"=>[{:is_not=>false, :match_key=>"yes"}]}]},
:outbound_names=>
["is_specific_person",
"type_i_error",
"type_i_error_explanation",
"type_ii_error",
"type_ii_error_explanation"],
:outbound_count=>5},
"type_ii_error"=>
{:inbound_count=>5,
:inbound_names=>
["fb_loads_ok",
"is_nav_feature",
"at_personal_residence",
"is_business",
"has_specific_location"],
:inbound_matches=>
{"&&"=>[{"fb_loads_ok"=>[{:is_not=>false, :match_key=>"yes"}]}],
"||"=>
[{"is_nav_feature"=>[{:is_not=>false, :match_key=>"yes"}]},
{"&&"=>
[{"&&"=>
[{"at_personal_residence"=>[{:is_not=>false, :match_key=>"yes"}]},
{"is_business"=>[{:is_not=>false, :match_key=>"no"}]}]}]},
{"has_specific_location"=>[{:is_not=>false, :match_key=>"no"}]}]},
:outbound_names=>["is_closed", "type_ii_error_explanation"],
:outbound_count=>2},
"type_i_error"=>
{:inbound_count=>5,
:inbound_names=>
["fb_loads_ok",
"has_specific_location",
"is_business",
"at_personal_residence",
"is_nav_feature"],
:inbound_matches=>
{"&&"=>
[{"fb_loads_ok"=>[{:is_not=>false, :match_key=>"yes"}]},
{"has_specific_location"=>[{:is_not=>false, :match_key=>"yes"}]},
{"||"=>
[{"is_business"=>[{:is_not=>false, :match_key=>"yes"}]},
{"at_personal_residence"=>[{:is_not=>false, :match_key=>"no"}]}]},
{"is_nav_feature"=>[{:is_not=>false, :match_key=>"no"}]}]},
:outbound_names=>["is_closed", "type_i_error_explanation"],
:outbound_count=>2},
"event_occurs_in_future"=>
{:inbound_count=>2,
:inbound_names=>["fb_loads_ok", "is_event"],
:inbound_matches=>
{"&&"=>
[{"fb_loads_ok"=>[{:is_not=>false, :match_key=>"yes"}]},
{"is_event"=>[{:is_not=>false, :match_key=>"yes"}]}]}},
"event_occurs_in_past"=>
{:inbound_count=>2,
:inbound_names=>["fb_loads_ok", "is_event"],
:inbound_matches=>
{"&&"=>
[{"fb_loads_ok"=>[{:is_not=>false, :match_key=>"yes"}]},
{"is_event"=>[{:is_not=>false, :match_key=>"yes"}]}]}},
"is_recurring_event"=>
{:inbound_count=>2,
:inbound_names=>["fb_loads_ok", "is_event"],
:inbound_matches=>
{"&&"=>
[{"fb_loads_ok"=>[{:is_not=>false, :match_key=>"yes"}]},
{"is_event"=>[{:is_not=>false, :match_key=>"yes"}]}]}},
"is_specific_person"=>
{:inbound_count=>7,
:inbound_names=>
["fb_loads_ok",
"has_specific_location",
"at_personal_residence",
"is_business",
"is_event",
"is_nav_feature",
"is_natural_feature"],
:inbound_matches=>
{"&&"=>
[{"fb_loads_ok"=>[{:is_not=>false, :match_key=>"yes"}]},
{"&&"=>
[{"has_specific_location"=>[{:is_not=>false, :match_key=>"no"}]},
{"at_personal_residence"=>[{:is_not=>false, :match_key=>"no"}]},
{"is_business"=>[{:is_not=>false, :match_key=>"no"}]},
{"is_event"=>[{:is_not=>false, :match_key=>"no"}]},
{"is_nav_feature"=>[{:is_not=>false, :match_key=>"no"}]},
{"is_natural_feature"=>[{:is_not=>false, :match_key=>"no"}]}]}]}},
"is_closed"=>
{:inbound_count=>2,
:inbound_names=>["type_i_error", "type_ii_error"],
:inbound_matches=>
{"||"=>
[{"type_i_error"=>[{:is_not=>false, :match_key=>"no"}]},
{"type_ii_error"=>[{:is_not=>false, :match_key=>"yes"}]}]}},
"type_ii_error_explanation"=>
{:inbound_count=>6,
:inbound_names=>
["fb_loads_ok",
"is_nav_feature",
"at_personal_residence",
"is_business",
"has_specific_location",
"type_ii_error"],
:inbound_matches=>
{"&&"=>
[{"fb_loads_ok"=>[{:is_not=>false, :match_key=>"yes"}]},
{"type_ii_error"=>[{:is_not=>false, :match_key=>"yes"}]}],
"||"=>
[{"is_nav_feature"=>[{:is_not=>false, :match_key=>"yes"}]},
{"&&"=>
[{"&&"=>
[{"at_personal_residence"=>[{:is_not=>false, :match_key=>"yes"}]},
{"is_business"=>[{:is_not=>false, :match_key=>"no"}]}]}]},
{"has_specific_location"=>[{:is_not=>false, :match_key=>"no"}]}]}},
"type_i_error_explanation"=>
{:inbound_count=>6,
:inbound_names=>
["fb_loads_ok",
"has_specific_location",
"is_business",
"at_personal_residence",
"is_nav_feature",
"type_i_error"],
:inbound_matches=>
{"&&"=>
[{"fb_loads_ok"=>[{:is_not=>false, :match_key=>"yes"}]},
{"has_specific_location"=>[{:is_not=>false, :match_key=>"yes"}]},
{"||"=>
[{"is_business"=>[{:is_not=>false, :match_key=>"yes"}]},
{"at_personal_residence"=>[{:is_not=>false, :match_key=>"no"}]}]},
{"is_nav_feature"=>[{:is_not=>false, :match_key=>"no"}]},
{"type_i_error"=>[{:is_not=>false, :match_key=>"yes"}]}]}}}
@mrgordon
Copy link
Author

job.logic_graph['fb_loads_ok'][:outbound_names]
=> ["at_personal_residence",
 "event_occurs_in_future",
 "event_occurs_in_past",
 "has_specific_location",
 "is_business",
 "is_event",
 "is_natural_feature",
 "is_nav_feature",
 "is_recurring_event",
 "is_specific_person",
 "type_i_error",
 "type_i_error_explanation",
 "type_ii_error",
 "type_ii_error_explanation"]

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment