minfraud 1.0.4 → 2.4.0
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 +5 -5
- data/.github/dependabot.yml +11 -0
- data/.github/workflows/release.yml +28 -0
- data/.github/workflows/rubocop.yml +18 -0
- data/.github/workflows/test.yml +36 -0
- data/.gitignore +2 -0
- data/.rubocop.yml +90 -0
- data/CHANGELOG.md +197 -4
- data/CODE_OF_CONDUCT.md +4 -4
- data/Gemfile +2 -2
- data/LICENSE.txt +2 -1
- data/README.dev.md +4 -0
- data/README.md +255 -58
- data/Rakefile +9 -3
- data/bin/console +4 -3
- data/dev-bin/release.sh +59 -0
- data/lib/minfraud/assessments.rb +127 -53
- data/lib/minfraud/components/account.rb +31 -9
- data/lib/minfraud/components/addressable.rb +73 -26
- data/lib/minfraud/components/base.rb +26 -14
- data/lib/minfraud/components/billing.rb +5 -0
- data/lib/minfraud/components/credit_card.rb +117 -29
- data/lib/minfraud/components/custom_inputs.rb +25 -0
- data/lib/minfraud/components/device.rb +51 -10
- data/lib/minfraud/components/email.rb +120 -9
- data/lib/minfraud/components/event.rb +60 -13
- data/lib/minfraud/components/order.rb +59 -22
- data/lib/minfraud/components/payment.rb +192 -22
- data/lib/minfraud/components/report/transaction.rb +80 -0
- data/lib/minfraud/components/shipping.rb +15 -6
- data/lib/minfraud/components/shopping_cart.rb +19 -12
- data/lib/minfraud/components/shopping_cart_item.rb +42 -13
- data/lib/minfraud/enum.rb +22 -8
- data/lib/minfraud/error_handler.rb +45 -18
- data/lib/minfraud/errors.rb +22 -2
- data/lib/minfraud/http_service/response.rb +61 -17
- data/lib/minfraud/model/abstract.rb +20 -0
- data/lib/minfraud/model/address.rb +52 -0
- data/lib/minfraud/model/billing_address.rb +11 -0
- data/lib/minfraud/model/credit_card.rb +75 -0
- data/lib/minfraud/model/device.rb +51 -0
- data/lib/minfraud/model/disposition.rb +42 -0
- data/lib/minfraud/model/email.rb +54 -0
- data/lib/minfraud/model/email_domain.rb +24 -0
- data/lib/minfraud/model/error.rb +28 -0
- data/lib/minfraud/model/factors.rb +24 -0
- data/lib/minfraud/model/geoip2_location.rb +25 -0
- data/lib/minfraud/model/insights.rb +68 -0
- data/lib/minfraud/model/ip_address.rb +58 -0
- data/lib/minfraud/model/ip_risk_reason.rb +48 -0
- data/lib/minfraud/model/issuer.rb +49 -0
- data/lib/minfraud/model/score.rb +76 -0
- data/lib/minfraud/model/score_ip_address.rb +23 -0
- data/lib/minfraud/model/shipping_address.rb +30 -0
- data/lib/minfraud/model/subscores.rb +156 -0
- data/lib/minfraud/model/warning.rb +63 -0
- data/lib/minfraud/report.rb +66 -0
- data/lib/minfraud/resolver.rb +25 -16
- data/lib/minfraud/validates.rb +187 -0
- data/lib/minfraud/version.rb +4 -1
- data/lib/minfraud.rb +55 -16
- data/minfraud.gemspec +27 -18
- metadata +107 -36
- data/.travis.yml +0 -5
- data/lib/minfraud/http_service/request.rb +0 -37
- data/lib/minfraud/http_service.rb +0 -31
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 14d6fda0782c4f12ecd3599b4d6f3887be93845fca267490bbc64ad6bf5e3518
|
4
|
+
data.tar.gz: 0dbcb74c203b066c41ad1d85b25e236a63c9e2904a87064bece9ce69a60eecc6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 74a6d172a649d417c89ca8a22a454407e54d70a19cea0583594165a2de23ac9df889478675fadad4becade61a84ac7fb39950ae890cd8d98c80e2dcdb6a2d38d
|
7
|
+
data.tar.gz: 7c9c52f1929869e043878b4f74c40d488fa5a44df587b63362a537b14b8f3602a4c78b51abeb18ab2404bf49ba2662b38919a5470de8270f2b53dc1ea2b80071
|
@@ -0,0 +1,28 @@
|
|
1
|
+
name: Release
|
2
|
+
|
3
|
+
on:
|
4
|
+
workflow_dispatch:
|
5
|
+
pull_request:
|
6
|
+
push:
|
7
|
+
branches:
|
8
|
+
- main
|
9
|
+
release:
|
10
|
+
types:
|
11
|
+
- published
|
12
|
+
|
13
|
+
jobs:
|
14
|
+
push:
|
15
|
+
if: github.event_name == 'release' && github.event.action == 'published'
|
16
|
+
runs-on: ubuntu-latest
|
17
|
+
environment: release
|
18
|
+
permissions:
|
19
|
+
id-token: write
|
20
|
+
steps:
|
21
|
+
- uses: actions/checkout@v4
|
22
|
+
- name: Set up Ruby
|
23
|
+
uses: ruby/setup-ruby@v1
|
24
|
+
with:
|
25
|
+
bundler-cache: true
|
26
|
+
ruby-version: ruby
|
27
|
+
|
28
|
+
- uses: rubygems/release-gem@v1
|
@@ -0,0 +1,18 @@
|
|
1
|
+
name: Run rubocop
|
2
|
+
|
3
|
+
on:
|
4
|
+
push:
|
5
|
+
pull_request:
|
6
|
+
schedule:
|
7
|
+
- cron: '4 0 * * SUN'
|
8
|
+
|
9
|
+
jobs:
|
10
|
+
rubocop:
|
11
|
+
runs-on: ubuntu-latest
|
12
|
+
steps:
|
13
|
+
- uses: actions/checkout@v4
|
14
|
+
- uses: ruby/setup-ruby@v1
|
15
|
+
with:
|
16
|
+
ruby-version: 3.3
|
17
|
+
- run: bundle install
|
18
|
+
- run: bundle exec rake -t rubocop
|
@@ -0,0 +1,36 @@
|
|
1
|
+
name: Run tests
|
2
|
+
|
3
|
+
on:
|
4
|
+
push:
|
5
|
+
pull_request:
|
6
|
+
schedule:
|
7
|
+
- cron: '4 1 * * SUN'
|
8
|
+
|
9
|
+
jobs:
|
10
|
+
test:
|
11
|
+
runs-on: ${{ matrix.os }}
|
12
|
+
strategy:
|
13
|
+
fail-fast: false
|
14
|
+
matrix:
|
15
|
+
os: [ubuntu-latest, windows-latest, macos-latest]
|
16
|
+
version:
|
17
|
+
[
|
18
|
+
2.7,
|
19
|
+
'3.0',
|
20
|
+
3.1,
|
21
|
+
3.2,
|
22
|
+
3.3,
|
23
|
+
jruby,
|
24
|
+
]
|
25
|
+
exclude:
|
26
|
+
- os: windows-latest
|
27
|
+
version: jruby
|
28
|
+
steps:
|
29
|
+
- uses: actions/checkout@v4
|
30
|
+
with:
|
31
|
+
submodules: true
|
32
|
+
- uses: ruby/setup-ruby@v1
|
33
|
+
with:
|
34
|
+
ruby-version: ${{ matrix.version }}
|
35
|
+
- run: bundle install
|
36
|
+
- run: bundle exec rake -t spec
|
data/.gitignore
CHANGED
data/.rubocop.yml
ADDED
@@ -0,0 +1,90 @@
|
|
1
|
+
AllCops:
|
2
|
+
TargetRubyVersion: 2.7
|
3
|
+
NewCops: enable
|
4
|
+
|
5
|
+
# Metrics.
|
6
|
+
|
7
|
+
Metrics/BlockLength:
|
8
|
+
Enabled: false # Default is true, but mostly hit in tests.
|
9
|
+
|
10
|
+
Metrics/AbcSize:
|
11
|
+
Enabled: false # To allow for pre-existing code.
|
12
|
+
|
13
|
+
Metrics/ClassLength:
|
14
|
+
Enabled: false # To allow for pre-existing code.
|
15
|
+
|
16
|
+
Metrics/CyclomaticComplexity:
|
17
|
+
Enabled: false # To allow for pre-existing code.
|
18
|
+
|
19
|
+
Metrics/MethodLength:
|
20
|
+
Enabled: false # To allow for pre-existing code.
|
21
|
+
|
22
|
+
Metrics/PerceivedComplexity:
|
23
|
+
Enabled: false # To allow for pre-existing code.
|
24
|
+
|
25
|
+
# Layout.
|
26
|
+
|
27
|
+
Layout/LineLength:
|
28
|
+
Max: 150 # Default is 120.
|
29
|
+
|
30
|
+
Layout/HashAlignment:
|
31
|
+
EnforcedHashRocketStyle: table # Default is key.
|
32
|
+
EnforcedColonStyle: table # Default is key.
|
33
|
+
|
34
|
+
Layout/ExtraSpacing:
|
35
|
+
ForceEqualSignAlignment: true # Default is false.
|
36
|
+
|
37
|
+
Layout/IndentationStyle:
|
38
|
+
IndentationWidth: 2 # Default is <none>.
|
39
|
+
|
40
|
+
# Style.
|
41
|
+
|
42
|
+
Style/HashSyntax:
|
43
|
+
EnforcedStyle: ruby19_no_mixed_keys # Default is ruby19. This one is better.
|
44
|
+
|
45
|
+
Style/CollectionMethods:
|
46
|
+
Enabled: true # Default is false.
|
47
|
+
|
48
|
+
Style/NumericLiterals:
|
49
|
+
MinDigits: 4 # Default is 5.
|
50
|
+
|
51
|
+
Style/NegatedIf: # I disagree with this.
|
52
|
+
Enabled: false
|
53
|
+
|
54
|
+
Style/IfUnlessModifier: # This doesn't always make sense.
|
55
|
+
Enabled: false
|
56
|
+
|
57
|
+
# Trailing commas are often good.
|
58
|
+
Style/TrailingCommaInArguments:
|
59
|
+
Enabled: false
|
60
|
+
Style/TrailingCommaInArrayLiteral:
|
61
|
+
Enabled: false
|
62
|
+
Style/TrailingCommaInHashLiteral:
|
63
|
+
Enabled: false
|
64
|
+
|
65
|
+
# Default is both which is probably fine, but it changes code and I don't want
|
66
|
+
# to investigate any possible behavior change right now.
|
67
|
+
Style/EmptyElse:
|
68
|
+
EnforcedStyle: empty
|
69
|
+
|
70
|
+
Style/ConditionalAssignment:
|
71
|
+
Enabled: false # This produces kind of strange results.
|
72
|
+
|
73
|
+
Style/GuardClause:
|
74
|
+
Enabled: false # Doesn't always make sense.
|
75
|
+
|
76
|
+
Style/FormatStringToken:
|
77
|
+
Enabled: false # Seems unnecessary.
|
78
|
+
|
79
|
+
# Seems unnecessary. Asks us to call super in a bunch of places when there's no
|
80
|
+
# need.
|
81
|
+
Lint/MissingSuper:
|
82
|
+
Enabled: false
|
83
|
+
|
84
|
+
# Naming.
|
85
|
+
|
86
|
+
Naming/VariableNumber:
|
87
|
+
Enabled: false # Doesn't always make sense.
|
88
|
+
|
89
|
+
Gemspec/DevelopmentDependencies:
|
90
|
+
Enabled: false
|
data/CHANGELOG.md
CHANGED
@@ -1,14 +1,207 @@
|
|
1
|
-
#
|
1
|
+
# Changelog
|
2
2
|
|
3
|
-
##
|
3
|
+
## v2.4.0 (2024-01-12)
|
4
|
+
|
5
|
+
* Ruby 2.7+ is now required. If you're using Ruby 2.5 or 2.6, please use
|
6
|
+
version 2.3.0 of this gem.
|
7
|
+
* Added the processors `:pxp_financial` and `:trustpay` to
|
8
|
+
`Minfraud::Components::Payment`.
|
9
|
+
|
10
|
+
## v2.3.0 (2023-12-04)
|
11
|
+
|
12
|
+
* Added the processor `:shopify_payments` to `Minfraud::Components::Payment`.
|
13
|
+
* Added the processor `:google_pay` to `Minfraud::Components::Payment`.
|
14
|
+
* Added the processor `:placetopay` to `Minfraud::Components::Payment`.
|
15
|
+
* In addition to the minfraud gem version, the User-Agent now includes the
|
16
|
+
version of Ruby and the version of the HTTP client in all HTTP requests.
|
17
|
+
* Updated `maxmind-geoip2` to version that includes the `anycast?` method
|
18
|
+
on `MaxMind::GeoIP2::Record::Traits`. This returns `true` if the IP
|
19
|
+
address belongs to an [anycast
|
20
|
+
network](https://en.wikipedia.org/wiki/Anycast). This is available in
|
21
|
+
minFraud Insights and Factors.
|
22
|
+
|
23
|
+
## v2.2.0 (2022-03-28)
|
24
|
+
|
25
|
+
* Added the input `/credit_card/country`. This is the country where the
|
26
|
+
issuer of the card is located. This may be passed instead of the
|
27
|
+
`/credit_card/issuer_id_number` if you do not wish to pass partial
|
28
|
+
account numbers or if your payment processor does not provide them. You
|
29
|
+
may provide this using the `country` attribute on
|
30
|
+
`Minfraud::Components::CreditCard`.
|
31
|
+
|
32
|
+
## v2.1.0 (2022-01-25)
|
33
|
+
|
34
|
+
* Adds the following new processor to `Minfraud::Components::Payment`:
|
35
|
+
* `:windcave`
|
36
|
+
* The `last_4_digits` input to `Minfraud::Components::CreditCard` has been
|
37
|
+
deprecated in favor of `last_digits` and will be removed in a future
|
38
|
+
release. `last_digits`/`last_4_digits` also now supports two digit values
|
39
|
+
in addition to the previous four digit values.
|
40
|
+
* Eight digit `issuer_id_number` inputs are now supported by
|
41
|
+
`Minfraud::Components::CreditCard` in addition to the previously accepted
|
42
|
+
six digit `issuer_id_number`. In most cases, you should send the last four
|
43
|
+
digits for `last_digits`. If you send an `issuer_id_number` that contains
|
44
|
+
an eight digit IIN, and if the credit card brand is not one of the
|
45
|
+
following, you should send the last two digits for `last_digits`:
|
46
|
+
* `Discover`
|
47
|
+
* `JCB`
|
48
|
+
* `Mastercard`
|
49
|
+
* `UnionPay`
|
50
|
+
* `Visa`
|
51
|
+
|
52
|
+
## v2.0.0 (2021-12-06)
|
53
|
+
|
54
|
+
* Breaking change from 1.x: Removed deprecated methods
|
55
|
+
`is_in_european_union`, `is_anonymous`, `is_anonymous_vpn`,
|
56
|
+
`is_hosting_provider`, `is_public_proxy`, and `is_tor_exit_node`. The
|
57
|
+
non-deprecated equivalents are `in_european_union?`, `anonymous?`,
|
58
|
+
`anonymous_vpn?`, `hosting_provider?`, `public_proxy?`, and
|
59
|
+
`tor_exit_node?`.
|
60
|
+
* Breaking change from 1.x: Removed deprecated methods for deprecated
|
61
|
+
subscores: `email_tenure` and `ip_tenure`. For `email_tenure`, please use
|
62
|
+
the `email_address` subscore instead. For `ip_tenure`, please use
|
63
|
+
`risk_score` instead.
|
64
|
+
* Breaking change from 1.x: Removed deprecated method for deprecated
|
65
|
+
attribute `ip_address.country.is_high_risk`.
|
66
|
+
* Breaking change from 1.x: Switches HTTP client from faraday to http.rb.
|
67
|
+
There should be no behavior change for most users, but this is
|
68
|
+
technically a breaking change from the perspective of semver. Most users
|
69
|
+
should not be affected as the changes are limited to attributes and
|
70
|
+
classes that would not normally be accessed outside the gem.
|
71
|
+
* Breaking change from 1.x: `user_id` is no longer supported as a way to
|
72
|
+
configure your MaxMind account ID. Use `account_id` instead.
|
73
|
+
* Breaking change from 1.x: Removed the `Minfraud.configuration` method.
|
74
|
+
* Breaking change from 1.x: Localized names are no longer exposed via
|
75
|
+
methods on `names` objects, only as hash keys. For example, use
|
76
|
+
`response.ip_address.country.names['en']` instead of
|
77
|
+
`response.ip_address.country.names.en`. The latter was deprecated.
|
78
|
+
* Adds mobile country code (MCC) and mobile network code (MNC) to minFraud
|
79
|
+
Insights and Factors responses. These are available at
|
80
|
+
`response.ip_address.traits.mobile_country_code` and
|
81
|
+
`response.ip_address.traits.mobile_network_code`. We expect this data to
|
82
|
+
be available by late January, 2022.
|
83
|
+
* Adds the following new processors to `Minfraud::Components::Payment`:
|
84
|
+
* `:boacompra`
|
85
|
+
* `:boku`
|
86
|
+
* `:coregateway`
|
87
|
+
* `:fiserv`
|
88
|
+
* `:neopay`
|
89
|
+
* `:neosurf`
|
90
|
+
* `:openbucks`
|
91
|
+
* `:paysera`
|
92
|
+
* `:payvision`
|
93
|
+
* `:trustly`
|
94
|
+
* Depend on the `maxmind-geoip2` gem. This allows us to delete classes from
|
95
|
+
that gem that we previously had included in this gem. There is no
|
96
|
+
functional difference.
|
97
|
+
|
98
|
+
## v1.6.0 (2021-08-19)
|
99
|
+
|
100
|
+
* Adds new processor to `Minfraud::Components::Payment`: `:cardknox`,
|
101
|
+
`:creditguard`, `:credorax`, `:datacap`, `:dlocal`, `:onpay`, and
|
102
|
+
`:safecharge`.
|
103
|
+
* Adds `rule_label` to minFraud output `/disposition`.
|
104
|
+
* Adds support for the `/credit_card/was_3d_secure_successful` input. This is
|
105
|
+
available by setting the `was_3d_secure_successful` attribute on
|
106
|
+
`Minfraud::Components::CreditCard`.
|
107
|
+
* Ruby 2.5+ is now required. If you're using Ruby 2.1, 2.2, 2.3, or 2.4,
|
108
|
+
please use version 1.5.0 of this gem.
|
109
|
+
|
110
|
+
## v1.5.0 (2021-02-02)
|
111
|
+
|
112
|
+
* Adds the `hash_address` attribute to `Minfraud::Components::Email`. If
|
113
|
+
this is `true`, the MD5 hash of the `address` will be sent instead of the
|
114
|
+
plain text `address`. Use this if you prefer to send the hash of the
|
115
|
+
`address` rather than the plain text. Note that this normalizes the
|
116
|
+
`address`, so we recommend using it as opposed to hashing the `address`
|
117
|
+
manually.
|
118
|
+
* The email `domain` input is now automatically set if the email `address`
|
119
|
+
input is set but the `domain` is not.
|
120
|
+
* Adds new payment processors `:apple_pay` and `:aps_payments` to
|
121
|
+
`Minfraud::Components::Payment`.
|
122
|
+
* Adds support for the IP address risk reasons in the minFraud Insights
|
123
|
+
and Factors responses. This is available at `.ip_address.risk_reasons`.
|
124
|
+
It is an array of `IPRiskReason` objects.
|
125
|
+
|
126
|
+
## v1.4.1 (2020-12-01)
|
127
|
+
|
128
|
+
* Do not throw an exception if the response does not include IP address
|
129
|
+
information. Previously we would incorrectly try to retrieve fields from
|
130
|
+
`nil`, leading to a `NoMethodError`.
|
131
|
+
|
132
|
+
## v1.4.0 (2020-10-13)
|
133
|
+
|
134
|
+
* IMPORTANT: Ruby 2.0 is no longer supported. If you're using Ruby 2.0,
|
135
|
+
please use version 1.3.0.
|
136
|
+
* Adds handling for the `REQUEST_INVALID` error code.
|
137
|
+
* The IP address is no longer a required input.
|
138
|
+
* Adds new payment processor `:tsys` to `Minfraud::Components::Payment`.
|
139
|
+
|
140
|
+
## v1.3.0 (2020-09-25)
|
141
|
+
|
142
|
+
* Adds support for persistent HTTP connections. Connections persist
|
143
|
+
automatically.
|
144
|
+
* IMPORTANT: Ruby 1.9 is no longer supported. If you're using Ruby 1.9,
|
145
|
+
please use version 1.2.0 or older.
|
146
|
+
* Adds support for client side validation of inputs. An `InvalidInputError`
|
147
|
+
exception will be raised if an input is invalid. This can be enabled by
|
148
|
+
setting `enable_validation` to `true` when configuring `Minfraud`. It is
|
149
|
+
disabled by default.
|
150
|
+
* Adds the `residential_proxy?` method to `MaxMind::GeoIP2::Record::Traits`
|
151
|
+
for use with minFraud Insights and Factors.
|
152
|
+
|
153
|
+
## v1.2.0 (2020-07-15)
|
154
|
+
|
155
|
+
* Adds new processor types to `Minfraud::Components::Payment`: `:cashfree`,
|
156
|
+
`:first_atlantic_commerce`, `:komoju`, `:paytm`, `:razorpay`, and
|
157
|
+
`:systempay`.
|
158
|
+
* Adds support for three new Factors outputs: `/subscores/device` (the risk
|
159
|
+
associated with the device), `/subscores/email_local_part` (the risk
|
160
|
+
associated with the part of the email address before the @ symbol) and
|
161
|
+
`/subscores/shipping_address` (the risk associated with the shipping
|
162
|
+
address).
|
163
|
+
* Adds support for providing your MaxMind account ID using the `account_id`
|
164
|
+
attribute instead of the `user_id` attribute. In a future release,
|
165
|
+
support for the `user_id` attribute will be removed.
|
166
|
+
|
167
|
+
## v1.1.0 (2020-06-19)
|
168
|
+
|
169
|
+
* Adds support for the minFraud Report Transaction API. Reporting
|
170
|
+
transactions to MaxMind helps us detect about 10-50% more fraud and
|
171
|
+
reduce false positives for you.
|
172
|
+
* Adds support for the new credit card output `/credit_card/is_business`.
|
173
|
+
This indicates whether the card is a business card. It may be accessed
|
174
|
+
via `response.credit_credit.is_business` on the minFraud Insights and
|
175
|
+
Factors response objects.
|
176
|
+
* Adds support for the new email domain output `/email/domain/first_seen`.
|
177
|
+
This may be accessed via `response.email.domain.first_seen` on the
|
178
|
+
minFraud Insights and Factors response objects.
|
179
|
+
* Rename `ErrorHandler#inspect` to `ErrorHandler#examine` in order not to
|
180
|
+
break LSP.
|
181
|
+
* Adds classes for the Score, Insights, and Factors responses. This allows
|
182
|
+
us to provide API documentation for the various response attributes.
|
183
|
+
* Removes `hashie` as a required dependency.
|
184
|
+
* Adds new processor types to `Minfraud::Components::Payment`: `:affirm`,
|
185
|
+
`:afterpay`, `:cardpay`, `:ccavenue`, `:cetelem`, `:ct_payments`,
|
186
|
+
`:dalenys`, `:datacash`, `:dotpay`, `:ecommpay`, `:epx`, `:g2a_pay`,
|
187
|
+
`:gocardless`, `:interac`, `:klarna`, `:mercanet`, `:oney`, `:payeezy`,
|
188
|
+
`:paylike`, `:payment_express`, `:paysafecard`, `:posconnect`,
|
189
|
+
`:smartdebit`, `:synapsefi`, and others.
|
190
|
+
* Adds support for passing custom inputs to minFraud. GitHub #6.
|
191
|
+
* Adds `:email_change`, `:password_reset`, and `:payout_change` as types to
|
192
|
+
`Minfraud::Components::Event`.
|
193
|
+
* Adds support for the `session_id` and `session_age` inputs.
|
194
|
+
|
195
|
+
## v1.0.4 (2016-12-23)
|
4
196
|
|
5
197
|
* Prevents boolean value conversion to string to avoid warnings
|
6
198
|
* Adds `amount` attribute to the `Minfraud::Components::Order` instances
|
7
199
|
|
8
|
-
## v1.0.3
|
200
|
+
## v1.0.3 (2016-11-24)
|
201
|
+
|
9
202
|
* Adds `token` attribute to the `Minfraud::Components::CreditCard` instances
|
10
203
|
according to the MinFraud Release Notes introduced on November 17, 2016
|
11
204
|
|
12
|
-
## v1.0.2
|
205
|
+
## v1.0.2 (2016-10-11)
|
13
206
|
|
14
207
|
* Adds support for Ruby >= 1.9
|
data/CODE_OF_CONDUCT.md
CHANGED
@@ -35,7 +35,7 @@ This code of conduct applies both within project spaces and in public spaces
|
|
35
35
|
when an individual is representing the project or its community.
|
36
36
|
|
37
37
|
Instances of abusive, harassing, or otherwise unacceptable behavior may be
|
38
|
-
reported by contacting a project maintainer at
|
38
|
+
reported by contacting a project maintainer at support@maxmind.com. All
|
39
39
|
complaints will be reviewed and investigated and will result in a response that
|
40
40
|
is deemed necessary and appropriate to the circumstances. Maintainers are
|
41
41
|
obligated to maintain confidentiality with regard to the reporter of an
|
@@ -43,7 +43,7 @@ incident.
|
|
43
43
|
|
44
44
|
This Code of Conduct is adapted from the [Contributor Covenant][homepage],
|
45
45
|
version 1.3.0, available at
|
46
|
-
[
|
46
|
+
[https://contributor-covenant.org/version/1/3/0/][version]
|
47
47
|
|
48
|
-
[homepage]:
|
49
|
-
[version]:
|
48
|
+
[homepage]: https://contributor-covenant.org
|
49
|
+
[version]: https://contributor-covenant.org/version/1/3/0/
|
data/Gemfile
CHANGED
data/LICENSE.txt
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
The MIT License (MIT)
|
2
2
|
|
3
|
-
Copyright (c) 2016 kushnir.yb
|
3
|
+
Copyright (c) 2016-2020 kushnir.yb
|
4
|
+
Copyright (c) 2020-2024 MaxMind, Inc.
|
4
5
|
|
5
6
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
6
7
|
of this software and associated documentation files (the "Software"), to deal
|
data/README.dev.md
ADDED