├── .github ├── dependabot.yml ├── mergify.yml └── workflows │ ├── deploy.yml │ ├── doc.yml │ └── ruby.yml ├── .gitignore ├── .ignore ├── .rspec ├── .rubocop.yml ├── .ruby-version ├── .travis.yml ├── .vim ├── coc-settings.json └── install.sh ├── .yardopts ├── CODE_OF_CONDUCT.md ├── Gemfile ├── Gemfile.lock ├── LICENSE.txt ├── README.md ├── Rakefile ├── attr-gather.gemspec ├── bin ├── console ├── setup └── solargraph ├── examples ├── post_enhancer.rb └── post_enhancer.svg ├── lib ├── attr-gather.rb └── attr │ ├── gather.rb │ └── gather │ ├── aggregators.rb │ ├── aggregators │ ├── base.rb │ ├── deep_merge.rb │ └── shallow_merge.rb │ ├── concerns │ ├── identifiable.rb │ └── registrable.rb │ ├── filters.rb │ ├── filters │ ├── base.rb │ ├── contract.rb │ ├── filtering.rb │ ├── noop.rb │ └── result.rb │ ├── version.rb │ ├── workflow.rb │ └── workflow │ ├── callable.rb │ ├── dot_serializer.rb │ ├── dsl.rb │ ├── graphable.rb │ ├── task.rb │ └── task_graph.rb └── spec ├── attr ├── gather │ ├── aggregators │ │ ├── deep_merge_spec.rb │ │ └── shallow_merge_spec.rb │ ├── aggregators_spec.rb │ ├── filters │ │ ├── contract_spec.rb │ │ └── noop_spec.rb │ ├── filters_spec.rb │ ├── workflow │ │ └── task_graph_spec.rb │ └── workflow_spec.rb └── gather_spec.rb ├── shared ├── test_container.rb └── user_workflow.rb └── spec_helper.rb /.github/dependabot.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ianks/attr-gather/HEAD/.github/dependabot.yml -------------------------------------------------------------------------------- /.github/mergify.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ianks/attr-gather/HEAD/.github/mergify.yml -------------------------------------------------------------------------------- /.github/workflows/deploy.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ianks/attr-gather/HEAD/.github/workflows/deploy.yml -------------------------------------------------------------------------------- /.github/workflows/doc.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ianks/attr-gather/HEAD/.github/workflows/doc.yml -------------------------------------------------------------------------------- /.github/workflows/ruby.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ianks/attr-gather/HEAD/.github/workflows/ruby.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ianks/attr-gather/HEAD/.gitignore -------------------------------------------------------------------------------- /.ignore: -------------------------------------------------------------------------------- 1 | doc 2 | -------------------------------------------------------------------------------- /.rspec: -------------------------------------------------------------------------------- 1 | --format documentation 2 | --color 3 | --require spec_helper 4 | -------------------------------------------------------------------------------- /.rubocop.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ianks/attr-gather/HEAD/.rubocop.yml -------------------------------------------------------------------------------- /.ruby-version: -------------------------------------------------------------------------------- 1 | 3.1.0 2 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ianks/attr-gather/HEAD/.travis.yml -------------------------------------------------------------------------------- /.vim/coc-settings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ianks/attr-gather/HEAD/.vim/coc-settings.json -------------------------------------------------------------------------------- /.vim/install.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ianks/attr-gather/HEAD/.vim/install.sh -------------------------------------------------------------------------------- /.yardopts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ianks/attr-gather/HEAD/.yardopts -------------------------------------------------------------------------------- /CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ianks/attr-gather/HEAD/CODE_OF_CONDUCT.md -------------------------------------------------------------------------------- /Gemfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ianks/attr-gather/HEAD/Gemfile -------------------------------------------------------------------------------- /Gemfile.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ianks/attr-gather/HEAD/Gemfile.lock -------------------------------------------------------------------------------- /LICENSE.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ianks/attr-gather/HEAD/LICENSE.txt -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ianks/attr-gather/HEAD/README.md -------------------------------------------------------------------------------- /Rakefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ianks/attr-gather/HEAD/Rakefile -------------------------------------------------------------------------------- /attr-gather.gemspec: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ianks/attr-gather/HEAD/attr-gather.gemspec -------------------------------------------------------------------------------- /bin/console: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ianks/attr-gather/HEAD/bin/console -------------------------------------------------------------------------------- /bin/setup: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ianks/attr-gather/HEAD/bin/setup -------------------------------------------------------------------------------- /bin/solargraph: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ianks/attr-gather/HEAD/bin/solargraph -------------------------------------------------------------------------------- /examples/post_enhancer.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ianks/attr-gather/HEAD/examples/post_enhancer.rb -------------------------------------------------------------------------------- /examples/post_enhancer.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ianks/attr-gather/HEAD/examples/post_enhancer.svg -------------------------------------------------------------------------------- /lib/attr-gather.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | require 'attr/gather' 4 | -------------------------------------------------------------------------------- /lib/attr/gather.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ianks/attr-gather/HEAD/lib/attr/gather.rb -------------------------------------------------------------------------------- /lib/attr/gather/aggregators.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ianks/attr-gather/HEAD/lib/attr/gather/aggregators.rb -------------------------------------------------------------------------------- /lib/attr/gather/aggregators/base.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ianks/attr-gather/HEAD/lib/attr/gather/aggregators/base.rb -------------------------------------------------------------------------------- /lib/attr/gather/aggregators/deep_merge.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ianks/attr-gather/HEAD/lib/attr/gather/aggregators/deep_merge.rb -------------------------------------------------------------------------------- /lib/attr/gather/aggregators/shallow_merge.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ianks/attr-gather/HEAD/lib/attr/gather/aggregators/shallow_merge.rb -------------------------------------------------------------------------------- /lib/attr/gather/concerns/identifiable.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ianks/attr-gather/HEAD/lib/attr/gather/concerns/identifiable.rb -------------------------------------------------------------------------------- /lib/attr/gather/concerns/registrable.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ianks/attr-gather/HEAD/lib/attr/gather/concerns/registrable.rb -------------------------------------------------------------------------------- /lib/attr/gather/filters.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ianks/attr-gather/HEAD/lib/attr/gather/filters.rb -------------------------------------------------------------------------------- /lib/attr/gather/filters/base.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ianks/attr-gather/HEAD/lib/attr/gather/filters/base.rb -------------------------------------------------------------------------------- /lib/attr/gather/filters/contract.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ianks/attr-gather/HEAD/lib/attr/gather/filters/contract.rb -------------------------------------------------------------------------------- /lib/attr/gather/filters/filtering.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ianks/attr-gather/HEAD/lib/attr/gather/filters/filtering.rb -------------------------------------------------------------------------------- /lib/attr/gather/filters/noop.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ianks/attr-gather/HEAD/lib/attr/gather/filters/noop.rb -------------------------------------------------------------------------------- /lib/attr/gather/filters/result.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ianks/attr-gather/HEAD/lib/attr/gather/filters/result.rb -------------------------------------------------------------------------------- /lib/attr/gather/version.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ianks/attr-gather/HEAD/lib/attr/gather/version.rb -------------------------------------------------------------------------------- /lib/attr/gather/workflow.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ianks/attr-gather/HEAD/lib/attr/gather/workflow.rb -------------------------------------------------------------------------------- /lib/attr/gather/workflow/callable.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ianks/attr-gather/HEAD/lib/attr/gather/workflow/callable.rb -------------------------------------------------------------------------------- /lib/attr/gather/workflow/dot_serializer.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ianks/attr-gather/HEAD/lib/attr/gather/workflow/dot_serializer.rb -------------------------------------------------------------------------------- /lib/attr/gather/workflow/dsl.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ianks/attr-gather/HEAD/lib/attr/gather/workflow/dsl.rb -------------------------------------------------------------------------------- /lib/attr/gather/workflow/graphable.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ianks/attr-gather/HEAD/lib/attr/gather/workflow/graphable.rb -------------------------------------------------------------------------------- /lib/attr/gather/workflow/task.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ianks/attr-gather/HEAD/lib/attr/gather/workflow/task.rb -------------------------------------------------------------------------------- /lib/attr/gather/workflow/task_graph.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ianks/attr-gather/HEAD/lib/attr/gather/workflow/task_graph.rb -------------------------------------------------------------------------------- /spec/attr/gather/aggregators/deep_merge_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ianks/attr-gather/HEAD/spec/attr/gather/aggregators/deep_merge_spec.rb -------------------------------------------------------------------------------- /spec/attr/gather/aggregators/shallow_merge_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ianks/attr-gather/HEAD/spec/attr/gather/aggregators/shallow_merge_spec.rb -------------------------------------------------------------------------------- /spec/attr/gather/aggregators_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ianks/attr-gather/HEAD/spec/attr/gather/aggregators_spec.rb -------------------------------------------------------------------------------- /spec/attr/gather/filters/contract_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ianks/attr-gather/HEAD/spec/attr/gather/filters/contract_spec.rb -------------------------------------------------------------------------------- /spec/attr/gather/filters/noop_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ianks/attr-gather/HEAD/spec/attr/gather/filters/noop_spec.rb -------------------------------------------------------------------------------- /spec/attr/gather/filters_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ianks/attr-gather/HEAD/spec/attr/gather/filters_spec.rb -------------------------------------------------------------------------------- /spec/attr/gather/workflow/task_graph_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ianks/attr-gather/HEAD/spec/attr/gather/workflow/task_graph_spec.rb -------------------------------------------------------------------------------- /spec/attr/gather/workflow_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ianks/attr-gather/HEAD/spec/attr/gather/workflow_spec.rb -------------------------------------------------------------------------------- /spec/attr/gather_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ianks/attr-gather/HEAD/spec/attr/gather_spec.rb -------------------------------------------------------------------------------- /spec/shared/test_container.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ianks/attr-gather/HEAD/spec/shared/test_container.rb -------------------------------------------------------------------------------- /spec/shared/user_workflow.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ianks/attr-gather/HEAD/spec/shared/user_workflow.rb -------------------------------------------------------------------------------- /spec/spec_helper.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ianks/attr-gather/HEAD/spec/spec_helper.rb --------------------------------------------------------------------------------