hetznercloud 1.5.2 → 1.5.4

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: 1d5e6743bea0303c880735744a53117ae22e6739354f6ac92446ee4a3bf3c45a
4
- data.tar.gz: da60cc445e0d920dd39831b92f6d5d130f2854b626aa910252049e9985a9b094
3
+ metadata.gz: c731cef3b6836c9ca0cd8c84020a0af9feb301b583fd6cc52cd764407b13be8b
4
+ data.tar.gz: a3be57a22b54d2d2bc5cb51c82a0051918b305ddbb1864511c4e32bc73d835c0
5
5
  SHA512:
6
- metadata.gz: f73924721baf0cd5c1ac336f77574de2ae1c0223612839d89dc712857fa455727b2be7ed5ceae7ecb99db916846cfbd88196c94eb82231c01d6759e4a8dd6df2
7
- data.tar.gz: ea1c689b8f212474251f1b446454aa932326b3034110e9d435e17566f83b632307f5705bb17f1f03a2046553f8bd34263d2d8f14aa092dca3f3562c210d75c8b
6
+ metadata.gz: 7416bc30b965d8e88e02fdb4244755957fb773c67ef7fa11c5bd7162777ea347344fcca4e531c349fd43ba77233211ade1064ebd354ae19875e968e508f7524a
7
+ data.tar.gz: b4eeece8a36968d6bff1d37d320591428488293bad47a4b4a1ee6fdc9202a959f4c2840d5b89972fbc0f677045b921f70d9e06e9e53c5f2b864168a0e6e9a9b4
data/CHANGELOG.md CHANGED
@@ -1,5 +1,13 @@
1
1
  # Changelog
2
2
 
3
+ ## HCloud v1.5.4 (2023-05-17)
4
+
5
+ - Allow defining attributes on the fly
6
+
7
+ ## HCloud v1.5.3 (2023-05-09)
8
+
9
+ - Add `included_traffic` attribute to `ServerType`
10
+
3
11
  ## HCloud v1.5.2 (2023-04-22)
4
12
 
5
13
  - Add `architecture` attribute to `Image` and `ISO`
data/Gemfile CHANGED
@@ -6,7 +6,7 @@ source "https://rubygems.org"
6
6
  gemspec
7
7
 
8
8
  group :development, :test do
9
- gem "byebug", require: false
9
+ gem "debug", require: false
10
10
  gem "dotenv", require: false
11
11
  gem "ffaker", require: false
12
12
  gem "rake", require: false
data/README.md CHANGED
@@ -10,8 +10,6 @@ Unofficial Ruby integration with the [Hetzner Cloud API](https://docs.hetzner.cl
10
10
  Add this line to your application's Gemfile:
11
11
 
12
12
  ```ruby
13
- git_source(:github) { |repo| "https://github.com/#{repo}.git" }
14
-
15
13
  gem "hetznercloud"
16
14
  ```
17
15
 
@@ -0,0 +1,33 @@
1
+ # frozen_string_literal: true
2
+
3
+ module HCloud
4
+ module DynamicAttributes
5
+ extend ActiveSupport::Concern
6
+
7
+ included do
8
+ def method_missing(name, *args) # rubocop:disable Metrics/AbcSize
9
+ return super unless name.to_s.end_with?("=")
10
+
11
+ # Infer attribute name
12
+ attribute = name.to_s.chomp("=")
13
+
14
+ return super if attribute_names.include?(attribute)
15
+
16
+ warn "Unknown attribute: #{self.class.name}##{attribute}. Please file an issue at https://github.com/floriandejonckheere/hcloud/issues/new?title=Unknown+attribute+#{self.class.name}%23#{attribute}."
17
+
18
+ # Add definition to class singleton
19
+ self.class.attribute(name.to_s.chomp("=").to_sym, :string)
20
+
21
+ # Add definition to current instance
22
+ @attributes[name.to_s.chomp("=")] = self.class._default_attributes[name.to_s.chomp("=")].dup
23
+
24
+ # Set attribute
25
+ send(name, *args)
26
+ end
27
+
28
+ def respond_to_missing?(name, include_private = false)
29
+ name.to_s.end_with?("=") || super
30
+ end
31
+ end
32
+ end
33
+ end
@@ -6,6 +6,7 @@ module HCloud
6
6
  include ActiveModel::AttributeAssignment
7
7
 
8
8
  include Concerns
9
+ include DynamicAttributes
9
10
 
10
11
  def initialize(attributes = {})
11
12
  super()
@@ -30,6 +30,7 @@ module HCloud
30
30
  attribute :cores, :integer
31
31
  attribute :disk, :integer
32
32
  attribute :memory, :integer
33
+ attribute :included_traffic, :integer
33
34
 
34
35
  attribute :cpu_type
35
36
  attribute :storage_type
@@ -4,7 +4,7 @@ module HCloud
4
4
  module Version
5
5
  MAJOR = 1
6
6
  MINOR = 5
7
- PATCH = 2
7
+ PATCH = 4
8
8
  PRE = nil
9
9
 
10
10
  VERSION = [MAJOR, MINOR, PATCH].compact.join(".")
@@ -12,6 +12,6 @@ module HCloud
12
12
  STRING = [VERSION, PRE].compact.join("-")
13
13
  end
14
14
 
15
- NAME = "hcloud"
15
+ NAME = "hetznercloud"
16
16
  VERSION = Version::STRING
17
17
  end
data/lib/hcloud.rb CHANGED
@@ -4,8 +4,6 @@ require "active_model"
4
4
  require "active_support/all"
5
5
  require "zeitwerk"
6
6
 
7
- require "byebug" if ENV["ENV"] == "development"
8
-
9
7
  module HCloud
10
8
  class << self
11
9
  # Code loader instance
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hetznercloud
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.5.2
4
+ version: 1.5.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Florian Dejonckheere
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-04-22 00:00:00.000000000 Z
11
+ date: 2023-05-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activemodel
@@ -87,6 +87,7 @@ files:
87
87
  - lib/hcloud/concerns/concerns.rb
88
88
  - lib/hcloud/concerns/creatable.rb
89
89
  - lib/hcloud/concerns/deletable.rb
90
+ - lib/hcloud/concerns/dynamic_attributes.rb
90
91
  - lib/hcloud/concerns/labelable.rb
91
92
  - lib/hcloud/concerns/meterable.rb
92
93
  - lib/hcloud/concerns/queryable.rb