occi-api 4.0.0.beta.1 → 4.0.0.beta.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -346,17 +346,23 @@ module Occi
346
346
  found_ary.any? ? found_ary.first : nil
347
347
  end
348
348
 
349
+ # Looks up a mixin with a specific type, will return
350
+ # mixin's full description.
349
351
  #
350
- #
351
- #
352
+ # @param [String] name of the mixin
353
+ # @param [String] type of the mixin
354
+ # @return [Occi::Collection] mixin description
352
355
  def describe_mixin_w_type(name, type)
353
356
  return unless %w( os_tpl resource_tpl ).include? type.to_s
354
357
  send("get_#{type.to_s}s".to_sym).select { |mixin| mixin.term == name }
355
358
  end
356
359
 
360
+ # Looks up a mixin in all available mixin types, will
361
+ # return mixin's full description. Returns always the
362
+ # first match found, search will start in os_tpl.
357
363
  #
358
- #
359
- #
364
+ # @param [String] name of the mixin
365
+ # @return [Occi::Collection] mixin description
360
366
  def describe_mixin_wo_type(name)
361
367
  %w( os_tpl resource_tpl ).each do |type|
362
368
  found = send("get_#{type}s".to_sym).select { |mixin| mixin.term == name }
@@ -466,36 +472,6 @@ module Occi
466
472
  end
467
473
  alias_method :get_resource_tpls, :get_resource_templates
468
474
 
469
- # Creates a link of a specified kind and binds it to the given resource.
470
- #
471
- # @example
472
- # link_kind = 'http://schemas.ogf.org/occi/infrastructure#storagelink'
473
- # compute = client.get_resource "compute"
474
- # storage_location = "http://localhost:3300/storage/321df21adfad-f3adfa5f4adf-a3d54ffadffe"
475
- # linked_resource_kind = 'http://schemas.ogf.org/occi/infrastructure#storage'
476
- #
477
- # link link_kind, compute, storage_location, linked_resource_kind
478
- #
479
- # @param [String] link type identifier (link kind)
480
- # @param [Occi::Core::Resource] resource to link to
481
- # @param [URI, String] resource to be linked
482
- # @param [String] type identifier of the linked resource
483
- # @param [Occi::Core::Attributes] link attributes
484
- # @param [Array<String>] link mixins
485
- # @return [Occi::Core::Link] link instance
486
- def link(kind, source, target_location, target_kind, attributes=Occi::Core::Attributes.new, mixins=[])
487
- link = Occi::Core::Link.new(kind)
488
- link.mixins = mixins
489
- link.attributes = attributes
490
- link.target = (target_location.kind_of? URI::Generic) ? target_location.path : target_location.to_s
491
- link.rel = target_kind
492
-
493
- link.check @model
494
- source.links << link
495
-
496
- link
497
- end
498
-
499
475
  # Returns the path for a given resource type identifier
500
476
  #
501
477
  # @example
@@ -543,6 +519,10 @@ module Occi
543
519
 
544
520
  protected
545
521
 
522
+ ##############################################################################
523
+ ######## STUBS START
524
+ ##############################################################################
525
+
546
526
  # Sets auth method and appropriate httparty attributes. Supported auth methods
547
527
  # are: ["basic", "digest", "x509", "none"]
548
528
  #
@@ -571,6 +551,10 @@ module Occi
571
551
  # @return [String] chosen media type
572
552
  def set_media_type(force_type = nil); end
573
553
 
554
+ ##############################################################################
555
+ ######## STUBS END
556
+ ##############################################################################
557
+
574
558
  # Sets the logger and log levels. This allows users to pass existing logger
575
559
  # instances to the rOCCI client.
576
560
  #
@@ -618,23 +602,27 @@ module Occi
618
602
  @model
619
603
  end
620
604
 
605
+ # Returns mixin type identifiers for os_tpl mixins
606
+ # in an array.
621
607
  #
622
- #
623
- #
608
+ # @return [Array] array of os_tpl mixin identifiers
624
609
  def get_os_tpl_mixins_ary
625
610
  get_mixins_ary(:os_tpl)
626
611
  end
627
612
 
613
+ # Returns mixin type identifiers for resource_tpl mixins
614
+ # in an array.
628
615
  #
629
- #
630
- #
616
+ # @return [Array] array of resource_tpl mixin identifiers
631
617
  def get_resource_tpl_mixins_ary
632
618
  get_mixins_ary(:resource_tpl)
633
619
  end
634
620
 
621
+ # Returns mixin type identifiers for given mixin type
622
+ # in an array.
635
623
  #
636
- #
637
- #
624
+ # @param [Symbol] mixin type
625
+ # @return [Array] array of mixin identifiers
638
626
  def get_mixins_ary(mixin_type)
639
627
  mixins = []
640
628
 
@@ -14,9 +14,14 @@ module Occi
14
14
  # HTTParty for raw HTTP requests
15
15
  include HTTParty
16
16
 
17
- # TODO: uncomment the following line as JSON is properly implemented in OpenStack
18
- # headers 'Accept' => 'application/occi+json,text/plain;q=0.8,text/occi;q=0.2'
19
- headers 'Accept' => 'text/plain,text/occi;q=0.2'
17
+ # TODO: change default Accept to JSON as soon as it is properly
18
+ # implemented in OpenStack's OCCI-OS
19
+ # 'Accept' => 'application/occi+json,text/plain;q=0.8,text/occi;q=0.2'
20
+ DEFAULT_HEADERS = {
21
+ 'Accept' => 'text/plain,text/occi;q=0.2',
22
+ 'User-Agent' => "rOCCI HTTPClient #{Occi::Api::VERSION}"
23
+ }
24
+ headers DEFAULT_HEADERS
20
25
 
21
26
  # hash mapping HTTP response codes to human-readable messages
22
27
  HTTP_CODES = {
@@ -169,10 +174,6 @@ module Occi
169
174
 
170
175
  raise "#{entity} not an entity!" unless entity.kind_of? Occi::Core::Entity
171
176
 
172
- # is this entity valid?
173
- entity.model = @model
174
- entity.check
175
-
176
177
  Occi::Log.debug "Entity kind: #{entity.kind}"
177
178
  kind = entity.kind
178
179
  raise "No kind found for #{entity}" unless kind
@@ -1,5 +1,5 @@
1
1
  module Occi
2
2
  module Api
3
- VERSION = "4.0.0.beta.1" unless defined?(::Occi::Api::VERSION)
3
+ VERSION = "4.0.0.beta.2" unless defined?(::Occi::Api::VERSION)
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: occi-api
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.0.0.beta.1
4
+ version: 4.0.0.beta.2
5
5
  prerelease: 6
6
6
  platform: ruby
7
7
  authors:
@@ -11,7 +11,7 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2013-07-28 00:00:00.000000000 Z
14
+ date: 2013-08-01 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: occi-core