├── .github └── workflows │ └── testing.yml ├── .gitignore ├── .ruby-version ├── .yardopts ├── Gemfile ├── LICENSE ├── README.md ├── Rakefile ├── dev.yml ├── experiments └── initialization_performance.rb ├── lib ├── smart_properties.rb └── smart_properties │ ├── errors.rb │ ├── property.rb │ ├── property_collection.rb │ ├── validations.rb │ ├── validations │ └── ancestor.rb │ └── version.rb ├── smart_properties.gemspec └── spec ├── acceptance_checking_spec.rb ├── base_spec.rb ├── configuration_error_spec.rb ├── conversion_spec.rb ├── default_values_spec.rb ├── inheritance_spec.rb ├── property_collection_caching_spec.rb ├── reader_spec.rb ├── required_values_spec.rb ├── spec_helper.rb ├── support ├── dummy_class.rb └── smart_property_matcher.rb ├── validations └── ancestor_validation_spec.rb └── writable_spec.rb /.github/workflows/testing.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/t6d/smart_properties/HEAD/.github/workflows/testing.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/t6d/smart_properties/HEAD/.gitignore -------------------------------------------------------------------------------- /.ruby-version: -------------------------------------------------------------------------------- 1 | 3.0.3 2 | -------------------------------------------------------------------------------- /.yardopts: -------------------------------------------------------------------------------- 1 | --protected 2 | -------------------------------------------------------------------------------- /Gemfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/t6d/smart_properties/HEAD/Gemfile -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/t6d/smart_properties/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/t6d/smart_properties/HEAD/README.md -------------------------------------------------------------------------------- /Rakefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/t6d/smart_properties/HEAD/Rakefile -------------------------------------------------------------------------------- /dev.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/t6d/smart_properties/HEAD/dev.yml -------------------------------------------------------------------------------- /experiments/initialization_performance.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/t6d/smart_properties/HEAD/experiments/initialization_performance.rb -------------------------------------------------------------------------------- /lib/smart_properties.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/t6d/smart_properties/HEAD/lib/smart_properties.rb -------------------------------------------------------------------------------- /lib/smart_properties/errors.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/t6d/smart_properties/HEAD/lib/smart_properties/errors.rb -------------------------------------------------------------------------------- /lib/smart_properties/property.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/t6d/smart_properties/HEAD/lib/smart_properties/property.rb -------------------------------------------------------------------------------- /lib/smart_properties/property_collection.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/t6d/smart_properties/HEAD/lib/smart_properties/property_collection.rb -------------------------------------------------------------------------------- /lib/smart_properties/validations.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/t6d/smart_properties/HEAD/lib/smart_properties/validations.rb -------------------------------------------------------------------------------- /lib/smart_properties/validations/ancestor.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/t6d/smart_properties/HEAD/lib/smart_properties/validations/ancestor.rb -------------------------------------------------------------------------------- /lib/smart_properties/version.rb: -------------------------------------------------------------------------------- 1 | module SmartProperties 2 | VERSION = "1.17.0" 3 | end 4 | -------------------------------------------------------------------------------- /smart_properties.gemspec: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/t6d/smart_properties/HEAD/smart_properties.gemspec -------------------------------------------------------------------------------- /spec/acceptance_checking_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/t6d/smart_properties/HEAD/spec/acceptance_checking_spec.rb -------------------------------------------------------------------------------- /spec/base_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/t6d/smart_properties/HEAD/spec/base_spec.rb -------------------------------------------------------------------------------- /spec/configuration_error_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/t6d/smart_properties/HEAD/spec/configuration_error_spec.rb -------------------------------------------------------------------------------- /spec/conversion_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/t6d/smart_properties/HEAD/spec/conversion_spec.rb -------------------------------------------------------------------------------- /spec/default_values_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/t6d/smart_properties/HEAD/spec/default_values_spec.rb -------------------------------------------------------------------------------- /spec/inheritance_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/t6d/smart_properties/HEAD/spec/inheritance_spec.rb -------------------------------------------------------------------------------- /spec/property_collection_caching_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/t6d/smart_properties/HEAD/spec/property_collection_caching_spec.rb -------------------------------------------------------------------------------- /spec/reader_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/t6d/smart_properties/HEAD/spec/reader_spec.rb -------------------------------------------------------------------------------- /spec/required_values_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/t6d/smart_properties/HEAD/spec/required_values_spec.rb -------------------------------------------------------------------------------- /spec/spec_helper.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/t6d/smart_properties/HEAD/spec/spec_helper.rb -------------------------------------------------------------------------------- /spec/support/dummy_class.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/t6d/smart_properties/HEAD/spec/support/dummy_class.rb -------------------------------------------------------------------------------- /spec/support/smart_property_matcher.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/t6d/smart_properties/HEAD/spec/support/smart_property_matcher.rb -------------------------------------------------------------------------------- /spec/validations/ancestor_validation_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/t6d/smart_properties/HEAD/spec/validations/ancestor_validation_spec.rb -------------------------------------------------------------------------------- /spec/writable_spec.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/t6d/smart_properties/HEAD/spec/writable_spec.rb --------------------------------------------------------------------------------