Sha256: 64fce623fb40e6a532c4bac0f3861993e97de8d134480fa954d1110c8ef643aa

Contents?: true

Size: 1.27 KB

Versions: 20

Compression:

Stored size: 1.27 KB

Contents

# -*- coding: utf-8 -*-
require "magellan/cli/resources"

module Magellan
  module Cli
    module Resources

      class Project < Base
        include Deletable

        self.resource_key = "project"
        self.resource_dependency = { "organization" =>  Organization.parameter_name }
        self.hidden_fields = %w[default_nebula_id created_at updated_at].map(&:freeze).freeze
        self.field_associations = {"organization_id" => {name: "organization", class: "Organization"} }

        desc "update ATTRIBUTES", I18n.t(:update, scope: [:resources, :common, :cmd], resource_name: resource_name)
        def update(attrs)
          s = load_selection!(self.class)
          attrs = JSON.parse(File.readable?(attrs) ? File.read(attrs) : attrs)
          put_json("/admin/project/#{s['id']}/edit", {"project" => attrs})
        end

        desc "create NAME", I18n.t(:create, scope: [:resources, :common, :cmd], resource_name: resource_name)
        def create(name)
          o = load_selection!(Organization)
          params = {
            parameter_name => {
              "organization_id" => o["id"],
              "name" => name,
            }
          }
          post_json("/admin/#{resource_key}/new.json", params)
          select(name)
        end
      end

    end
  end
end

Version data entries

20 entries across 20 versions & 1 rubygems

Version Path
magellan-cli-0.7.4 lib/magellan/cli/resources/project.rb
magellan-cli-0.7.3 lib/magellan/cli/resources/project.rb
magellan-cli-0.7.2 lib/magellan/cli/resources/project.rb
magellan-cli-0.7.1 lib/magellan/cli/resources/project.rb
magellan-cli-0.7.0 lib/magellan/cli/resources/project.rb
magellan-cli-0.6.5 lib/magellan/cli/resources/project.rb
magellan-cli-0.6.4 lib/magellan/cli/resources/project.rb
magellan-cli-0.6.3 lib/magellan/cli/resources/project.rb
magellan-cli-0.6.2 lib/magellan/cli/resources/project.rb
magellan-cli-0.6.1 lib/magellan/cli/resources/project.rb
magellan-cli-0.6.0 lib/magellan/cli/resources/project.rb
magellan-cli-0.5.9 lib/magellan/cli/resources/project.rb
magellan-cli-0.5.8 lib/magellan/cli/resources/project.rb
magellan-cli-0.5.7 lib/magellan/cli/resources/project.rb
magellan-cli-0.5.6 lib/magellan/cli/resources/project.rb
magellan-cli-0.5.5 lib/magellan/cli/resources/project.rb
magellan-cli-0.5.4 lib/magellan/cli/resources/project.rb
magellan-cli-0.5.3 lib/magellan/cli/resources/project.rb
magellan-cli-0.5.2 lib/magellan/cli/resources/project.rb
magellan-cli-0.5.1 lib/magellan/cli/resources/project.rb