Sha256: ca129c1059e55fa5625d0cc1f0983cb7d37b6316107d7b3d04d7d70714884d34

Contents?: true

Size: 1.39 KB

Versions: 37

Compression:

Stored size: 1.39 KB

Contents

module Fog
  module Compute
    class Ecloud
      class Row < Fog::Ecloud::Model
        identity :href

        attribute :name, :aliases => :Name
        attribute :type, :aliases => :Type
        attribute :other_links, :aliases => :Links
        attribute :index, :aliases => :Index

        def groups
          @groups = self.service.groups(:href => href)
        end

        def edit(options)
          options[:uri] = href
          service.rows_edit(options).body
        end

        def move_up(options)
          options[:uri] = href + "/action/moveup"
          service.rows_moveup(options).body
        end

        def move_down(options)
          options[:uri] = href + "/action/movedown"
          service.rows_movedown(options).body
        end

        def delete
          service.rows_delete(href).body
        end

        def create_group(options = {})
          options[:uri] = "#{service.base_path}/layoutGroups/environments/#{environment_id}/action/createLayoutGroup"
          options[:row_name] = name
          options[:href] = href
          data = service.groups_create(options).body
          group = self.service.groups.new(data)
        end

        def environment_id
          reload if other_links.nil?
          other_links[:Link][:href].scan(/\d+/)[0]
        end

        def id
          href.scan(/\d+/)[0]
        end

        alias destroy delete
      end
    end
  end
end

Version data entries

37 entries across 37 versions & 2 rubygems

Version Path
fog-1.22.0 lib/fog/ecloud/models/compute/row.rb
fog-1.21.0 lib/fog/ecloud/models/compute/row.rb
fog-maestrodev-1.20.0.20140305101839 lib/fog/ecloud/models/compute/row.rb
fog-maestrodev-1.20.0.20140305101305 lib/fog/ecloud/models/compute/row.rb
fog-maestrodev-1.19.0.20140212012611 lib/fog/ecloud/models/compute/row.rb
fog-1.20.0 lib/fog/ecloud/models/compute/row.rb
fog-maestrodev-1.19.0.20140110004459 lib/fog/ecloud/models/compute/row.rb
fog-maestrodev-1.19.0.20140110003812 lib/fog/ecloud/models/compute/row.rb
fog-maestrodev-1.19.0.20140109202555 lib/fog/ecloud/models/compute/row.rb
fog-maestrodev-1.19.0.20140107192102 lib/fog/ecloud/models/compute/row.rb
fog-maestrodev-1.19.0.20140107142106 lib/fog/ecloud/models/compute/row.rb
fog-maestrodev-1.19.0.20131219203941 lib/fog/ecloud/models/compute/row.rb
fog-maestrodev-1.18.0.20131219193542 lib/fog/ecloud/models/compute/row.rb
fog-1.19.0 lib/fog/ecloud/models/compute/row.rb
fog-maestrodev-1.18.0.20131219033443 lib/fog/ecloud/models/compute/row.rb
fog-maestrodev-1.18.0.20131219032002 lib/fog/ecloud/models/compute/row.rb
fog-maestrodev-1.18.0.20131219030716 lib/fog/ecloud/models/compute/row.rb
fog-maestrodev-1.18.0.20131219022322 lib/fog/ecloud/models/compute/row.rb
fog-maestrodev-1.18.0.20131218202447 lib/fog/ecloud/models/compute/row.rb
fog-maestrodev-1.18.0.20131209091424 lib/fog/ecloud/models/compute/row.rb