recurly 2.20.3 → 3.0.0.beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.gitignore +14 -0
- data/.rspec +2 -0
- data/.travis.yml +5 -0
- data/Gemfile +4 -0
- data/LICENSE.txt +21 -0
- data/README.md +158 -110
- data/Rakefile +6 -0
- data/bin/bundle +105 -0
- data/bin/coderay +29 -0
- data/bin/console +14 -0
- data/bin/htmldiff +29 -0
- data/bin/ldiff +29 -0
- data/bin/pry +29 -0
- data/bin/rake +29 -0
- data/bin/rspec +29 -0
- data/bin/setup +8 -0
- data/bin/yard +29 -0
- data/bin/yardoc +29 -0
- data/bin/yri +29 -0
- data/lib/data/ca-certificates.crt +31 -0
- data/lib/recurly/client/operations.rb +935 -0
- data/lib/recurly/client.rb +198 -0
- data/lib/recurly/errors/api_errors.rb +35 -0
- data/lib/recurly/errors/network_errors.rb +8 -0
- data/lib/recurly/errors.rb +34 -0
- data/lib/recurly/pager.rb +119 -0
- data/lib/recurly/request.rb +30 -0
- data/lib/recurly/requests/account_acquisition_updatable.rb +22 -0
- data/lib/recurly/requests/account_create_only.rb +18 -0
- data/lib/recurly/requests/account_updatable.rb +50 -0
- data/lib/recurly/requests/add_on_create.rb +38 -0
- data/lib/recurly/requests/add_on_update.rb +38 -0
- data/lib/recurly/requests/address.rb +42 -0
- data/lib/recurly/requests/billing_info_create.rb +58 -0
- data/lib/recurly/requests/coupon_create_only.rb +66 -0
- data/lib/recurly/requests/coupon_updatable.rb +30 -0
- data/lib/recurly/requests/create_account.rb +62 -0
- data/lib/recurly/requests/create_coupon.rb +90 -0
- data/lib/recurly/requests/invoice_create.rb +42 -0
- data/lib/recurly/requests/invoice_refund.rb +30 -0
- data/lib/recurly/requests/line_item_create.rb +46 -0
- data/lib/recurly/requests/plan_create.rb +66 -0
- data/lib/recurly/requests/plan_update.rb +70 -0
- data/lib/recurly/requests/shipping_address_create.rb +58 -0
- data/lib/recurly/requests/shipping_address_update.rb +62 -0
- data/lib/recurly/requests/subscription_add_on_create.rb +22 -0
- data/lib/recurly/requests/subscription_change_create.rb +42 -0
- data/lib/recurly/requests/subscription_create.rb +86 -0
- data/lib/recurly/requests/subscription_update.rb +42 -0
- data/lib/recurly/requests/update_coupon.rb +30 -0
- data/lib/recurly/resource.rb +16 -1114
- data/lib/recurly/resources/account.rb +86 -0
- data/lib/recurly/resources/account_acquisition.rb +42 -0
- data/lib/recurly/resources/account_balance.rb +22 -0
- data/lib/recurly/resources/account_note.rb +30 -0
- data/lib/recurly/resources/add_on.rb +62 -0
- data/lib/recurly/resources/address.rb +42 -0
- data/lib/recurly/resources/billing_info.rb +62 -0
- data/lib/recurly/resources/coupon.rb +110 -0
- data/lib/recurly/resources/coupon_discount.rb +22 -0
- data/lib/recurly/resources/coupon_redemption.rb +46 -0
- data/lib/recurly/resources/credit_payment.rb +62 -0
- data/lib/recurly/resources/error.rb +18 -0
- data/lib/recurly/resources/error_may_have_transaction.rb +22 -0
- data/lib/recurly/resources/invoice.rb +138 -0
- data/lib/recurly/resources/invoice_collection.rb +18 -0
- data/lib/recurly/resources/line_item.rb +166 -0
- data/lib/recurly/resources/plan.rb +86 -0
- data/lib/recurly/resources/settings.rb +18 -0
- data/lib/recurly/resources/shipping_address.rb +74 -0
- data/lib/recurly/resources/site.rb +46 -0
- data/lib/recurly/resources/subscription.rb +134 -0
- data/lib/recurly/resources/subscription_add_on.rb +42 -0
- data/lib/recurly/resources/subscription_change.rb +54 -0
- data/lib/recurly/resources/tax_info.rb +18 -0
- data/lib/recurly/resources/transaction.rb +146 -0
- data/lib/recurly/resources/unique_coupon_code.rb +38 -0
- data/lib/recurly/resources/user.rb +38 -0
- data/lib/recurly/schema/json_deserializer.rb +53 -0
- data/lib/recurly/schema/json_parser.rb +71 -0
- data/lib/recurly/schema/request_caster.rb +66 -0
- data/lib/recurly/schema/schema_factory.rb +50 -0
- data/lib/recurly/schema/schema_validator.rb +125 -0
- data/lib/recurly/schema.rb +114 -0
- data/lib/recurly/version.rb +1 -10
- data/lib/recurly.rb +14 -167
- data/recurly.gemspec +32 -0
- data/scripts/build +4 -0
- data/scripts/clean +6 -0
- data/scripts/test +3 -0
- metadata +129 -196
- data/lib/recurly/account.rb +0 -230
- data/lib/recurly/account_acquisition.rb +0 -27
- data/lib/recurly/account_balance.rb +0 -23
- data/lib/recurly/add_on.rb +0 -52
- data/lib/recurly/address.rb +0 -25
- data/lib/recurly/adjustment.rb +0 -100
- data/lib/recurly/api/errors.rb +0 -208
- data/lib/recurly/api/net_http_adapter.rb +0 -111
- data/lib/recurly/api.rb +0 -110
- data/lib/recurly/billing_info.rb +0 -134
- data/lib/recurly/business_entity.rb +0 -35
- data/lib/recurly/coupon.rb +0 -136
- data/lib/recurly/credit_payment.rb +0 -32
- data/lib/recurly/currency_percentage_tier.rb +0 -17
- data/lib/recurly/custom_field.rb +0 -15
- data/lib/recurly/custom_field_definition.rb +0 -14
- data/lib/recurly/customer_permission.rb +0 -10
- data/lib/recurly/delivery.rb +0 -19
- data/lib/recurly/dunning_campaign.rb +0 -30
- data/lib/recurly/dunning_cycle.rb +0 -18
- data/lib/recurly/entitlement.rb +0 -19
- data/lib/recurly/error.rb +0 -13
- data/lib/recurly/external_account.rb +0 -17
- data/lib/recurly/external_charge.rb +0 -20
- data/lib/recurly/external_invoice.rb +0 -27
- data/lib/recurly/external_payment_phase.rb +0 -27
- data/lib/recurly/external_product.rb +0 -34
- data/lib/recurly/external_product_reference.rb +0 -18
- data/lib/recurly/external_subscription.rb +0 -62
- data/lib/recurly/gateway_attribute.rb +0 -10
- data/lib/recurly/general_ledger_account.rb +0 -16
- data/lib/recurly/gift_card.rb +0 -85
- data/lib/recurly/helper.rb +0 -51
- data/lib/recurly/invoice.rb +0 -354
- data/lib/recurly/invoice_collection.rb +0 -14
- data/lib/recurly/invoice_template.rb +0 -14
- data/lib/recurly/item.rb +0 -36
- data/lib/recurly/js.rb +0 -14
- data/lib/recurly/juris_detail.rb +0 -15
- data/lib/recurly/measured_unit.rb +0 -16
- data/lib/recurly/money.rb +0 -120
- data/lib/recurly/note.rb +0 -14
- data/lib/recurly/percentage_tier.rb +0 -17
- data/lib/recurly/performance_obligation.rb +0 -15
- data/lib/recurly/plan.rb +0 -59
- data/lib/recurly/plan_ramp_interval.rb +0 -10
- data/lib/recurly/purchase.rb +0 -239
- data/lib/recurly/redemption.rb +0 -46
- data/lib/recurly/resource/association.rb +0 -16
- data/lib/recurly/resource/errors.rb +0 -20
- data/lib/recurly/resource/pager.rb +0 -313
- data/lib/recurly/rev_rec.rb +0 -18
- data/lib/recurly/shipping_address.rb +0 -26
- data/lib/recurly/shipping_fee.rb +0 -17
- data/lib/recurly/shipping_method.rb +0 -13
- data/lib/recurly/sub_add_on_percentage_tier.rb +0 -17
- data/lib/recurly/subscription/add_ons.rb +0 -82
- data/lib/recurly/subscription.rb +0 -374
- data/lib/recurly/subscription_add_on.rb +0 -64
- data/lib/recurly/subscription_ramp_interval.rb +0 -12
- data/lib/recurly/tax_detail.rb +0 -18
- data/lib/recurly/tax_type.rb +0 -13
- data/lib/recurly/tier.rb +0 -18
- data/lib/recurly/transaction/errors.rb +0 -119
- data/lib/recurly/transaction.rb +0 -132
- data/lib/recurly/usage.rb +0 -29
- data/lib/recurly/verify.rb +0 -12
- data/lib/recurly/webhook/account_notification.rb +0 -13
- data/lib/recurly/webhook/billing_info_update_failed_notification.rb +0 -6
- data/lib/recurly/webhook/billing_info_updated_notification.rb +0 -6
- data/lib/recurly/webhook/canceled_account_notification.rb +0 -6
- data/lib/recurly/webhook/canceled_gift_card_notification.rb +0 -6
- data/lib/recurly/webhook/canceled_subscription_notification.rb +0 -6
- data/lib/recurly/webhook/closed_credit_invoice_notification.rb +0 -6
- data/lib/recurly/webhook/closed_invoice_notification.rb +0 -6
- data/lib/recurly/webhook/credit_payment_notification.rb +0 -12
- data/lib/recurly/webhook/deactivated_item_notification.rb +0 -6
- data/lib/recurly/webhook/deleted_shipping_address_notification.rb +0 -6
- data/lib/recurly/webhook/dunning_notification.rb +0 -14
- data/lib/recurly/webhook/expired_subscription_notification.rb +0 -6
- data/lib/recurly/webhook/failed_charge_invoice_notification.rb +0 -6
- data/lib/recurly/webhook/failed_payment_notification.rb +0 -6
- data/lib/recurly/webhook/fraud_info_updated_notification.rb +0 -6
- data/lib/recurly/webhook/gift_card_notification.rb +0 -8
- data/lib/recurly/webhook/invoice_notification.rb +0 -12
- data/lib/recurly/webhook/item_notification.rb +0 -7
- data/lib/recurly/webhook/low_balance_gift_card_notification.rb +0 -6
- data/lib/recurly/webhook/new_account_notification.rb +0 -6
- data/lib/recurly/webhook/new_charge_invoice_notification.rb +0 -6
- data/lib/recurly/webhook/new_credit_invoice_notification.rb +0 -6
- data/lib/recurly/webhook/new_credit_payment_notification.rb +0 -6
- data/lib/recurly/webhook/new_dunning_event_notification.rb +0 -6
- data/lib/recurly/webhook/new_invoice_notification.rb +0 -6
- data/lib/recurly/webhook/new_item_notification.rb +0 -6
- data/lib/recurly/webhook/new_shipping_address_notification.rb +0 -6
- data/lib/recurly/webhook/new_subscription_notification.rb +0 -6
- data/lib/recurly/webhook/new_usage_notification.rb +0 -8
- data/lib/recurly/webhook/notification.rb +0 -18
- data/lib/recurly/webhook/paid_charge_invoice_notification.rb +0 -6
- data/lib/recurly/webhook/past_due_charge_invoice_notification.rb +0 -6
- data/lib/recurly/webhook/past_due_invoice_notification.rb +0 -6
- data/lib/recurly/webhook/paused_subscription_renewal_notification.rb +0 -6
- data/lib/recurly/webhook/prerenewal_notification.rb +0 -6
- data/lib/recurly/webhook/processing_charge_invoice_notification.rb +0 -6
- data/lib/recurly/webhook/processing_credit_invoice_notification.rb +0 -6
- data/lib/recurly/webhook/processing_invoice_notification.rb +0 -6
- data/lib/recurly/webhook/processing_payment_notification.rb +0 -6
- data/lib/recurly/webhook/purchased_gift_card_notification.rb +0 -7
- data/lib/recurly/webhook/reactivated_account_notification.rb +0 -6
- data/lib/recurly/webhook/reactivated_item_notification.rb +0 -6
- data/lib/recurly/webhook/redeemed_gift_card_notification.rb +0 -7
- data/lib/recurly/webhook/regenerated_gift_card_notification.rb +0 -6
- data/lib/recurly/webhook/renewed_subscription_notification.rb +0 -6
- data/lib/recurly/webhook/reopened_charge_invoice_notification.rb +0 -6
- data/lib/recurly/webhook/reopened_credit_invoice_notification.rb +0 -6
- data/lib/recurly/webhook/scheduled_payment_notification.rb +0 -6
- data/lib/recurly/webhook/scheduled_subscription_pause_notification.rb +0 -6
- data/lib/recurly/webhook/scheduled_subscription_update_notification.rb +0 -6
- data/lib/recurly/webhook/subscription_notification.rb +0 -12
- data/lib/recurly/webhook/subscription_pause_canceled_notification.rb +0 -6
- data/lib/recurly/webhook/subscription_pause_modified_notification.rb +0 -6
- data/lib/recurly/webhook/subscription_paused_notification.rb +0 -6
- data/lib/recurly/webhook/subscription_resumed_notification.rb +0 -6
- data/lib/recurly/webhook/successful_payment_notification.rb +0 -6
- data/lib/recurly/webhook/successful_refund_notification.rb +0 -6
- data/lib/recurly/webhook/transaction_authorized_notification.rb +0 -6
- data/lib/recurly/webhook/transaction_notification.rb +0 -12
- data/lib/recurly/webhook/transaction_status_updated_notification.rb +0 -6
- data/lib/recurly/webhook/updated_account_notification.rb +0 -6
- data/lib/recurly/webhook/updated_balance_gift_card_notification.rb +0 -7
- data/lib/recurly/webhook/updated_gift_card_notification.rb +0 -6
- data/lib/recurly/webhook/updated_invoice_notification.rb +0 -6
- data/lib/recurly/webhook/updated_item_notification.rb +0 -6
- data/lib/recurly/webhook/updated_shipping_address_notification.rb +0 -6
- data/lib/recurly/webhook/updated_subscription_notification.rb +0 -6
- data/lib/recurly/webhook/void_payment_notification.rb +0 -6
- data/lib/recurly/webhook/voided_credit_invoice_notification.rb +0 -6
- data/lib/recurly/webhook/voided_credit_payment_notification.rb +0 -6
- data/lib/recurly/webhook.rb +0 -113
- data/lib/recurly/xml/nokogiri.rb +0 -60
- data/lib/recurly/xml/rexml.rb +0 -52
- data/lib/recurly/xml.rb +0 -122
data/lib/recurly/transaction.rb
DELETED
@@ -1,132 +0,0 @@
|
|
1
|
-
module Recurly
|
2
|
-
class Transaction < Resource
|
3
|
-
require 'recurly/transaction/errors'
|
4
|
-
|
5
|
-
# @macro [attach] scope
|
6
|
-
# @scope class
|
7
|
-
# @return [Pager] a pager that yields +$1+ transactions.
|
8
|
-
scope :authorizations, type: 'authorization'
|
9
|
-
scope :purchases, type: 'purchase'
|
10
|
-
scope :refunds, type: 'refund'
|
11
|
-
scope :successful, state: 'successful'
|
12
|
-
scope :failed, state: 'failed'
|
13
|
-
scope :voided, state: 'voided'
|
14
|
-
|
15
|
-
# @return [Account]
|
16
|
-
belongs_to :account
|
17
|
-
# @return [Invoice, nil]
|
18
|
-
belongs_to :invoice
|
19
|
-
|
20
|
-
# @return [Pager<Subscription>, nil]
|
21
|
-
has_many :subscriptions
|
22
|
-
|
23
|
-
# @return [Transaction, nil]
|
24
|
-
has_one :original_transaction, class_name: :Transaction, readonly: true
|
25
|
-
|
26
|
-
define_attribute_methods %w(
|
27
|
-
id
|
28
|
-
uuid
|
29
|
-
action
|
30
|
-
amount_in_cents
|
31
|
-
tax_in_cents
|
32
|
-
currency
|
33
|
-
payment_method
|
34
|
-
status
|
35
|
-
reference
|
36
|
-
recurring
|
37
|
-
test
|
38
|
-
voidable
|
39
|
-
refundable
|
40
|
-
cvv_result
|
41
|
-
avs_result
|
42
|
-
avs_result_street
|
43
|
-
avs_result_postal
|
44
|
-
created_at
|
45
|
-
updated_at
|
46
|
-
details
|
47
|
-
transaction_error
|
48
|
-
source
|
49
|
-
ip_address
|
50
|
-
collected_at
|
51
|
-
description
|
52
|
-
tax_exempt
|
53
|
-
tax_code
|
54
|
-
accounting_code
|
55
|
-
fraud
|
56
|
-
product_code
|
57
|
-
gateway_type
|
58
|
-
origin
|
59
|
-
message
|
60
|
-
approval_code
|
61
|
-
date
|
62
|
-
gateway
|
63
|
-
gateway_error_codes
|
64
|
-
invoice_id
|
65
|
-
invoice_number
|
66
|
-
invoice_number_prefix
|
67
|
-
failure_type
|
68
|
-
billing_phone
|
69
|
-
billing_postal
|
70
|
-
billing_country
|
71
|
-
subscription_id
|
72
|
-
manually_entered
|
73
|
-
avalara_transaction_type
|
74
|
-
avalara_service_type
|
75
|
-
action_result
|
76
|
-
)
|
77
|
-
alias to_param uuid
|
78
|
-
alias fraud_info fraud
|
79
|
-
|
80
|
-
def self.to_xml(attrs)
|
81
|
-
transaction = new attrs
|
82
|
-
transaction.to_xml
|
83
|
-
end
|
84
|
-
|
85
|
-
# @return ["credit", "charge", nil] The type of transaction.
|
86
|
-
attr_reader :type
|
87
|
-
|
88
|
-
# @see Resource#initialize
|
89
|
-
def initialize(attributes = {})
|
90
|
-
super({ :currency => Recurly.default_currency }.merge attributes)
|
91
|
-
end
|
92
|
-
|
93
|
-
# Saves new records only.
|
94
|
-
#
|
95
|
-
# @return [true, false]
|
96
|
-
# @raise [Recurly::Error] For persisted transactions.
|
97
|
-
# @see Resource#save
|
98
|
-
def save
|
99
|
-
return super if new_record?
|
100
|
-
raise Recurly::Error, "#{self.class.collection_name} cannot be updated"
|
101
|
-
end
|
102
|
-
|
103
|
-
# Refunds the transaction.
|
104
|
-
#
|
105
|
-
# @return [Transaction, false] The updated original transaction if voided,
|
106
|
-
# a new refund transaction, false if the transaction isn't voidable or
|
107
|
-
# refundable.
|
108
|
-
# @raise [Error] If the refund fails.
|
109
|
-
# @param amount_in_cents [Integer, nil] The amount (in cents) to refund
|
110
|
-
# (refunds fully if nil).
|
111
|
-
def refund amount_in_cents = nil
|
112
|
-
return false unless link? :refund
|
113
|
-
refund = self.class.from_response(
|
114
|
-
follow_link :refund, :params => { :amount_in_cents => amount_in_cents }
|
115
|
-
)
|
116
|
-
refund.uuid == uuid ? copy_from(refund) && self : refund
|
117
|
-
end
|
118
|
-
|
119
|
-
def signable_attributes
|
120
|
-
super.merge :amount_in_cents => amount_in_cents, :currency => currency
|
121
|
-
end
|
122
|
-
|
123
|
-
# @return [String]
|
124
|
-
def inspect
|
125
|
-
attributes = self.class.attribute_names
|
126
|
-
unless type == 'credit_card'
|
127
|
-
attributes -= %w(cvv_result avs_result avs_result_street)
|
128
|
-
end
|
129
|
-
super attributes
|
130
|
-
end
|
131
|
-
end
|
132
|
-
end
|
data/lib/recurly/usage.rb
DELETED
@@ -1,29 +0,0 @@
|
|
1
|
-
module Recurly
|
2
|
-
class Usage < Resource
|
3
|
-
# @return [MeasuredUnit]
|
4
|
-
belongs_to :measured_unit
|
5
|
-
|
6
|
-
define_attribute_methods %w(
|
7
|
-
id
|
8
|
-
usage_type
|
9
|
-
unit_amount_in_cents
|
10
|
-
usage_percentage
|
11
|
-
amount
|
12
|
-
amount_decimal
|
13
|
-
merchant_tag
|
14
|
-
usage_timestamp
|
15
|
-
recording_timestamp
|
16
|
-
billed_at
|
17
|
-
created_at
|
18
|
-
updated_at
|
19
|
-
subscription_id
|
20
|
-
add_on_code
|
21
|
-
measured_unit_id
|
22
|
-
modified_at
|
23
|
-
)
|
24
|
-
|
25
|
-
# Usages are only writeable and readable through {SubscriptionAddOns} instances.
|
26
|
-
embedded!
|
27
|
-
private_class_method :find
|
28
|
-
end
|
29
|
-
end
|
data/lib/recurly/verify.rb
DELETED
@@ -1,13 +0,0 @@
|
|
1
|
-
module Recurly
|
2
|
-
module Webhook
|
3
|
-
# The AccountNotification class provides a generic interface
|
4
|
-
# for account-related webhook notifications.
|
5
|
-
class AccountNotification < Notification
|
6
|
-
# @return [Account]
|
7
|
-
has_one :account
|
8
|
-
|
9
|
-
# @return [ShippingAddress]
|
10
|
-
has_one :shipping_address
|
11
|
-
end
|
12
|
-
end
|
13
|
-
end
|
@@ -1,12 +0,0 @@
|
|
1
|
-
module Recurly
|
2
|
-
module Webhook
|
3
|
-
# The CreditPayment class provides a generic interface
|
4
|
-
# for credit-payment-related webhook notifications.
|
5
|
-
class CreditPaymentNotification < Notification
|
6
|
-
# @return [Account]
|
7
|
-
has_one :account
|
8
|
-
# @return [CreditPayment]
|
9
|
-
has_one :credit_payment
|
10
|
-
end
|
11
|
-
end
|
12
|
-
end
|
@@ -1,14 +0,0 @@
|
|
1
|
-
module Recurly
|
2
|
-
module Webhook
|
3
|
-
class DunningNotification < Notification
|
4
|
-
# @return [Account]
|
5
|
-
has_one :account
|
6
|
-
# @return [Subscription]
|
7
|
-
has_one :subscription
|
8
|
-
# @return [Invoice]
|
9
|
-
has_one :invoice
|
10
|
-
# @return [Transaction]
|
11
|
-
has_one :transaction
|
12
|
-
end
|
13
|
-
end
|
14
|
-
end
|
@@ -1,12 +0,0 @@
|
|
1
|
-
module Recurly
|
2
|
-
module Webhook
|
3
|
-
# The InvoiceNotification class provides a generic interface
|
4
|
-
# for account-related webhook notifications.
|
5
|
-
class InvoiceNotification < Notification
|
6
|
-
# @return [Account]
|
7
|
-
has_one :account
|
8
|
-
# @return [Invoice]
|
9
|
-
has_one :invoice
|
10
|
-
end
|
11
|
-
end
|
12
|
-
end
|
@@ -1,18 +0,0 @@
|
|
1
|
-
module Recurly
|
2
|
-
module Webhook
|
3
|
-
# The Notification class provides a generic interface
|
4
|
-
# for account-related webhook notifications.
|
5
|
-
class Notification < Resource
|
6
|
-
# Provides a convenience method to reload assocated members because Webhook
|
7
|
-
# notifications are not to be considered current.
|
8
|
-
def self.has_one member_name, options = {}
|
9
|
-
define_method("#{member_name}!") do
|
10
|
-
member = self[member_name]
|
11
|
-
member.reload if member
|
12
|
-
end
|
13
|
-
|
14
|
-
super
|
15
|
-
end
|
16
|
-
end
|
17
|
-
end
|
18
|
-
end
|
@@ -1,12 +0,0 @@
|
|
1
|
-
module Recurly
|
2
|
-
module Webhook
|
3
|
-
# The SubscriptionNotification class provides a generic interface
|
4
|
-
# for account-related webhook notifications.
|
5
|
-
class SubscriptionNotification < Notification
|
6
|
-
# @return [Account]
|
7
|
-
has_one :account
|
8
|
-
# @return [Subscription]
|
9
|
-
has_one :subscription
|
10
|
-
end
|
11
|
-
end
|
12
|
-
end
|