uppityrobot 0.3.1 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 343f05015c34d7aa261f85ff37aa3ec32dce89afc56a8d7c5753ed09899837b2
4
- data.tar.gz: 3b3ae5b2897e25d28743c2b5de6b8dadef72e49072d0d028d6cc10d083c531c6
3
+ metadata.gz: 9397823fd8a288fb052f7a4dcc0278279e16375e9182183298334a6c7228ae77
4
+ data.tar.gz: 819f188c12700edbbfc415619f603b8a1ba73fdbc24e4dc7346aa55a580d501e
5
5
  SHA512:
6
- metadata.gz: 31d7900e684a36840e30ee4d06f3687ed4dc83349ede3e5cf72b906b86208e648c15c258651db84e7b72712806b61721a8ebcbc27a7f61d4d91ab67a62fcdb27
7
- data.tar.gz: fe39c68cf5760d100840864c0e6d0670f2f81bdd986dc750592adbb7e07adb053e668d73489ff9125a0f04d2aa2af2343e606ae9c50f0c89e6b604a93f2efa92
6
+ metadata.gz: '08f3bd70fc1565abed8e97987db929e3e9146f57f36ff751cde51111b9e3d238bfd787fb13be27d736a5eaedf870434f648d301c43822f3daeebbf513b57ee6d'
7
+ data.tar.gz: 44b1f4ba2c5f16520805fe8bf658996d324760e86fe956c9e9778afe19f63249db476e8f6692d757fdd544b88202bcc9cd538819895b05991f2d13d041843f52
@@ -0,0 +1,40 @@
1
+ name: Publish Gem
2
+
3
+ on:
4
+ push:
5
+ branches:
6
+ - main
7
+ - master
8
+ jobs:
9
+ publish:
10
+ runs-on: ubuntu-latest
11
+ permissions:
12
+ contents: write
13
+
14
+ steps:
15
+ - uses: actions/checkout@v3
16
+
17
+ - name: Setup Ruby and install gems
18
+ uses: ruby/setup-ruby@v1
19
+ with:
20
+ bundler-cache: true
21
+ ruby-version: 2.7
22
+ rubygems: latest
23
+
24
+ - name: Release Gem
25
+ run: |
26
+ VERSION=$(bundle exec rake version)
27
+ GEM_VERSION=$(gem list --exact --remote $GEM_NAME)
28
+ # Publish to RubyGems.org
29
+ if [ "${GEM_VERSION}" != "$GEM_NAME (${VERSION})" ]; then
30
+ gem build $GEM_NAME.gemspec
31
+ gem push "$GEM_NAME-${VERSION}.gem"
32
+ fi
33
+ # Create a release tag
34
+ if ! git ls-remote --tags --exit-code origin v${VERSION}; then
35
+ git tag v${VERSION}
36
+ git push --tags
37
+ fi
38
+ env:
39
+ GEM_HOST_API_KEY: "${{ secrets.RUBYGEMS_AUTH_TOKEN }}"
40
+ GEM_NAME: uppityrobot
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- uppityrobot (0.3.1)
4
+ uppityrobot (0.4.0)
5
5
  dry-cli (~> 0.7)
6
6
  json (~> 2.5)
7
7
  uptimerobot (~> 0.2)
@@ -84,8 +84,8 @@ GEM
84
84
  faraday-em_synchrony (1.0.0)
85
85
  faraday-excon (1.1.0)
86
86
  faraday-httpclient (1.0.1)
87
- faraday-multipart (1.0.3)
88
- multipart-post (>= 1.2, < 3)
87
+ faraday-multipart (1.0.4)
88
+ multipart-post (~> 2)
89
89
  faraday-net_http (1.0.1)
90
90
  faraday-net_http_persistent (1.2.0)
91
91
  faraday-patron (1.0.0)
@@ -95,7 +95,7 @@ GEM
95
95
  faraday (~> 1.0)
96
96
  ffi (1.15.4)
97
97
  hashdiff (1.0.1)
