Sha256: 6ed8baf83de052c08acdc34a1ab85e79240897e4b9e8297685c287f8cf718df2

Contents?: true

Size: 1.7 KB

Versions: 4

Compression:

Stored size: 1.7 KB

Contents

# frozen_string_literal: true

require 'hcloud/version'
require 'active_support/core_ext/object/to_query'
require 'active_support/core_ext/hash/indifferent_access'

module Hcloud
  autoload :Error, 'hcloud/errors'
  autoload :Client, 'hcloud/client'
  autoload :TyphoeusExt, 'hcloud/typhoeus_ext'
  autoload :AbstractResource, 'hcloud/abstract_resource'
  autoload :EntryLoader, 'hcloud/entry_loader'

  autoload :Server, 'hcloud/server'
  autoload :ServerResource, 'hcloud/server_resource'

  autoload :ServerType, 'hcloud/server_type'
  autoload :ServerTypeResource, 'hcloud/server_type_resource'

  autoload :FloatingIP, 'hcloud/floating_ip'
  autoload :FloatingIPResource, 'hcloud/floating_ip_resource'

  autoload :SSHKey, 'hcloud/ssh_key'
  autoload :SSHKeyResource, 'hcloud/ssh_key_resource'

  autoload :Datacenter, 'hcloud/datacenter'
  autoload :DatacenterResource, 'hcloud/datacenter_resource'

  autoload :Location, 'hcloud/location'
  autoload :LocationResource, 'hcloud/location_resource'

  autoload :Image, 'hcloud/image'
  autoload :ImageResource, 'hcloud/image_resource'

  autoload :Network, 'hcloud/network'
  autoload :NetworkResource, 'hcloud/network_resource'

  autoload :Volume, 'hcloud/volume'
  autoload :VolumeResource, 'hcloud/volume_resource'

  autoload :Action, 'hcloud/action'
  autoload :ActionResource, 'hcloud/action_resource'

  autoload :Iso, 'hcloud/iso'
  autoload :IsoResource, 'hcloud/iso_resource'

  autoload :Pagination, 'hcloud/pagination'

  COLLECT_ARGS = proc do |method_name, bind|
    query = bind.receiver.method(method_name).parameters.inject({}) do |hash, (_type, name)|
      hash.merge(name => bind.local_variable_get(name))
    end
    query.delete_if { |_, v| v.nil? }
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
hcloud-1.0.3 lib/hcloud.rb
hcloud-1.0.2 lib/hcloud.rb
hcloud-1.0.1 lib/hcloud.rb
hcloud-1.0.0 lib/hcloud.rb