bitly 2.0.1 → 2.1.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 +4 -4
- data/.github/FUNDING.yml +1 -0
- data/.github/workflows/sonarcloud.yml +34 -0
- data/.github/workflows/tests.yml +22 -0
- data/History.txt +10 -0
- data/README.md +1 -1
- data/bitly.gemspec +3 -2
- data/lib/bitly/api/bitlink/clicks_summary.rb +2 -0
- data/lib/bitly/api/bitlink/link_click.rb +3 -1
- data/lib/bitly/api/bitlink/utils.rb +13 -0
- data/lib/bitly/api/bitlink.rb +4 -0
- data/lib/bitly/api/click_metric.rb +6 -1
- data/lib/bitly/version.rb +1 -1
- data/sonar-project.properties +6 -0
- metadata +33 -15
- data/.travis.yml +0 -22
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e0a2dd617bd9c23263a1db205f8ea95359c34273df7eecc5ca9565536a03c802
|
4
|
+
data.tar.gz: 4f0dac7f35a238a61b9ec36390df824170b576f15e8f111203bf83a8f600993d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: cc10e4a46caeb7155292380f8c61feec74cf19ce9da36ee49c9b7dbff763b5c4703b58c9e2ded557cfb6426fa7f68532914a49350bc9f5e4f8c25a57ff7d3e82
|
7
|
+
data.tar.gz: 1935c386fc1d489a532de2459222f9a069a3a6f0a258d58178c16694e131d8be246226464fe1f2f83a40db1c333c0422d1c60905c0ec1dfb23492ae927db2c93
|
data/.github/FUNDING.yml
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
github: philnash
|
@@ -0,0 +1,34 @@
|
|
1
|
+
on:
|
2
|
+
push:
|
3
|
+
branches:
|
4
|
+
- main
|
5
|
+
pull_request:
|
6
|
+
types: [opened, synchronize, reopened]
|
7
|
+
name: SonarCloud Analysis
|
8
|
+
jobs:
|
9
|
+
sonarcloud:
|
10
|
+
runs-on: ubuntu-latest
|
11
|
+
steps:
|
12
|
+
- uses: actions/checkout@v2
|
13
|
+
with:
|
14
|
+
# Disabling shallow clone is recommended for improving relevancy of reporting
|
15
|
+
fetch-depth: 0
|
16
|
+
- name: Set up Ruby ${{ matrix.ruby }}
|
17
|
+
uses: ruby/setup-ruby@v1
|
18
|
+
with:
|
19
|
+
ruby-version: "3.1"
|
20
|
+
- name: "Install dependencies"
|
21
|
+
run: bundle install
|
22
|
+
- name: Run tests for coverage
|
23
|
+
run: bundle exec rspec
|
24
|
+
env:
|
25
|
+
COVERAGE: json
|
26
|
+
- name: fix code coverage paths
|
27
|
+
working-directory: ./coverage
|
28
|
+
run: |
|
29
|
+
sed -i 's@'$GITHUB_WORKSPACE'@/github/workspace/@g' coverage.json
|
30
|
+
- name: SonarCloud Scan
|
31
|
+
uses: sonarsource/sonarcloud-github-action@master
|
32
|
+
env:
|
33
|
+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
34
|
+
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
|
@@ -0,0 +1,22 @@
|
|
1
|
+
name: tests
|
2
|
+
|
3
|
+
on: [push, pull_request]
|
4
|
+
|
5
|
+
jobs:
|
6
|
+
test:
|
7
|
+
runs-on: ubuntu-latest
|
8
|
+
strategy:
|
9
|
+
fail-fast: false
|
10
|
+
matrix:
|
11
|
+
ruby: [2.5, 2.6, 2.7, "3.0", 3.1, head]
|
12
|
+
continue-on-error: ${{ endsWith(matrix.ruby, 'head') }}
|
13
|
+
steps:
|
14
|
+
- uses: actions/checkout@v2
|
15
|
+
- name: Set up Ruby ${{ matrix.ruby }}
|
16
|
+
uses: ruby/setup-ruby@v1
|
17
|
+
with:
|
18
|
+
ruby-version: ${{ matrix.ruby }}
|
19
|
+
- name: "Install dependencies"
|
20
|
+
run: bundle install
|
21
|
+
- name: Run tests
|
22
|
+
run: bundle exec rspec
|
data/History.txt
CHANGED
@@ -2,6 +2,16 @@
|
|
2
2
|
|
3
3
|
...
|
4
4
|
|
5
|
+
=== 2.1.0 / 2022-10-21
|
6
|
+
|
7
|
+
* Strips protocol from the start of a bitlink when fetching/expanding (fixes #80)
|
8
|
+
* Adds SonarCloud quality check GitHub Action
|
9
|
+
* Uses verifying doubles in tests over generic doubles
|
10
|
+
|
11
|
+
=== 2.0.2 / 2022-10-18
|
12
|
+
|
13
|
+
* Allows oauth2 gem version 2
|
14
|
+
|
5
15
|
=== 2.0.1 / 2020-06-18
|
6
16
|
|
7
17
|
* Fixes sending parameters in ClicksSummary (thanks @CodingFu)
|
data/README.md
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
A Ruby gem for using the version 4 [Bitly API](https://dev.bitly.com/) to shorten links, expand short links and view metrics across users, links and organizations.
|
4
4
|
|
5
|
-
[](https://rubygems.org/gems/bitly)  [](https://codeclimate.com/github/philnash/bitly/maintainability) [](https://sonarcloud.io/summary/new_code?id=philnash_bitly) [](https://inch-ci.org/github/philnash/bitly)
|
6
6
|
|
7
7
|
* [Installation](#installation)
|
8
8
|
* [Usage](#usage)
|
data/bitly.gemspec
CHANGED
@@ -30,12 +30,13 @@ Gem::Specification.new do |spec|
|
|
30
30
|
|
31
31
|
spec.required_ruby_version = ">= 2.3.0"
|
32
32
|
|
33
|
-
spec.add_runtime_dependency "oauth2", "< 2.
|
33
|
+
spec.add_runtime_dependency "oauth2", "< 2.1", ">= 0.5.0"
|
34
34
|
|
35
35
|
spec.add_development_dependency "bundler", "~> 2.0"
|
36
36
|
spec.add_development_dependency "rake", "~> 13.0"
|
37
37
|
spec.add_development_dependency "rspec", "~> 3.0"
|
38
|
-
spec.add_development_dependency "simplecov", "~> 0.
|
38
|
+
spec.add_development_dependency "simplecov", "~> 0.21"
|
39
|
+
spec.add_development_dependency "simplecov_json_formatter", "~> 0.1"
|
39
40
|
spec.add_development_dependency "webmock", "~> 3.7.6"
|
40
41
|
spec.add_development_dependency "vcr"
|
41
42
|
spec.add_development_dependency "envyable"
|
@@ -1,5 +1,6 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
require_relative "../base"
|
3
|
+
require_relative "./utils"
|
3
4
|
|
4
5
|
module Bitly
|
5
6
|
module API
|
@@ -8,6 +9,7 @@ module Bitly
|
|
8
9
|
include Base
|
9
10
|
|
10
11
|
def self.fetch(client:, bitlink:, unit: nil, units: nil, unit_reference: nil, size: nil)
|
12
|
+
bitlink = Utils.normalise_bitlink(bitlink: bitlink)
|
11
13
|
response = client.request(
|
12
14
|
path: "/bitlinks/#{bitlink}/clicks/summary",
|
13
15
|
params: {
|
@@ -1,7 +1,8 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
require "time"
|
3
3
|
require_relative "../base"
|
4
|
-
require_relative
|
4
|
+
require_relative "../list"
|
5
|
+
require_relative "./utils"
|
5
6
|
|
6
7
|
module Bitly
|
7
8
|
module API
|
@@ -38,6 +39,7 @@ module Bitly
|
|
38
39
|
#
|
39
40
|
# @return [Bitly::API::Bitlink::LinkClick::List]
|
40
41
|
def self.list(client:, bitlink:, unit: nil, units: nil, size: nil, unit_reference: nil)
|
42
|
+
bitlink = Utils.normalise_bitlink(bitlink: bitlink)
|
41
43
|
response = client.request(
|
42
44
|
path: "/bitlinks/#{bitlink}/clicks",
|
43
45
|
params: {
|
data/lib/bitly/api/bitlink.rb
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
require_relative "./base"
|
3
3
|
require_relative "./list"
|
4
|
+
require_relative "./bitlink/utils"
|
4
5
|
|
5
6
|
module Bitly
|
6
7
|
module API
|
@@ -90,6 +91,7 @@ module Bitly
|
|
90
91
|
#
|
91
92
|
# @return [Bitly::API::Bitlink]
|
92
93
|
def self.fetch(client:, bitlink:)
|
94
|
+
bitlink = Utils.normalise_bitlink(bitlink: bitlink)
|
93
95
|
response = client.request(path: "/bitlinks/#{bitlink}")
|
94
96
|
new(data: response.body, client: client, response: response)
|
95
97
|
end
|
@@ -106,6 +108,7 @@ module Bitly
|
|
106
108
|
#
|
107
109
|
# @return [Bitly::API::Bitlink]
|
108
110
|
def self.expand(client:, bitlink:)
|
111
|
+
bitlink = Utils.normalise_bitlink(bitlink: bitlink)
|
109
112
|
response = client.request(path: "/expand", method: "POST", params: { "bitlink_id" => bitlink })
|
110
113
|
new(data: response.body, client: client, response: response)
|
111
114
|
end
|
@@ -241,6 +244,7 @@ module Bitly
|
|
241
244
|
|
242
245
|
def initialize(data:, client:, response: nil, clicks: nil)
|
243
246
|
assign_attributes(data)
|
247
|
+
@id = Utils.normalise_bitlink(bitlink: @id)
|
244
248
|
if data["deeplinks"]
|
245
249
|
@deeplinks = data["deeplinks"].map { |data| Deeplink.new(data: data) }
|
246
250
|
else
|
@@ -1,7 +1,8 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
require "time"
|
3
3
|
require_relative "./base"
|
4
|
-
require_relative
|
4
|
+
require_relative "./list"
|
5
|
+
require_relative "./bitlink/utils"
|
5
6
|
|
6
7
|
module Bitly
|
7
8
|
module API
|
@@ -88,6 +89,7 @@ module Bitly
|
|
88
89
|
end
|
89
90
|
|
90
91
|
def self.list_referrers(client:, bitlink:, unit: nil, units: nil, size: nil, unit_reference: nil)
|
92
|
+
bitlink = Bitlink::Utils.normalise_bitlink(bitlink: bitlink)
|
91
93
|
list_metrics(
|
92
94
|
client: client,
|
93
95
|
path: "/bitlinks/#{bitlink}/referrers",
|
@@ -99,6 +101,7 @@ module Bitly
|
|
99
101
|
end
|
100
102
|
|
101
103
|
def self.list_countries_by_bitlink(client:, bitlink:, unit: nil, units: nil, size: nil, unit_reference: nil)
|
104
|
+
bitlink = Bitlink::Utils.normalise_bitlink(bitlink: bitlink)
|
102
105
|
list_metrics(
|
103
106
|
client: client,
|
104
107
|
path: "/bitlinks/#{bitlink}/countries",
|
@@ -110,6 +113,7 @@ module Bitly
|
|
110
113
|
end
|
111
114
|
|
112
115
|
def self.list_referring_domains(client:, bitlink:, unit: nil, units: nil, size: nil, unit_reference: nil)
|
116
|
+
bitlink = Bitlink::Utils.normalise_bitlink(bitlink: bitlink)
|
113
117
|
list_metrics(
|
114
118
|
client: client,
|
115
119
|
path: "/bitlinks/#{bitlink}/referring_domains",
|
@@ -121,6 +125,7 @@ module Bitly
|
|
121
125
|
end
|
122
126
|
|
123
127
|
def self.list_referrers_by_domain(client:, bitlink:, unit: nil, units: nil, size: nil, unit_reference: nil)
|
128
|
+
bitlink = Bitlink::Utils.normalise_bitlink(bitlink: bitlink)
|
124
129
|
response = client.request(
|
125
130
|
path: "/bitlinks/#{bitlink}/referrers_by_domains",
|
126
131
|
params: {
|
data/lib/bitly/version.rb
CHANGED
metadata
CHANGED
@@ -1,35 +1,35 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bitly
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0
|
4
|
+
version: 2.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Phil Nash
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2022-10-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: oauth2
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
+
- - "<"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '2.1'
|
17
20
|
- - ">="
|
18
21
|
- !ruby/object:Gem::Version
|
19
22
|
version: 0.5.0
|
20
|
-
- - "<"
|
21
|
-
- !ruby/object:Gem::Version
|
22
|
-
version: '2.0'
|
23
23
|
type: :runtime
|
24
24
|
prerelease: false
|
25
25
|
version_requirements: !ruby/object:Gem::Requirement
|
26
26
|
requirements:
|
27
|
+
- - "<"
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '2.1'
|
27
30
|
- - ">="
|
28
31
|
- !ruby/object:Gem::Version
|
29
32
|
version: 0.5.0
|
30
|
-
- - "<"
|
31
|
-
- !ruby/object:Gem::Version
|
32
|
-
version: '2.0'
|
33
33
|
- !ruby/object:Gem::Dependency
|
34
34
|
name: bundler
|
35
35
|
requirement: !ruby/object:Gem::Requirement
|
@@ -78,14 +78,28 @@ dependencies:
|
|
78
78
|
requirements:
|
79
79
|
- - "~>"
|
80
80
|
- !ruby/object:Gem::Version
|
81
|
-
version: 0.
|
81
|
+
version: '0.21'
|
82
|
+
type: :development
|
83
|
+
prerelease: false
|
84
|
+
version_requirements: !ruby/object:Gem::Requirement
|
85
|
+
requirements:
|
86
|
+
- - "~>"
|
87
|
+
- !ruby/object:Gem::Version
|
88
|
+
version: '0.21'
|
89
|
+
- !ruby/object:Gem::Dependency
|
90
|
+
name: simplecov_json_formatter
|
91
|
+
requirement: !ruby/object:Gem::Requirement
|
92
|
+
requirements:
|
93
|
+
- - "~>"
|
94
|
+
- !ruby/object:Gem::Version
|
95
|
+
version: '0.1'
|
82
96
|
type: :development
|
83
97
|
prerelease: false
|
84
98
|
version_requirements: !ruby/object:Gem::Requirement
|
85
99
|
requirements:
|
86
100
|
- - "~>"
|
87
101
|
- !ruby/object:Gem::Version
|
88
|
-
version: 0.
|
102
|
+
version: '0.1'
|
89
103
|
- !ruby/object:Gem::Dependency
|
90
104
|
name: webmock
|
91
105
|
requirement: !ruby/object:Gem::Requirement
|
@@ -136,9 +150,11 @@ executables: []
|
|
136
150
|
extensions: []
|
137
151
|
extra_rdoc_files: []
|
138
152
|
files:
|
153
|
+
- ".github/FUNDING.yml"
|
154
|
+
- ".github/workflows/sonarcloud.yml"
|
155
|
+
- ".github/workflows/tests.yml"
|
139
156
|
- ".gitignore"
|
140
157
|
- ".rspec"
|
141
|
-
- ".travis.yml"
|
142
158
|
- CODE_OF_CONDUCT.md
|
143
159
|
- Gemfile
|
144
160
|
- History.txt
|
@@ -155,6 +171,7 @@ files:
|
|
155
171
|
- lib/bitly/api/bitlink/deeplink.rb
|
156
172
|
- lib/bitly/api/bitlink/link_click.rb
|
157
173
|
- lib/bitly/api/bitlink/paginated_list.rb
|
174
|
+
- lib/bitly/api/bitlink/utils.rb
|
158
175
|
- lib/bitly/api/bsd.rb
|
159
176
|
- lib/bitly/api/click_metric.rb
|
160
177
|
- lib/bitly/api/client.rb
|
@@ -174,6 +191,7 @@ files:
|
|
174
191
|
- lib/bitly/http/response.rb
|
175
192
|
- lib/bitly/oauth.rb
|
176
193
|
- lib/bitly/version.rb
|
194
|
+
- sonar-project.properties
|
177
195
|
homepage: https://github.com/philnash/bitly
|
178
196
|
licenses:
|
179
197
|
- MIT
|
@@ -183,7 +201,7 @@ metadata:
|
|
183
201
|
documentation_uri: https://www.rubydoc.info/gems/bitly/
|
184
202
|
homepage_uri: https://github.com/philnash/bitly
|
185
203
|
source_code_uri: https://github.com/philnash/bitly
|
186
|
-
post_install_message:
|
204
|
+
post_install_message:
|
187
205
|
rdoc_options: []
|
188
206
|
require_paths:
|
189
207
|
- lib
|
@@ -198,8 +216,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
198
216
|
- !ruby/object:Gem::Version
|
199
217
|
version: '0'
|
200
218
|
requirements: []
|
201
|
-
rubygems_version: 3.
|
202
|
-
signing_key:
|
219
|
+
rubygems_version: 3.3.3
|
220
|
+
signing_key:
|
203
221
|
specification_version: 4
|
204
222
|
summary: Use the Bitly API to shorten or expand URLs
|
205
223
|
test_files: []
|
data/.travis.yml
DELETED
@@ -1,22 +0,0 @@
|
|
1
|
-
language: ruby
|
2
|
-
sudo: required
|
3
|
-
dist: trusty
|
4
|
-
before_install:
|
5
|
-
- gem update --system
|
6
|
-
- gem install bundler
|
7
|
-
rvm:
|
8
|
-
- 2.7
|
9
|
-
- 2.6
|
10
|
-
- 2.5
|
11
|
-
- 2.4
|
12
|
-
- 2.3
|
13
|
-
- ruby-head
|
14
|
-
- jruby-19mode
|
15
|
-
- jruby-head
|
16
|
-
- rbx-3
|
17
|
-
matrix:
|
18
|
-
allow_failures:
|
19
|
-
- rvm: ruby-head
|
20
|
-
- rvm: jruby-19mode
|
21
|
-
- rvm: jruby-head
|
22
|
-
- rvm: rbx-3
|