98
- json (2.6.1)
98
+ json (2.6.2)
99
99
  json_spec (1.1.5)
100
100
  multi_json (~> 1.0)
101
101
  rspec (>= 2.0, < 4.0)
@@ -107,7 +107,7 @@ GEM
107
107
  mini_portile2 (2.6.1)
108
108
  multi_json (1.15.0)
109
109
  multi_test (0.1.2)
110
- multipart-post (2.1.1)
110
+ multipart-post (2.2.3)
111
111
  mustermann (1.1.1)
112
112
  ruby2_keywords (~> 0.0.1)
113
113
  nokogiri (1.12.4)
data/README.md CHANGED
@@ -127,7 +127,7 @@ gem bump --version minor --tag # do it for real
127
127
 
128
128
  bundle
129
129
  git commit --amend # needed via Rakefile
130
- # now push & release
130
+ # PR and merge: release is published via Github Actions
131
131
  ```
132
132
 
133
133
  ## Contributing
data/Rakefile CHANGED
@@ -14,3 +14,7 @@ Cucumber::Rake::Task.new
14
14
  task default: %i[spec cucumber rubocop]
15
15
 
16
16
  load File.join("lib", "uppityrobot", "Rakefile")
17
+
18
+ task :version do
19
+ puts UppityRobot::VERSION
20
+ end
@@ -55,6 +55,7 @@ namespace :uppityrobot do
55
55
  data = row.to_hash
56
56
  name = data["friendly_name"]
57
57
  url = data["url"]
58
+ interval = data.fetch("interval", 300)
58
59
 
59
60
  begin
60
61
  if !current_monitors.key?(name)
@@ -62,15 +63,17 @@ namespace :uppityrobot do
62
63
  d = {
63
64
  friendly_name: name,
64
65
  url: url,
66
+ interval: interval,
65
67
  type: UptimeRobot::Monitor::Type::HTTP,
66
68
  subtype: UptimeRobot::Monitor::SubType::HTTPS,
67
69
  alert_contacts: contacts
68
70
  }
69
71
  UppityRobot::Client.new(:newMonitor, d).execute
70
- elsif current_monitors.key?(name) && current_monitors[name]["url"] != url
71
- puts "Updating monitor: #{current_monitors[name]["url"]} TO #{url} WITH CONTACTS #{contacts}"
72
+ elsif current_monitors.key?(name) &&
73
+ (current_monitors[name]["url"] != url || current_monitors[name]["interval"] != interval)
74
+ puts "Updating monitor: #{current_monitors[name]["url"]} TO #{url} [#{interval}] WITH CONTACTS #{contacts}"
72
75
  # avoid uptimerobot client weirdness
73
- d = { id: current_monitors[name]["id"], url: url, alert_contacts: contacts }.dup
76
+ d = { id: current_monitors[name]["id"], url: url, interval: interval, alert_contacts: contacts }.dup
74
77
  UppityRobot::Client.new(:editMonitor, d).execute
75
78
  end
76
79
  rescue UptimeRobot::Error => e
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module UppityRobot
4
- VERSION = "0.3.1"
4
+ VERSION = "0.4.0"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: uppityrobot
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.1
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mark Cooper
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-05-11 00:00:00.000000000 Z
11
+ date: 2022-07-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: dry-cli
@@ -201,6 +201,7 @@ extensions: []
201
201
  extra_rdoc_files: []
202
202
  files:
203
203
  - ".github/workflows/main.yml"
204
+ - ".github/workflows/publish.yml"
204
205
  - ".gitignore"
205
206
  - ".rspec"
206
207
  - ".rubocop.yml"
@@ -256,7 +257,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
256
257
  - !ruby/object:Gem::Version
257
258
  version: '0'
258
259
  requirements: []
259
- rubygems_version: 3.1.6
260
+ rubygems_version: 3.3.18
260
261
  signing_key:
261
262
  specification_version: 4
262
263
  summary: Command line wrapper for the UptimeRobot API (wrapper).