Module: TypeHelpers
- Included in:
- Basecamp::Types, Basecamp::Types::Account, Basecamp::Types::AccountLimits, Basecamp::Types::AccountLogo, Basecamp::Types::AccountSettings, Basecamp::Types::AccountSubscription, Basecamp::Types::Assignable, Basecamp::Types::Boost, Basecamp::Types::Campfire, Basecamp::Types::CampfireLine, Basecamp::Types::CampfireLineAttachment, Basecamp::Types::Card, Basecamp::Types::CardColumn, Basecamp::Types::CardColumnOnHold, Basecamp::Types::CardStep, Basecamp::Types::CardTable, Basecamp::Types::Chatbot, Basecamp::Types::ClientApproval, Basecamp::Types::ClientApprovalResponse, Basecamp::Types::ClientCompany, Basecamp::Types::ClientCorrespondence, Basecamp::Types::ClientReply, Basecamp::Types::ClientSide, Basecamp::Types::Comment, Basecamp::Types::CreatePersonRequest, Basecamp::Types::DockItem, Basecamp::Types::Document, Basecamp::Types::Event, Basecamp::Types::EventDetails, Basecamp::Types::Forward, Basecamp::Types::ForwardReply, Basecamp::Types::Gauge, Basecamp::Types::GaugeNeedle, Basecamp::Types::GaugeNeedlePayload, Basecamp::Types::GaugeNeedleUpdatePayload, Basecamp::Types::GaugeTogglePayload, Basecamp::Types::HillChart, Basecamp::Types::HillChartDot, Basecamp::Types::Inbox, Basecamp::Types::LineupMarker, Basecamp::Types::Message, Basecamp::Types::MessageBoard, Basecamp::Types::MessageType, Basecamp::Types::MyAssignment, Basecamp::Types::MyAssignmentAssignee, Basecamp::Types::MyAssignmentBucket, Basecamp::Types::MyAssignmentParent, Basecamp::Types::Notification, Basecamp::Types::OutOfOffice, Basecamp::Types::OutOfOfficePayload, Basecamp::Types::OutOfOfficePerson, Basecamp::Types::Person, Basecamp::Types::PersonCompany, Basecamp::Types::Preferences, Basecamp::Types::PreferencesPayload, Basecamp::Types::PreviewableAttachment, Basecamp::Types::Project, Basecamp::Types::ProjectAccessResult, Basecamp::Types::ProjectConstruction, Basecamp::Types::ProjectConstructionAttributes, Basecamp::Types::Question, Basecamp::Types::QuestionAnswer, Basecamp::Types::QuestionAnswerPayload, Basecamp::Types::QuestionAnswerUpdatePayload, Basecamp::Types::QuestionReminder, Basecamp::Types::QuestionSchedule, Basecamp::Types::Questionnaire, Basecamp::Types::Recording, Basecamp::Types::RecordingBucket, Basecamp::Types::RecordingParent, Basecamp::Types::RichTextAttachment, Basecamp::Types::Schedule, Basecamp::Types::ScheduleAttributes, Basecamp::Types::ScheduleEntry, Basecamp::Types::SearchMetadata, Basecamp::Types::SearchResult, Basecamp::Types::SearchType, Basecamp::Types::Subscription, Basecamp::Types::Template, Basecamp::Types::TimelineEvent, Basecamp::Types::TimesheetEntry, Basecamp::Types::Todo, Basecamp::Types::TodoBucket, Basecamp::Types::TodoParent, Basecamp::Types::Todolist, Basecamp::Types::TodolistGroup, Basecamp::Types::Todoset, Basecamp::Types::Tool, Basecamp::Types::Upload, Basecamp::Types::Vault, Basecamp::Types::Webhook, Basecamp::Types::WebhookCopy, Basecamp::Types::WebhookCopyBucket, Basecamp::Types::WebhookDelivery, Basecamp::Types::WebhookDeliveryRequest, Basecamp::Types::WebhookDeliveryResponse, Basecamp::Types::WebhookEvent, Basecamp::Types::Wormhole
- Defined in:
- lib/basecamp/generated/types.rb
Overview
Type conversion helpers
Class Method Summary collapse
- .identity(value) ⇒ Object
- .parse_array(value, type_name) ⇒ Object
- .parse_boolean(value) ⇒ Object
- .parse_datetime(value) ⇒ Object
- .parse_float(value) ⇒ Object
- .parse_integer(value) ⇒ Object
- .parse_type(value, type_name) ⇒ Object
Class Method Details
.identity(value) ⇒ Object
13 14 15 |
# File 'lib/basecamp/generated/types.rb', line 13 def identity(value) value end |
.parse_array(value, type_name) ⇒ Object
50 51 52 53 54 55 56 57 58 |
# File 'lib/basecamp/generated/types.rb', line 50 def parse_array(value, type_name) return nil if value.nil? return value unless value.is_a?(Array) type_class = Basecamp::Types.const_get(type_name) value.map { |item| item.is_a?(Hash) ? type_class.new(item) : item } rescue NameError value end |
.parse_boolean(value) ⇒ Object
27 28 29 30 |
# File 'lib/basecamp/generated/types.rb', line 27 def parse_boolean(value) return nil if value.nil? !!value end |
.parse_datetime(value) ⇒ Object
32 33 34 35 36 37 38 |
# File 'lib/basecamp/generated/types.rb', line 32 def parse_datetime(value) return nil if value.nil? return value if value.is_a?(Time) Time.parse(value.to_s) rescue ArgumentError nil end |
.parse_float(value) ⇒ Object
22 23 24 25 |
# File 'lib/basecamp/generated/types.rb', line 22 def parse_float(value) return nil if value.nil? value.to_f end |
.parse_integer(value) ⇒ Object
17 18 19 20 |
# File 'lib/basecamp/generated/types.rb', line 17 def parse_integer(value) return nil if value.nil? value.to_i end |
.parse_type(value, type_name) ⇒ Object
40 41 42 43 44 45 46 47 48 |
# File 'lib/basecamp/generated/types.rb', line 40 def parse_type(value, type_name) return nil if value.nil? return value unless value.is_a?(Hash) type_class = Basecamp::Types.const_get(type_name) type_class.new(value) rescue NameError value end |