bitly 2.0.2 → 2.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/workflows/sonarcloud.yml +34 -0
- data/History.txt +6 -0
- data/README.md +1 -1
- data/bitly.gemspec +2 -1
- 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 +21 -4
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
|
@@ -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 }}
|
data/History.txt
CHANGED
@@ -2,6 +2,12 @@
|
|
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
|
+
|
5
11
|
=== 2.0.2 / 2022-10-18
|
6
12
|
|
7
13
|
* Allows oauth2 gem version 2
|
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
|
-
[![Gem version](https://badge.fury.io/rb/bitly.svg)](https://rubygems.org/gems/bitly) ![Build status](https://github.com/philnash/bitly/workflows/tests/badge.svg) [![Maintainability](https://api.codeclimate.com/v1/badges/f8e078b468c1f2aeca53/maintainability)](https://codeclimate.com/github/philnash/bitly/maintainability) [![Inline docs](https://inch-ci.org/github/philnash/bitly.svg?branch=master)](https://inch-ci.org/github/philnash/bitly)
|
5
|
+
[![Gem version](https://badge.fury.io/rb/bitly.svg)](https://rubygems.org/gems/bitly) ![Build status](https://github.com/philnash/bitly/workflows/tests/badge.svg) [![Maintainability](https://api.codeclimate.com/v1/badges/f8e078b468c1f2aeca53/maintainability)](https://codeclimate.com/github/philnash/bitly/maintainability) [![Maintainability Rating](https://sonarcloud.io/api/project_badges/measure?project=philnash_bitly&metric=sqale_rating)](https://sonarcloud.io/summary/new_code?id=philnash_bitly) [![Inline docs](https://inch-ci.org/github/philnash/bitly.svg?branch=master)](https://inch-ci.org/github/philnash/bitly)
|
6
6
|
|
7
7
|
* [Installation](#installation)
|
8
8
|
* [Usage](#usage)
|
data/bitly.gemspec
CHANGED
@@ -35,7 +35,8 @@ Gem::Specification.new do |spec|
|
|
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,14 +1,14 @@
|
|
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
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-10-
|
11
|
+
date: 2022-10-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: oauth2
|
@@ -78,14 +78,28 @@ dependencies:
|
|
78
78
|
requirements:
|
79
79
|
- - "~>"
|
80
80
|
- !ruby/object:Gem::Version
|
81
|
-
version: 0.
|
81
|
+
version: '0.21'
|
82
82
|
type: :development
|
83
83
|
prerelease: false
|
84
84
|
version_requirements: !ruby/object:Gem::Requirement
|
85
85
|
requirements:
|
86
86
|
- - "~>"
|
87
87
|
- !ruby/object:Gem::Version
|
88
|
-
version: 0.
|
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'
|
96
|
+
type: :development
|
97
|
+
prerelease: false
|
98
|
+
version_requirements: !ruby/object:Gem::Requirement
|
99
|
+
requirements:
|
100
|
+
- - "~>"
|
101
|
+
- !ruby/object:Gem::Version
|
102
|
+
version: '0.1'
|
89
103
|
- !ruby/object:Gem::Dependency
|
90
104
|
name: webmock
|
91
105
|
requirement: !ruby/object:Gem::Requirement
|
@@ -137,6 +151,7 @@ extensions: []
|
|
137
151
|
extra_rdoc_files: []
|
138
152
|
files:
|
139
153
|
- ".github/FUNDING.yml"
|
154
|
+
- ".github/workflows/sonarcloud.yml"
|
140
155
|
- ".github/workflows/tests.yml"
|
141
156
|
- ".gitignore"
|
142
157
|
- ".rspec"
|
@@ -156,6 +171,7 @@ files:
|
|
156
171
|
- lib/bitly/api/bitlink/deeplink.rb
|
157
172
|
- lib/bitly/api/bitlink/link_click.rb
|
158
173
|
- lib/bitly/api/bitlink/paginated_list.rb
|
174
|
+
- lib/bitly/api/bitlink/utils.rb
|
159
175
|
- lib/bitly/api/bsd.rb
|
160
176
|
- lib/bitly/api/click_metric.rb
|
161
177
|
- lib/bitly/api/client.rb
|
@@ -175,6 +191,7 @@ files:
|
|
175
191
|
- lib/bitly/http/response.rb
|
176
192
|
- lib/bitly/oauth.rb
|
177
193
|
- lib/bitly/version.rb
|
194
|
+
- sonar-project.properties
|
178
195
|
homepage: https://github.com/philnash/bitly
|
179
196
|
licenses:
|
180
197
|
- MIT
|