Module: Fortnox::API::Types

Defined in:
lib/fortnox/api/types.rb,
lib/fortnox/api/types/enums.rb,
lib/fortnox/api/types/model.rb,
lib/fortnox/api/types/sized.rb,
lib/fortnox/api/types/nullable.rb,
lib/fortnox/api/types/required.rb,
lib/fortnox/api/types/defaulted.rb,
lib/fortnox/api/types/order_row.rb,
lib/fortnox/api/types/invoice_row.rb,
lib/fortnox/api/types/document_row.rb,
lib/fortnox/api/types/edi_information.rb,
lib/fortnox/api/types/default_templates.rb,
lib/fortnox/api/types/email_information.rb,
lib/fortnox/api/types/default_delivery_types.rb

Defined Under Namespace

Modules: Defaulted, DocumentRow, EnumConstructors, Nullable, Required, Sized Classes: DefaultDeliveryTypes, DefaultTemplates, EDIInformation, EmailInformation, InvoiceRow, Model, OrderRow

Constant Summary collapse

THE_TRUTH =
{ true => true, 'true' => true, false => false, 'false' => false }.freeze
AccountNumber =
Strict::Int.constrained( gt: 0, lteq: 9999 ).optional
ArticleType =
Strict::String.constrained( included_in: ArticleTypes.values ).optional.constructor( EnumConstructors.default )
CountryCode =
Strict::String.constrained( included_in: CountryCodes.values ).optional.constructor( EnumConstructors.sized(2) )
Currency =
Strict::String.constrained( included_in: Currencies.values ).optional.constructor( EnumConstructors.sized(3) )
CustomerType =
Strict::String.constrained( included_in: CustomerTypes.values ).optional.constructor( EnumConstructors.default )
DiscountType =
Strict::String.constrained( included_in: DiscountTypes.values ).optional.constructor( EnumConstructors.default )
Email =
Strict::String.constrained( max_size: 1024, format: /\A^$|[\w+\-.]+@[a-z\d\-]+(\.[a-z]+)*\.[a-z]+\z/i ).optional.constructor{ |v| v.to_s.downcase unless v.nil? }
HouseWorkType =
Strict::String.constrained( included_in: HouseWorkTypes.values ).optional.constructor( EnumConstructors.default )
VATType =
Strict::String.constrained( included_in: VATTypes.values ).optional.constructor( EnumConstructors.default )
DefaultDeliveryType =
Strict::String.constrained( included_in: DefaultDeliveryTypeValues.values ).optional.constructor( EnumConstructors.default )
ProjectStatusType =
Strict::String.constrained( included_in: ProjectStatusTypes.values ).optional.constructor( EnumConstructors.default )
ArticleTypes =
Types::Strict::String.enum(
  'SERVICE','STOCK'
)
DiscountTypes =
Types::Strict::String.enum(
  'AMOUNT','PERCENT'
)
CURRENT_HOUSE_WORK_TYPES =
[
  'CONSTRUCTION','ELECTRICITY','GLASSMETALWORK','GROUNDDRAINAGEWORK',
  'MASONRY','PAINTINGWALLPAPERING','HVAC','CLEANING','TEXTILECLOTHING',
  'SNOWPLOWING','GARDENING','BABYSITTING','OTHERCARE', 'OTHERCOSTS'
].freeze
LEGACY_HOUSE_WORK_TYPES =
[ 'COOKING', 'TUTORING' ].freeze
HouseWorkTypes =
Types::Strict::String.enum(
  *(CURRENT_HOUSE_WORK_TYPES + LEGACY_HOUSE_WORK_TYPES)
)
CountryCodes =
Types::Strict::String.enum(
  'AF','AX','AL','DZ','AS','AD','AO','AI','AQ','AG','AR','AM','AW','AU',
  'AT','AZ','BS','BH','BD','BB','BY','BE','BZ','BJ','BM','BT','BO','BQ',
  'BA','BW','BV','BR','IO','BN','BG','BF','BI','CV','KH','CM','CA','KY',
  'CF','TD','CL','CN','CX','CC','CO','KM','CG','CD','CK','CR','CI','HR',
  'CU','CW','CY','CZ','DK','DJ','DM','DO','EC','EG','SV','GQ','ER','EE',
  'ET','FK','FO','FJ','FI','FR','GF','PF','TF','GA','GM','GE','DE','GH',
  'GI','GR','GL','GD','GP','GU','GT','GG','GN','GW','GY','HT','HM','VA',
  'HN','HK','HU','IS','IN','ID','IR','IQ','IE','IM','IL','IT','JM','JP',
  'JE','JO','KZ','KE','KI','KP','KR','KW','KG','LA','LV','LB','LS','LR',
  'LY','LI','LT','LU','MO','MK','MG','MW','MY','MV','ML','MT','MH','MQ',
  'MR','MU','YT','MX','FM','MD','MC','MN','ME','MS','MA','MZ','MM','NA',
  'NR','NP','NL','NC','NZ','NI','NE','NG','NU','NF','MP','NO','OM','PK',
  'PW','PS','PA','PG','PY','PE','PH','PN','PL','PT','PR','QA','RE','RO',
  'RU','RW','BL','SH','KN','LC','MF','PM','VC','WS','SM','ST','SA','SN',
  'RS','SC','SL','SG','SX','SK','SI','SB','SO','ZA','GS','SS','ES','LK',
  'SD','SR','SJ','SZ','SE','CH','SY','TW','TJ','TZ','TH','TL','TG','TK',
  'TO','TT','TN','TR','TM','TC','TV','UG','UA','AE','GB','US','UM','UY',
  'UZ','VU','VE','VN','VG','VI','WF','EH','YE','ZM','ZW'
)
Currencies =
Types::Strict::String.enum(
  'AED','AFN','ALL','AMD','ANG','AOA','ARS','AUD','AWG','AZN','BAM','BBD',
  'BDT','BGN','BHD','BIF','BMD','BND','BOB','BOV','BRL','BSD','BTN','BWP',
  'BYR','BZD','CAD','CDF','CHE','CHF','CHW','CLF','CLP','CNY','COP','COU',
  'CRC','CUP','CVE','CZK','DJF','DKK','DOP','DZD','EGP','ERN','ETB','EUR',
  'FJD','FKP','GBP','GEL','GHS','GIP','GMD','GNF','GTQ','GYD','HKD','HNL',
  'HRK','HTG','HUF','IDR','ILS','INR','IQD','IRR','ISK','JMD','JOD','JPY',
  'KES','KGS','KHR','KUR','KMF','KPW','KRW','KWD','KYD','KZT','LAK','LBP',
  'LKR','LRD','LSL','LYD','MAD','MDL','MGA','MKD','MMK','MNT','MOP','MRO',
  'MUR','MVR','MWK','MXN','MXV','MYR','MZN','NAD','NGN','NIO','NOK','NPR',
  'NZD','OMR','PAB','PEN','PGK','PHP','PKR','PLN','PYG','QAR','RON','RSD',
  'RUB','RWF','SAR','SBD','SCR','SDG','SEK','SGD','SHP','SLL','SOS','SRD',
  'SSP','STD','SYP','SZL','THB','TJS','TMM','TND','TOP','TRY','TTD','TWD',
  'TZS','UAH','UGX','USD','USN','USS','UYU','UZS','VEF','VND','VUV','WST',
  'XAF','XAG','XAU','XBA','XBB','XBC','XBD','XCD','XDR','XFU','XOF','XPD',
  'XPF','XPT','XTS','XXX','YER','ZAR','ZMK','ZWD'
)
CustomerTypes =
Types::Strict::String.enum(
  'PRIVATE', 'COMPANY'
)
VATTypes =
Types::Strict::String.enum(
  'SEVAT', 'SEREVERSEDVAT', 'EUREVERSEDVAT', 'EUVAT', 'EXPORT'
)
DefaultDeliveryTypeValues =
Types::Strict::String.enum(
  'PRINT', 'EMAIL', 'PRINTSERVICE'
)
ProjectStatusTypes =
Types::Strict::String.enum(
  'NOTSTARTED', 'ONGOING', 'COMPLETED'
)