Class: Google::Apis::DriveV3::File
- Inherits:
-
Object
- Object
- Google::Apis::DriveV3::File
- Includes:
- Core::Hashable, Core::JsonObjectSupport
- Defined in:
- generated/google/apis/drive_v3/classes.rb,
generated/google/apis/drive_v3/representations.rb,
generated/google/apis/drive_v3/representations.rb
Overview
The metadata for a file.
Defined Under Namespace
Classes: Capabilities, ContentHints, ImageMediaMetadata, VideoMediaMetadata
Instance Attribute Summary collapse
-
#app_properties ⇒ Hash<String,String>
A collection of arbitrary key-value pairs which are private to the requesting app.
-
#capabilities ⇒ Google::Apis::DriveV3::File::Capabilities
Capabilities the current user has on the file.
-
#content_hints ⇒ Google::Apis::DriveV3::File::ContentHints
Additional information about the content of the file.
-
#created_time ⇒ DateTime
The time at which the file was created (RFC 3339 date-time).
-
#description ⇒ String
A short description of the file.
-
#explicitly_trashed ⇒ Boolean
(also: #explicitly_trashed?)
Whether the file has been explicitly trashed, as opposed to recursively trashed from a parent folder.
-
#file_extension ⇒ String
The final component of fullFileExtension.
-
#folder_color_rgb ⇒ String
The color for a folder as an RGB hex string.
-
#full_file_extension ⇒ String
The full file extension extracted from the name field.
-
#has_augmented_permissions ⇒ Boolean
(also: #has_augmented_permissions?)
Whether any users are granted file access directly on this file.
-
#has_thumbnail ⇒ Boolean
(also: #has_thumbnail?)
Whether this file has a thumbnail.
-
#head_revision_id ⇒ String
The ID of the file's head revision.
-
#icon_link ⇒ String
A static, unauthenticated link to the file's icon.
-
#id ⇒ String
The ID of the file.
-
#image_media_metadata ⇒ Google::Apis::DriveV3::File::ImageMediaMetadata
Additional metadata about image media, if available.
-
#is_app_authorized ⇒ Boolean
(also: #is_app_authorized?)
Whether the file was created or opened by the requesting app.
-
#kind ⇒ String
Identifies what kind of resource this is.
-
#last_modifying_user ⇒ Google::Apis::DriveV3::User
Information about a Drive user.
-
#md5_checksum ⇒ String
The MD5 checksum for the content of the file.
-
#mime_type ⇒ String
The MIME type of the file.
-
#modified_by_me ⇒ Boolean
(also: #modified_by_me?)
Whether the file has been modified by this user.
-
#modified_by_me_time ⇒ DateTime
The last time the file was modified by the user (RFC 3339 date-time).
-
#modified_time ⇒ DateTime
The last time the file was modified by anyone (RFC 3339 date-time).
-
#name ⇒ String
The name of the file.
-
#original_filename ⇒ String
The original filename of the uploaded content if available, or else the original value of the name field.
-
#owned_by_me ⇒ Boolean
(also: #owned_by_me?)
Whether the user owns the file.
-
#owners ⇒ Array<Google::Apis::DriveV3::User>
The owners of the file.
-
#parents ⇒ Array<String>
The IDs of the parent folders which contain the file.
-
#permissions ⇒ Array<Google::Apis::DriveV3::Permission>
The full list of permissions for the file.
-
#properties ⇒ Hash<String,String>
A collection of arbitrary key-value pairs which are visible to all apps.
-
#quota_bytes_used ⇒ String
The number of storage quota bytes used by the file.
-
#shared ⇒ Boolean
(also: #shared?)
Whether the file has been shared.
-
#shared_with_me_time ⇒ DateTime
The time at which the file was shared with the user, if applicable (RFC 3339 date-time).
-
#sharing_user ⇒ Google::Apis::DriveV3::User
Information about a Drive user.
-
#size ⇒ String
The size of the file's content in bytes.
-
#spaces ⇒ Array<String>
The list of spaces which contain the file.
-
#starred ⇒ Boolean
(also: #starred?)
Whether the user has starred the file.
-
#team_drive_id ⇒ String
ID of the Team Drive the file resides in.
-
#thumbnail_link ⇒ String
A short-lived link to the file's thumbnail, if available.
-
#thumbnail_version ⇒ String
The thumbnail version for use in thumbnail cache invalidation.
-
#trashed ⇒ Boolean
(also: #trashed?)
Whether the file has been trashed, either explicitly or from a trashed parent folder.
-
#trashed_time ⇒ DateTime
The time that the item was trashed (RFC 3339 date-time).
-
#trashing_user ⇒ Google::Apis::DriveV3::User
Information about a Drive user.
-
#version ⇒ String
A monotonically increasing version number for the file.
-
#video_media_metadata ⇒ Google::Apis::DriveV3::File::VideoMediaMetadata
Additional metadata about video media.
-
#viewed_by_me ⇒ Boolean
(also: #viewed_by_me?)
Whether the file has been viewed by this user.
-
#viewed_by_me_time ⇒ DateTime
The last time the file was viewed by the user (RFC 3339 date-time).
-
#viewers_can_copy_content ⇒ Boolean
(also: #viewers_can_copy_content?)
Whether users with only reader or commenter permission can copy the file's content.
-
#web_content_link ⇒ String
A link for downloading the content of the file in a browser.
-
#web_view_link ⇒ String
A link for opening the file in a relevant Google editor or viewer in a browser.
-
#writers_can_share ⇒ Boolean
(also: #writers_can_share?)
Whether users with only writer permission can modify the file's permissions.
Instance Method Summary collapse
-
#initialize(**args) ⇒ File
constructor
A new instance of File.
-
#update!(**args) ⇒ Object
Update properties of this object.
Methods included from Core::JsonObjectSupport
Methods included from Core::Hashable
Constructor Details
#initialize(**args) ⇒ File
Returns a new instance of File
792 793 794 |
# File 'generated/google/apis/drive_v3/classes.rb', line 792 def initialize(**args) update!(**args) end |
Instance Attribute Details
#app_properties ⇒ Hash<String,String>
A collection of arbitrary key-value pairs which are private to the requesting
app.
Entries with null values are cleared in update and copy requests.
Corresponds to the JSON property appProperties
483 484 485 |
# File 'generated/google/apis/drive_v3/classes.rb', line 483 def app_properties @app_properties end |
#capabilities ⇒ Google::Apis::DriveV3::File::Capabilities
Capabilities the current user has on the file. Each capability corresponds to
a fine-grained action that a user may take.
Corresponds to the JSON property capabilities
489 490 491 |
# File 'generated/google/apis/drive_v3/classes.rb', line 489 def capabilities @capabilities end |
#content_hints ⇒ Google::Apis::DriveV3::File::ContentHints
Additional information about the content of the file. These fields are never
populated in responses.
Corresponds to the JSON property contentHints
495 496 497 |
# File 'generated/google/apis/drive_v3/classes.rb', line 495 def content_hints @content_hints end |
#created_time ⇒ DateTime
The time at which the file was created (RFC 3339 date-time).
Corresponds to the JSON property createdTime
500 501 502 |
# File 'generated/google/apis/drive_v3/classes.rb', line 500 def created_time @created_time end |
#description ⇒ String
A short description of the file.
Corresponds to the JSON property description
505 506 507 |
# File 'generated/google/apis/drive_v3/classes.rb', line 505 def description @description end |
#explicitly_trashed ⇒ Boolean Also known as: explicitly_trashed?
Whether the file has been explicitly trashed, as opposed to recursively
trashed from a parent folder.
Corresponds to the JSON property explicitlyTrashed
511 512 513 |
# File 'generated/google/apis/drive_v3/classes.rb', line 511 def explicitly_trashed @explicitly_trashed end |
#file_extension ⇒ String
The final component of fullFileExtension. This is only available for files
with binary content in Drive.
Corresponds to the JSON property fileExtension
518 519 520 |
# File 'generated/google/apis/drive_v3/classes.rb', line 518 def file_extension @file_extension end |
#folder_color_rgb ⇒ String
The color for a folder as an RGB hex string. The supported colors are
published in the folderColorPalette field of the About resource.
If an unsupported color is specified, the closest color in the palette will be
used instead.
Corresponds to the JSON property folderColorRgb
526 527 528 |
# File 'generated/google/apis/drive_v3/classes.rb', line 526 def folder_color_rgb @folder_color_rgb end |
#full_file_extension ⇒ String
The full file extension extracted from the name field. May contain multiple
concatenated extensions, such as "tar.gz". This is only available for files
with binary content in Drive.
This is automatically updated when the name field changes, however it is not
cleared if the new name does not contain a valid extension.
Corresponds to the JSON property fullFileExtension
535 536 537 |
# File 'generated/google/apis/drive_v3/classes.rb', line 535 def full_file_extension @full_file_extension end |
#has_augmented_permissions ⇒ Boolean Also known as: has_augmented_permissions?
Whether any users are granted file access directly on this file. This field is
only populated for Team Drive files.
Corresponds to the JSON property hasAugmentedPermissions
541 542 543 |
# File 'generated/google/apis/drive_v3/classes.rb', line 541 def @has_augmented_permissions end |
#has_thumbnail ⇒ Boolean Also known as: has_thumbnail?
Whether this file has a thumbnail.
Corresponds to the JSON property hasThumbnail
547 548 549 |
# File 'generated/google/apis/drive_v3/classes.rb', line 547 def has_thumbnail @has_thumbnail end |
#head_revision_id ⇒ String
The ID of the file's head revision. This is currently only available for files
with binary content in Drive.
Corresponds to the JSON property headRevisionId
554 555 556 |
# File 'generated/google/apis/drive_v3/classes.rb', line 554 def head_revision_id @head_revision_id end |
#icon_link ⇒ String
A static, unauthenticated link to the file's icon.
Corresponds to the JSON property iconLink
559 560 561 |
# File 'generated/google/apis/drive_v3/classes.rb', line 559 def icon_link @icon_link end |
#id ⇒ String
The ID of the file.
Corresponds to the JSON property id
564 565 566 |
# File 'generated/google/apis/drive_v3/classes.rb', line 564 def id @id end |
#image_media_metadata ⇒ Google::Apis::DriveV3::File::ImageMediaMetadata
Additional metadata about image media, if available.
Corresponds to the JSON property imageMediaMetadata
569 570 571 |
# File 'generated/google/apis/drive_v3/classes.rb', line 569 def @image_media_metadata end |
#is_app_authorized ⇒ Boolean Also known as:
Whether the file was created or opened by the requesting app.
Corresponds to the JSON property isAppAuthorized
574 575 576 |
# File 'generated/google/apis/drive_v3/classes.rb', line 574 def @is_app_authorized end |
#kind ⇒ String
Identifies what kind of resource this is. Value: the fixed string "drive#file".
Corresponds to the JSON property kind
580 581 582 |
# File 'generated/google/apis/drive_v3/classes.rb', line 580 def kind @kind end |
#last_modifying_user ⇒ Google::Apis::DriveV3::User
Information about a Drive user.
Corresponds to the JSON property lastModifyingUser
585 586 587 |
# File 'generated/google/apis/drive_v3/classes.rb', line 585 def @last_modifying_user end |
#md5_checksum ⇒ String
The MD5 checksum for the content of the file. This is only applicable to files
with binary content in Drive.
Corresponds to the JSON property md5Checksum
591 592 593 |
# File 'generated/google/apis/drive_v3/classes.rb', line 591 def md5_checksum @md5_checksum end |
#mime_type ⇒ String
The MIME type of the file.
Drive will attempt to automatically detect an appropriate value from uploaded
content if no value is provided. The value cannot be changed unless a new
revision is uploaded.
If a file is created with a Google Doc MIME type, the uploaded content will be
imported if possible. The supported import formats are published in the About
resource.
Corresponds to the JSON property mimeType
602 603 604 |
# File 'generated/google/apis/drive_v3/classes.rb', line 602 def mime_type @mime_type end |
#modified_by_me ⇒ Boolean Also known as: modified_by_me?
Whether the file has been modified by this user.
Corresponds to the JSON property modifiedByMe
607 608 609 |
# File 'generated/google/apis/drive_v3/classes.rb', line 607 def modified_by_me @modified_by_me end |
#modified_by_me_time ⇒ DateTime
The last time the file was modified by the user (RFC 3339 date-time).
Corresponds to the JSON property modifiedByMeTime
613 614 615 |
# File 'generated/google/apis/drive_v3/classes.rb', line 613 def modified_by_me_time @modified_by_me_time end |
#modified_time ⇒ DateTime
The last time the file was modified by anyone (RFC 3339 date-time).
Note that setting modifiedTime will also update modifiedByMeTime for the user.
Corresponds to the JSON property modifiedTime
619 620 621 |
# File 'generated/google/apis/drive_v3/classes.rb', line 619 def modified_time @modified_time end |
#name ⇒ String
The name of the file. This is not necessarily unique within a folder. Note
that for immutable items such as the top level folders of Team Drives, My
Drive root folder, and Application Data folder the name is constant.
Corresponds to the JSON property name
626 627 628 |
# File 'generated/google/apis/drive_v3/classes.rb', line 626 def name @name end |
#original_filename ⇒ String
The original filename of the uploaded content if available, or else the
original value of the name field. This is only available for files with binary
content in Drive.
Corresponds to the JSON property originalFilename
633 634 635 |
# File 'generated/google/apis/drive_v3/classes.rb', line 633 def original_filename @original_filename end |
#owned_by_me ⇒ Boolean Also known as: owned_by_me?
Whether the user owns the file. Not populated for Team Drive files.
Corresponds to the JSON property ownedByMe
638 639 640 |
# File 'generated/google/apis/drive_v3/classes.rb', line 638 def owned_by_me @owned_by_me end |
#owners ⇒ Array<Google::Apis::DriveV3::User>
The owners of the file. Currently, only certain legacy files may have more
than one owner. Not populated for Team Drive files.
Corresponds to the JSON property owners
645 646 647 |
# File 'generated/google/apis/drive_v3/classes.rb', line 645 def owners @owners end |
#parents ⇒ Array<String>
The IDs of the parent folders which contain the file.
If not specified as part of a create request, the file will be placed directly
in the My Drive folder. Update requests must use the addParents and
removeParents parameters to modify the values.
Corresponds to the JSON property parents
653 654 655 |
# File 'generated/google/apis/drive_v3/classes.rb', line 653 def parents @parents end |
#permissions ⇒ Array<Google::Apis::DriveV3::Permission>
The full list of permissions for the file. This is only available if the
requesting user can share the file. Not populated for Team Drive files.
Corresponds to the JSON property permissions
659 660 661 |
# File 'generated/google/apis/drive_v3/classes.rb', line 659 def @permissions end |
#properties ⇒ Hash<String,String>
A collection of arbitrary key-value pairs which are visible to all apps.
Entries with null values are cleared in update and copy requests.
Corresponds to the JSON property properties
665 666 667 |
# File 'generated/google/apis/drive_v3/classes.rb', line 665 def properties @properties end |
#quota_bytes_used ⇒ String
The number of storage quota bytes used by the file. This includes the head
revision as well as previous revisions with keepForever enabled.
Corresponds to the JSON property quotaBytesUsed
671 672 673 |
# File 'generated/google/apis/drive_v3/classes.rb', line 671 def quota_bytes_used @quota_bytes_used end |
#shared ⇒ Boolean Also known as:
Whether the file has been shared. Not populated for Team Drive files.
Corresponds to the JSON property shared
676 677 678 |
# File 'generated/google/apis/drive_v3/classes.rb', line 676 def shared @shared end |
#shared_with_me_time ⇒ DateTime
The time at which the file was shared with the user, if applicable (RFC 3339
date-time).
Corresponds to the JSON property sharedWithMeTime
683 684 685 |
# File 'generated/google/apis/drive_v3/classes.rb', line 683 def shared_with_me_time @shared_with_me_time end |
#sharing_user ⇒ Google::Apis::DriveV3::User
Information about a Drive user.
Corresponds to the JSON property sharingUser
688 689 690 |
# File 'generated/google/apis/drive_v3/classes.rb', line 688 def sharing_user @sharing_user end |
#size ⇒ String
The size of the file's content in bytes. This is only applicable to files with
binary content in Drive.
Corresponds to the JSON property size
694 695 696 |
# File 'generated/google/apis/drive_v3/classes.rb', line 694 def size @size end |
#spaces ⇒ Array<String>
The list of spaces which contain the file. The currently supported values are '
drive', 'appDataFolder' and 'photos'.
Corresponds to the JSON property spaces
700 701 702 |
# File 'generated/google/apis/drive_v3/classes.rb', line 700 def spaces @spaces end |
#starred ⇒ Boolean Also known as: starred?
Whether the user has starred the file.
Corresponds to the JSON property starred
705 706 707 |
# File 'generated/google/apis/drive_v3/classes.rb', line 705 def starred @starred end |
#team_drive_id ⇒ String
ID of the Team Drive the file resides in.
Corresponds to the JSON property teamDriveId
711 712 713 |
# File 'generated/google/apis/drive_v3/classes.rb', line 711 def team_drive_id @team_drive_id end |
#thumbnail_link ⇒ String
A short-lived link to the file's thumbnail, if available. Typically lasts on
the order of hours. Only populated when the requesting app can access the file'
s content.
Corresponds to the JSON property thumbnailLink
718 719 720 |
# File 'generated/google/apis/drive_v3/classes.rb', line 718 def thumbnail_link @thumbnail_link end |
#thumbnail_version ⇒ String
The thumbnail version for use in thumbnail cache invalidation.
Corresponds to the JSON property thumbnailVersion
723 724 725 |
# File 'generated/google/apis/drive_v3/classes.rb', line 723 def thumbnail_version @thumbnail_version end |
#trashed ⇒ Boolean Also known as: trashed?
Whether the file has been trashed, either explicitly or from a trashed parent
folder. Only the owner may trash a file, and other users cannot see files in
the owner's trash.
Corresponds to the JSON property trashed
730 731 732 |
# File 'generated/google/apis/drive_v3/classes.rb', line 730 def trashed @trashed end |
#trashed_time ⇒ DateTime
The time that the item was trashed (RFC 3339 date-time). Only populated for
Team Drive files.
Corresponds to the JSON property trashedTime
737 738 739 |
# File 'generated/google/apis/drive_v3/classes.rb', line 737 def trashed_time @trashed_time end |
#trashing_user ⇒ Google::Apis::DriveV3::User
Information about a Drive user.
Corresponds to the JSON property trashingUser
742 743 744 |
# File 'generated/google/apis/drive_v3/classes.rb', line 742 def trashing_user @trashing_user end |
#version ⇒ String
A monotonically increasing version number for the file. This reflects every
change made to the file on the server, even those not visible to the user.
Corresponds to the JSON property version
748 749 750 |
# File 'generated/google/apis/drive_v3/classes.rb', line 748 def version @version end |
#video_media_metadata ⇒ Google::Apis::DriveV3::File::VideoMediaMetadata
Additional metadata about video media. This may not be available immediately
upon upload.
Corresponds to the JSON property videoMediaMetadata
754 755 756 |
# File 'generated/google/apis/drive_v3/classes.rb', line 754 def @video_media_metadata end |
#viewed_by_me ⇒ Boolean Also known as: viewed_by_me?
Whether the file has been viewed by this user.
Corresponds to the JSON property viewedByMe
759 760 761 |
# File 'generated/google/apis/drive_v3/classes.rb', line 759 def viewed_by_me @viewed_by_me end |
#viewed_by_me_time ⇒ DateTime
The last time the file was viewed by the user (RFC 3339 date-time).
Corresponds to the JSON property viewedByMeTime
765 766 767 |
# File 'generated/google/apis/drive_v3/classes.rb', line 765 def viewed_by_me_time @viewed_by_me_time end |
#viewers_can_copy_content ⇒ Boolean Also known as: viewers_can_copy_content?
Whether users with only reader or commenter permission can copy the file's
content. This affects copy, download, and print operations.
Corresponds to the JSON property viewersCanCopyContent
771 772 773 |
# File 'generated/google/apis/drive_v3/classes.rb', line 771 def viewers_can_copy_content @viewers_can_copy_content end |
#web_content_link ⇒ String
A link for downloading the content of the file in a browser. This is only
available for files with binary content in Drive.
Corresponds to the JSON property webContentLink
778 779 780 |
# File 'generated/google/apis/drive_v3/classes.rb', line 778 def web_content_link @web_content_link end |
#web_view_link ⇒ String
A link for opening the file in a relevant Google editor or viewer in a browser.
Corresponds to the JSON property webViewLink
783 784 785 |
# File 'generated/google/apis/drive_v3/classes.rb', line 783 def web_view_link @web_view_link end |
#writers_can_share ⇒ Boolean Also known as:
Whether users with only writer permission can modify the file's permissions.
Not populated for Team Drive files.
Corresponds to the JSON property writersCanShare
789 790 791 |
# File 'generated/google/apis/drive_v3/classes.rb', line 789 def writers_can_share @writers_can_share end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 |
# File 'generated/google/apis/drive_v3/classes.rb', line 797 def update!(**args) @app_properties = args[:app_properties] if args.key?(:app_properties) @capabilities = args[:capabilities] if args.key?(:capabilities) @content_hints = args[:content_hints] if args.key?(:content_hints) @created_time = args[:created_time] if args.key?(:created_time) @description = args[:description] if args.key?(:description) @explicitly_trashed = args[:explicitly_trashed] if args.key?(:explicitly_trashed) @file_extension = args[:file_extension] if args.key?(:file_extension) @folder_color_rgb = args[:folder_color_rgb] if args.key?(:folder_color_rgb) @full_file_extension = args[:full_file_extension] if args.key?(:full_file_extension) @has_augmented_permissions = args[:has_augmented_permissions] if args.key?(:has_augmented_permissions) @has_thumbnail = args[:has_thumbnail] if args.key?(:has_thumbnail) @head_revision_id = args[:head_revision_id] if args.key?(:head_revision_id) @icon_link = args[:icon_link] if args.key?(:icon_link) @id = args[:id] if args.key?(:id) @image_media_metadata = args[:image_media_metadata] if args.key?(:image_media_metadata) @is_app_authorized = args[:is_app_authorized] if args.key?(:is_app_authorized) @kind = args[:kind] if args.key?(:kind) @last_modifying_user = args[:last_modifying_user] if args.key?(:last_modifying_user) @md5_checksum = args[:md5_checksum] if args.key?(:md5_checksum) @mime_type = args[:mime_type] if args.key?(:mime_type) @modified_by_me = args[:modified_by_me] if args.key?(:modified_by_me) @modified_by_me_time = args[:modified_by_me_time] if args.key?(:modified_by_me_time) @modified_time = args[:modified_time] if args.key?(:modified_time) @name = args[:name] if args.key?(:name) @original_filename = args[:original_filename] if args.key?(:original_filename) @owned_by_me = args[:owned_by_me] if args.key?(:owned_by_me) @owners = args[:owners] if args.key?(:owners) @parents = args[:parents] if args.key?(:parents) @permissions = args[:permissions] if args.key?(:permissions) @properties = args[:properties] if args.key?(:properties) @quota_bytes_used = args[:quota_bytes_used] if args.key?(:quota_bytes_used) @shared = args[:shared] if args.key?(:shared) @shared_with_me_time = args[:shared_with_me_time] if args.key?(:shared_with_me_time) @sharing_user = args[:sharing_user] if args.key?(:sharing_user) @size = args[:size] if args.key?(:size) @spaces = args[:spaces] if args.key?(:spaces) @starred = args[:starred] if args.key?(:starred) @team_drive_id = args[:team_drive_id] if args.key?(:team_drive_id) @thumbnail_link = args[:thumbnail_link] if args.key?(:thumbnail_link) @thumbnail_version = args[:thumbnail_version] if args.key?(:thumbnail_version) @trashed = args[:trashed] if args.key?(:trashed) @trashed_time = args[:trashed_time] if args.key?(:trashed_time) @trashing_user = args[:trashing_user] if args.key?(:trashing_user) @version = args[:version] if args.key?(:version) @video_media_metadata = args[:video_media_metadata] if args.key?(:video_media_metadata) @viewed_by_me = args[:viewed_by_me] if args.key?(:viewed_by_me) @viewed_by_me_time = args[:viewed_by_me_time] if args.key?(:viewed_by_me_time) @viewers_can_copy_content = args[:viewers_can_copy_content] if args.key?(:viewers_can_copy_content) @web_content_link = args[:web_content_link] if args.key?(:web_content_link) @web_view_link = args[:web_view_link] if args.key?(:web_view_link) @writers_can_share = args[:writers_can_share] if args.key?(:writers_can_share) end |