Sha256: 85316b370242c51b3f2120a1ce2d07f20e87474bb8553da4df7567ad5d83f070

Contents?: true

Size: 742 Bytes

Versions: 3

Compression:

Stored size: 742 Bytes

Contents

require "ribose/actions"

module Ribose
  class Space < Ribose::Base
    include Ribose::Actions::All
    include Ribose::Actions::Fetch
    include Ribose::Actions::Create
    include Ribose::Actions::Update

    def self.create(name:, **attributes)
      new(attributes.merge(name: name)).create
    end

    def self.remove(space_uuid, options = {})
      Ribose::Request.post("spaces/#{space_uuid}/freeze", options)
    end

    def self.delete(space_uuid, confirmation:, **options)
      remove(space_uuid, options.merge(password_confirmation: confirmation))
    end

    private

    attr_reader :space

    def resource
      "space"
    end

    def extract_local_attributes
      @space = attributes.delete(:space)
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
ribose-0.5.0 lib/ribose/space.rb
ribose-0.4.1 lib/ribose/space.rb
ribose-0.4.0 lib/ribose/space.rb