dm-validations-0.10.2

https://rubygems.org

dm-validations

quick gemspec

.gem

.gem metadata (gemspec)

.gemspec

id: 27812

number: 0.10.2

platform: ruby

spec_sha256: d0bbfca5a33e2376c50795cafd9817566f814abbaa4e286948d057c25b5359c4

sha256: 7350d94ae406388c35e88dda150f2011e8e06782f26db9dbaee5f8a8d44c9477

created_at: 2024-05-13 08:14:09 UTC

updated_at: 2024-05-23 20:16:25 UTC

position: 13

version_data_entries_count: 141

uploaded_at: 2009-12-12 05:30:21 UTC

indexed: true

has_extensions:

extensions:

Gem size: 47 KB

Version Data Entries

Total: 141

Unpacked size: 219 KB

Full NameModeUIDGIDMtimeLinknameSizeSHA
spec/integration/block_validator/block_validator_spec.rb64400955 Bytes6a265378f8f98cf138cd7b82c17a730735701005e20f281f06f396abd2fc7155
spec/integration/length_validator/range_spec.rb644002.18 KB634eefd16672b5ddb7be898356ae10454295a018b2dc6922e225a3486214c9e6
lib/dm-validations/auto_validate.rb644007.28 KB861e21a8082fbe40ced13e43c514875dd44aead3e9c01aabeeee81a07bd36336
spec/integration/required_field_validator/boolean_type_value_spec.rb644003.91 KBd3767793373f8ca43d2cd1aa4dd80ea8bf9e057364a14e852d1c97ea568dfeea
spec/integration/acceptance_validator/acceptance_validator_spec.rb644004.03 KB8bf5e253642e4ef190a95757362077b8ced809c1513a38e792ed62c594d974de
spec/integration/pure_ruby_objects/plain_old_ruby_object_validation_spec.rb644002.91 KB8f9d6c0775f15488722ce4d8723ad8aab42e675cbef55e14018e9da996ad769c
dm-validations.gemspec644009.29 KB8b24f7673ec9bfbed4e6c52d745f49aebf618dbffa18ad83d8131f925818c686
lib/dm-validations/support/context.rb644002.43 KB53838dcb84e715ce6e034f7a93e9f0a4b96d04a2dd3db5a92642d66c482d607a
spec/fixtures/barcode.rb64400500 Bytes0f6f312dcc33473d7d02110cb78ee6f6ff87268d4cb68b282fcd8ff0ea3ff7ce
spec/fixtures/scm_operation.rb644001.69 KB7107c0cc1fb989db944859593d82ddd88ad935cc01918b6d9503a1dc0301cfa3
spec/integration/automatic_validation/inferred_integer_properties_validation_spec.rb644001.54 KBbce1747a31f328029c38d191c1f705231b3e766bcd79465691358ae2f8c3628c
spec/integration/format_validator/email_format_validator_spec.rb644002.94 KB1f2c3f31381af0755d6bb4f94feefef0a9e3f88a312ac1d7b1f736b076b58ac7
spec/integration/format_validator/spec_helper.rb64400157 Bytes31806a63b87ce4e352e427e3c25e0abfcbbf2b1498c79db2e9cd7285bfc7a1cc
spec/integration/numeric_validator/gte_with_float_type_spec.rb64400829 Bytes9e2c1566783b58f3db4139028d6c704fa242f90b29479be238d759c5f5f3fe6c
spec/integration/required_field_validator/integer_type_value_spec.rb644002.08 KB3d8da1e288e29615f24f29c5b9729f73a6578495edcd9edde515305f7f1f0510
spec/integration/required_field_validator/plain_old_ruby_object_spec.rb644001.01 KBdc6a991d9a561bbd4bc56bea70ded723278f23869474a09fc150cca3f9a9f48c
spec/integration/shared/default_validation_context.rb64400365 Bytes63fae9b5cd9797daabdcd676d86c1283603368767a11fa7f91deffa0b768223a
spec/rcov.opts6440078 Bytes572a42458f7c0b9e662aa89206c48348cd8e3a51d6675c686bdc67aadd2dd919
spec/unit/contextual_validators/spec_helper.rb64400569 Bytes9dfeed4bea92ecd9da368e4b38f1515ce589269b001317fbff1ce7f2dde5abc2
spec/fixtures/phone_number.rb64400579 Bytesb85628f00bd30e1c547c85f4cb530d6e3bb85465901c0fdb1c721122d3ab63c1
spec/integration/numeric_validator/integer_type_spec.rb644001.54 KBcc0a75d4a4cdedd34a4b333f72f2350d3b2e860eeb017a63c78ce105c46b2bc3
spec/fixtures/basketball_court.rb644001.54 KBc107d4b4b1c4d4df5f51dd3ff5d6638fc3539fbc5467942cc9d1e4eb6abd2180
spec/fixtures/sms_message.rb64400311 Bytes50fa4e49a4877d39d565ca8a8eafe9bf457583da385e8979001fd11aa734973f
LICENSE644001.09 KBa2f6875a3c1acd77df4266343ed88e3d6af292911ae165bdf77f72fce53397e7
spec/fixtures/motor_launch.rb64400317 Bytesd12a665572bf057bcdffbf1da05412d0e8e1287691c9f047f3577a6cf70f428d
spec/fixtures/page.rb64400624 Bytesad569018e5509683c4d0c2de7b15a84c41ec9bc6c5afd5525071fedc012677c9
spec/fixtures/programming_language.rb644002.85 KBfac893859415a8413c7296e2c2538b0509e35d5ebf825b8727854f42744271e3
spec/integration/automatic_validation/inferred_within_validation_spec.rb64400906 Bytesb20dd07fafe251844dc754882109007d2109f05d1aceb00e2c151fbc84b3f90a
spec/integration/length_validator/equality_spec.rb644002.03 KB83f19964248facd67da6b90976726db3e2cde8e81edf368e003cfb6136643dfc
spec/integration/length_validator/spec_helper.rb64400216 Bytes9fa03927debab7d96e6399a123088476b416984122260fb582249da585a97782
spec/integration/method_validator/method_validator_spec.rb6440011.1 KBa7cad800a1db936ac03638c7101b7d0a4cad94295884294fb1976b891fb88e10
spec/integration/method_validator/spec_helper.rb64400157 Bytes31806a63b87ce4e352e427e3c25e0abfcbbf2b1498c79db2e9cd7285bfc7a1cc
spec/integration/numeric_validator/equality_with_float_type_spec.rb644001.71 KBa248657248b2558bd45a3f891974bbc942a60219b1e7016f353ae175adb7afc9
spec/integration/automatic_validation/spec_helper.rb644002.67 KBc2e418a6291314aae37882a9237122cc0125a01ceaff32aa1046511e04876904
lib/dm-validations/validators/acceptance_validator.rb644002.11 KB0367d7d0f5c0a0b709fe2ab15fccdafc63c89bffe44c95a5bb40c5e60da36511
lib/dm-validations/validators/block_validator.rb644001.87 KBf68d5377329bc27d5fe25654c16b968d0142c5f0f0de511cccaaaf9e1ccc0746
lib/dm-validations/validators/uniqueness_validator.rb644001.49 KB039b5fcc6ae74c8bca04f7d9828827b708c3fd74c48fe284da611f62c56c1ef5
spec/integration/absent_field_validator/absent_field_validator_spec.rb644001.87 KBeae0e4eb63be5d7923737d85aeaf4bf7496cf7bd9a3d7b233953616f5711443f
spec/integration/absent_field_validator/spec_helper.rb64400216 Bytes9fa03927debab7d96e6399a123088476b416984122260fb582249da585a97782
spec/integration/primitive_validator/spec_helper.rb64400157 Bytes31806a63b87ce4e352e427e3c25e0abfcbbf2b1498c79db2e9cd7285bfc7a1cc
spec/integration/required_field_validator/association_spec.rb644001.6 KBaf701bfc83655721536c059309c153926f27bf0d5256e29de3006ec62a820dda
tasks/yardstick.rake64400485 Bytes459f119aa11404ed79908e731feda41d0805c159d5868677f19cee47f09f72f1
README.rdoc644004.84 KBecf2427cc29a64f877f67fb7fa93dd41821f5a0f4f912fc743a966975a955e31
spec/fixtures/mathematical_function.rb64400765 Bytes764fedd7b102a02fe87b9e86557e9b87a85b09d5b63f6257bd9a236c80d43ea6
spec/integration/format_validator/format_validator_spec.rb644001.8 KB4f97660aec2090771ed81aeede7b5339de88cde1ac6cfc65dfcd77912fd22065
spec/integration/format_validator/regexp_validator_spec.rb64400903 Bytes65a07e8f36a4017214e0b50e8bfb93ad39d7389b4f8d9322194a46a2b574bf16
spec/integration/numeric_validator/lte_with_float_type_spec.rb64400829 Bytes97684e83059bea08bc598d0f33dae0ccbe317d57862b8045a63e592a9dea2ccd
lib/dm-validations/contextual_validators.rb644001.42 KB2945b334b24902c9f40b50996c828259bd030d5a5e4f4099ec19cd4a3f811ac5
lib/dm-validations/exceptions.rb64400117 Bytes0e55d8cff206288e9fb1a8d12622ff31154e4b68bd8bae8cbd560db3d58c54ae
lib/dm-validations/support/object.rb6440052 Bytesa9b7c9f75014ed1cb8a7e36d756eb8a8f0302692bd46eddd5a1445b6509ae71e
lib/dm-validations/validators/primitive_validator.rb644001.48 KB403a5e77b21095c9b2373fb94b3bb15a16c23098242479aa7d096f6d589550d3
lib/dm-validations/validators/required_field_validator.rb644002.59 KB2d8216e9405d3b2b790376067674b9b98b7acb6c54308b7ec1c17db94033eb6e
lib/dm-validations/validators/within_validator.rb644001.64 KB4f3eac70a786e22921c08cd195aa0cdc4278e1454da27656eaa65eeed7e1ff28
spec/integration/uniqueness_validator/uniqueness_validator_spec.rb644003.43 KB808935378924a125557f738b9c3e257c4319fa3513ebfb78ea58c245d74ea7fa
spec/integration/within_validator/spec_helper.rb64400157 Bytes31806a63b87ce4e352e427e3c25e0abfcbbf2b1498c79db2e9cd7285bfc7a1cc
lib/dm-validations/formats/email.rb644001.62 KB0fe0bd2a4ffb4d15bfeab89423af6587d7f59df76a38043197d5dd5ba7854524
spec/fixtures/boat_dock.rb64400432 Bytesa5afbec28cf7454d8729b036fd43b049e54c0f01f9afe6baeb9e2c3be723b5be
spec/fixtures/company.rb644001.56 KBf2652d39f86e59f85c230cb820094ffc08fc8ae0bc20be1a4faa83049640336f
spec/fixtures/g3_concert.rb644001.51 KBf3062995dce0a4580b605a7a9ad1d29b06f9e44aa924438039fe8f44abe664f1
spec/fixtures/lernean_hydra.rb64400732 Bytesdcb8f2fd832fba764ee2ee8633210ea73247842072631a4c55c1ca896243dc9e
spec/fixtures/memory_object.rb64400533 Bytes2a4e79cd659c4db9e7ec08467781bc43401b8ced6881d0bcfe795085cc0f70bb
spec/integration/acceptance_validator/spec_helper.rb64400216 Bytes9fa03927debab7d96e6399a123088476b416984122260fb582249da585a97782
spec/integration/numeric_validator/float_type_spec.rb644002.06 KBeb7ed87a9ad702450101c280e62725709cf7cbfd6627722b0fb830943bc6eae3
lib/dm-validations/formats/url.rb64400623 Bytes4cfb98db85e8b959d4666641982d11e8ce8bc718271a5bed682c6be4d42e0dca
lib/dm-validations/validators/length_validator.rb644006.05 KB62e2884b1c599ec1d7c70060d0e2e8236e6aa24cfaee0e40f0b49a0904c8317c
spec/fixtures/kayak.rb64400440 Bytes87f884f3955029ced32620aae4481d4ad726e61664ecf8183ebbd87f5acdfe85
lib/dm-validations/validators/method_validator.rb644002.08 KBeeeb9133b1101a3a6ebbc964d210009f36ca21e58f3ffe61b7395e5df26dc517
spec/fixtures/basketball_player.rb64400662 Bytes0352d680aab7cc5a210dbadbdab11bd01d73f1bd0c258eb4e44113b8de657316
spec/fixtures/beta_tester_account.rb64400956 Bytescf0fa064ac193d72b856ed4fea3222c562ee85b217a1cbd4bbb8393f33d63ef5
spec/fixtures/bill_of_landing.rb644001.2 KB41a53dfa9bbd938ad5b96761fb3c3f2266e894ba280e8d130a8689e73422bc3e
spec/fixtures/reservation.rb64400985 Bytes40f5c533cc9cc62ca427d2d57a27faa27d53a53885f213a3756fbf8f771ffff7
spec/integration/automatic_validation/inferred_primitive_validation_spec.rb64400535 Bytesb97cdfef5d4984fbc245f2fd9b7dd1893d07484bb115e2c7e4a931829065bd7e
spec/integration/duplicated_validations/duplicated_validations_spec.rb64400564 Bytes61535bcfe9b374e96a1055c7c359019f31ff53e5e4d088199d4b79ac8cca2283
spec/integration/length_validator/default_value_spec.rb64400372 Bytesb5fed22da80a4ded2318e700c0ad1708ad0de97774b4e852b79252fbc1268421
spec/integration/length_validator/minimum_spec.rb644001.12 KBfed26e74e0046c996a9bdc04cf2d6e39e77df29e96e36470d838c85f8c0b8e1b
spec/integration/required_field_validator/date_type_value_spec.rb644002.02 KB64cb6c30102ff48e4d97bc8b63ae05e241aa6daffefafc65dc647ff39061b0c0
spec/integration/required_field_validator/datetime_type_value_spec.rb644002.18 KB4618df938187e902701853ea5d63342aff796caf53c749140643bdec870ed69f
spec/integration/required_field_validator/shared_examples.rb64400569 Bytes1d0a9ada885136876dbbca3d8615440caba6d407aaacd57e3c4e92a4d9d39bf0
spec/unit/validation_errors/enumerable_spec.rb64400905 Bytesf34e2bb4cf8847c17bc95e78b7f1c745d55abf3fb00d00c9e4786ebccef80aa5
tasks/yard.rake64400180 Bytescfa167501d0fe5a40f7fa262b63c439013bdfae5edaf4adb867e633b724883ef
lib/dm-validations.rb644006.3 KB8e486c1813a3539cddeda73bdd3970b7471059966e971e3525a692a45050d4ed
spec/integration/conditional_validation/if_condition_spec.rb644001.48 KB6536fa8d7f55ec8f2000aa7aab17d02cea5063f78d6715c22d628575d8a56912
lib/dm-validations/validators/numeric_validator.rb644005.02 KBa28a1bf4cb2323b78e41e93891ed4ddf360dc375d70ab307633a5ca22ba0c093
spec/fixtures/mittelschnauzer.rb64400642 Bytesebcec8faf9a2c7c45d2c66b99381f003d5c4bee091bf46d63559230f71bc29be
spec/integration/automatic_validation/inferred_float_property_validation_spec.rb64400768 Bytes49363676bedcf3ab297eeca7fe43db4b2c330c58e9f9e17d39151b5cc9818b7d
spec/integration/automatic_validation/inferred_format_validation_spec.rb64400834 Bytes27ba7031cffc97f6b271fe2d98652c97d868dab0906b6c180a2bacff52e09607
spec/fixtures/city.rb64400351 Bytes5e8ebb3015d6c168a343b30089fdceec153dd8f2484ea6df81652b586439c5e6
spec/fixtures/corporate_world.rb644001.04 KB71a092cee246656f91110566f2a02614dd19cf7fa6e87b0d03e948b9de70271e
spec/integration/numeric_validator/gt_with_float_type_spec.rb64400926 Bytesb870c60343d8441343157e9ace1209ed1532fd75975e2dfd3f99cef5bb8fa5ee
spec/integration/required_field_validator/spec_helper.rb64400221 Bytesfbe1893edc9afb54191d847e20448bf7797f58e9a82ed26c0827a3ace60308d1
spec/spec.opts6440054 Bytesbdd0338fb6085df5ef4151f3e8a174d10a07ee5791493e5ad161da3f28aac21e
spec/integration/automatic_validation/inferred_presence_validation_spec.rb64400953 Bytes7f1e75d7ef634c117ab8c999d6fad508e2f813085f1a809c649473b3fea4e158
lib/dm-validations/validation_errors.rb644004.06 KB5df9e28213cac6ac08282635653dbd24e389d5dbc88714d6198a77d41bafccb3
lib/dm-validations/validators/absent_field_validator.rb644001.54 KBbcdeb6344d9a00718d6e1289d4573676f82cd496ab0bc14f89c9712c3e24e04d
lib/dm-validations/validators/generic_validator.rb644005.62 KB37ccc17bfd5f262cac810749ed261caeb722559fa84cd720cebf9fe8d4e42c73
spec/fixtures/country.rb64400322 Bytes9a0d19c34a08b21ffabef48347d8563cbde7324071fc97118b2293f0a26412a9
spec/fixtures/ethernet_frame.rb644001.48 KB8359dbe6ae46d3a5588436cb8cfb88d5b029fe923ba839faae7da5185784af5f
spec/fixtures/event.rb64400835 Bytesab015366bf3273d0e67d83ed7e8fbbe1f08f0838f41805654f1db846c294a229
spec/fixtures/pirogue.rb64400439 Bytesc31e0b817791b8c98c749deba0b092ff036361c9d1710e69af86df064a7905d9
spec/fixtures/udp_packet.rb644001.25 KB3512923d156714158e57647676af7e28d6c85b2be8d20876d859b076911f2b38
spec/integration/automatic_validation/custom_messages_for_inferred_validation_spec.rb644001.51 KB53abf7e804795f1b0f4dac4afa24ac3e08788b8df1c3413c87638af8aa21b67b
spec/integration/automatic_validation/disabling_inferred_validation_spec.rb644001.2 KB395fc4c36ecb0b6c86c706de2a36c54fcc118d02c31d2a3c96d433428463fc5e
spec/integration/automatic_validation/inferred_boolean_properties_validation_spec.rb644001.94 KBa872582757d36caf446a3ba0a4b1b177b3aff7c1cdd60674b11a3e63e5d3c54c
spec/integration/block_validator/spec_helper.rb64400157 Bytes31806a63b87ce4e352e427e3c25e0abfcbbf2b1498c79db2e9cd7285bfc7a1cc
spec/integration/conditional_validation/spec_helper.rb64400157 Bytes31806a63b87ce4e352e427e3c25e0abfcbbf2b1498c79db2e9cd7285bfc7a1cc
spec/integration/confirmation_validator/confirmation_validator_spec.rb644002.23 KBd110d231cbbd10e911e51fdbc152fce5ec7de8b945d6b44e4ce5cd1e28519d12
spec/integration/format_validator/url_format_validator_spec.rb644002.6 KB4e87ff5423faf093d949d5c6f04bcf6c43355e9607a590f0dc8086cec7f51160
spec/integration/length_validator/maximum_spec.rb644001.18 KB2c5772b36b584f36163f1da3cf89be7c95ad07d63ea84d3e930a5432304177a6
spec/integration/numeric_validator/spec_helper.rb64400157 Bytes31806a63b87ce4e352e427e3c25e0abfcbbf2b1498c79db2e9cd7285bfc7a1cc
spec/integration/primitive_validator/primitive_validator_spec.rb644001.75 KBf4e6fe300bc2fcf34939c52770905e932f2d001709f8d2f5f1636883f1062744
spec/integration/required_field_validator/float_type_value_spec.rb644002.37 KB40be9f12d9f4566502d0a31b27f5d4e42f22056b9f8c01592809d6bf5cf54121
spec/integration/required_field_validator/text_type_value_spec.rb644001.31 KB1a06783d018292fbbd5acb927eb6ac2eee55db624d0d306d998d219cf5cc4fec
spec/integration/shared/valid_and_invalid_model.rb64400560 Bytes879f2521f56035ebbc632ed7057195c0b48091decd8d76affd05ed150ab415b3
spec/integration/uniqueness_validator/spec_helper.rb64400157 Bytes31806a63b87ce4e352e427e3c25e0abfcbbf2b1498c79db2e9cd7285bfc7a1cc
spec/public/resource_spec.rb644001.97 KBad41988883c381cd818348bbe77b1cef047ca1798d4229c4eb52442f2ba905c2
spec/spec_helper.rb644001.11 KB5d47213ad50885d4815aa18d3b55d2e17b3279c5f1a0a24a6560e6ade9123556
spec/unit/contextual_validators/emptiness_spec.rb644001.1 KBb3be2e8500d0eee6da40d3d527a3b77edf7104d37b1346cdb4c24dd676b7e89c
spec/unit/contextual_validators/execution_spec.rb644001.44 KB9db930491971329ad826ae8585b54d719dd1b92daa0209a0d0aeb9ec026ed9ed
spec/unit/generic_validator/equality_operator_spec.rb64400755 Bytes03b153463444d9d0c216179bf4cccbe05aebfa63d4ec8169293b5d315533b64e
spec/unit/validation_errors/adding_spec.rb644001.33 KB35bef3b1cca94f787d3b01b327a2c77f051d698a5f167349fedbe990f76aa575
spec/unit/validation_errors/emptiness_spec.rb64400768 Bytesd3657003bb1940ce783205c2cbd0dd94ce832a518e0594569678a0deff5be813
tasks/ci.rake6440052 Bytes482909ccce174726c4bcd9278842c3605d1b7fd6e3c9d8d1d748a25b1c8f09a9
tasks/metrics.rake64400734 Bytes6fa8ed8f6a147f9b95094aea9ff7422c2842f8f49c72e6cd9012aba26d272915
tasks/spec.rake64400971 Bytes8d8f4e033d301b95459008c877a9a48233546965548f6c0b4725865f97267bce
spec/fixtures/currency.rb64400900 Bytes2c8df78aa532909a5fc3c54bbf1b7e57bc7ac779a68de8e93d42e7f2f217141b
spec/integration/numeric_validator/lt_with_float_type_spec.rb64400926 Bytes7c65d766ca5e987ba33cf88c75450483517f34f6d3fb33b4c27b2ca0e316fce7
spec/integration/within_validator/within_validator_spec.rb644003.54 KBab4f910be98bdb3c5a7dfc14df37e46915b5983080f368b6a7afd74f6fa0450e
spec/integration/datamapper_models/association_validation_spec.rb64400771 Bytes13ea9c757135e0eec5e729ce884d9b99b98a48b2ed1b6ba22aeb63e3f864b5d1
Rakefile64400877 Bytes2105e783726e53bbecb0e7899fe61d66ace3a77f744a75d57bc985d7ac033d6a
VERSION644007 Bytes22b338099aa2f173dda116a3985f56aa3e61f8e35c3b2e7e1771bd2d33e7fad9
lib/dm-validations/validators/confirmation_validator.rb644002.49 KBdc0225899278749447c34d09c58455521c1e8ce0ae0cfb20bf62d84e4e3ee0f1
spec/integration/datamapper_models/inheritance_spec.rb644002.18 KB67f2c447d49f516732dfbab3455308d17c160bb469ee365604c6ea953b8466cd
spec/integration/length_validator/error_message_spec.rb64400540 Bytes8c54094635cbd18d28b37dbaf56c60b8c56a9101ae340da30a9dee10cfa08930
spec/integration/confirmation_validator/spec_helper.rb64400157 Bytes31806a63b87ce4e352e427e3c25e0abfcbbf2b1498c79db2e9cd7285bfc7a1cc
spec/integration/duplicated_validations/spec_helper.rb64400157 Bytes31806a63b87ce4e352e427e3c25e0abfcbbf2b1498c79db2e9cd7285bfc7a1cc
lib/dm-validations/validators/format_validator.rb644003.29 KBe1e124b20a7d08b077dc7ea4ffde5fc026bc954c95692d89cffdd1e6ef60eb73
spec/fixtures/jabberwock.rb64400450 Bytes1a055d4d395df2a24946909c3ec1407100fd7697eca8b79cb5f7a9cb1ae8037f
spec/integration/automatic_validation/inferred_length_validation_spec.rb644002.72 KB2153da1df0151d176b157f36fabc5f5a4d502d09b5b28bd3c6aad616b4b7c541
spec/integration/numeric_validator/equality_with_integer_type_spec.rb644001.01 KB4b837f3449debaab90ab9885b18ba6a965cb93d9efb8a7fcc61f519726293807
spec/integration/numeric_validator/integer_only_true_spec.rb644001.6 KBfab16b03a297a100f239b03e21052aa0ad33e9a3e970bc76cf2d760f9a25c98f
spec/integration/required_field_validator/string_type_value_spec.rb644004.46 KB4fc0946bd8fd06d4f3a0604509766b6b532da51bc74c85b638ccb460f60e72f7