Sha256: 108f2ee3f8ac24bd4ea83c384e167180827ac2cb22f297f81ee882c7257b43fe

Contents?: true

Size: 1.48 KB

Versions: 3

Compression:

Stored size: 1.48 KB

Contents

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

module Magellan
  module Cli
    module Resources

      class ClientVersion < Base
        self.resource_key = "client_version"
        self.resource_dependency = {"project" => "project"}

        self.hidden_fields = %w[project_id created_at updated_at].map(&:freeze).freeze
        self.field_associations = {
          "stage_title_id" => {name: "stage", class: "Stage"},
        }
        self.caption_attr = "version"

        desc "create VERSION", I18n.t(:create, scope: [:resources, :client_version, :cmd], resource_name: resource_name)
        def create(version)
          project = load_selection!(Project)
          stage = load_selection!(Stage)
          params = {
            parameter_name => {
              "project_id" => project["id"],
              "stage_title_id" => stage["id"],
              "version" => version,
            }
          }
          post_json("/admin/#{resource_key}/new.json", params)
          # TODO implement select method
          # select(version)
        end

        desc "delete VERSION", I18n.t(:delete, scope: [:resources, :client_version, :cmd], resource_name: resource_name)
        def delete(version)
          q = build_query("version" => version).update(default_query)
          r = get_first_result!(self.class.resource_name, version, "/admin/#{resource_key}.json", q)
          super("/admin/#{resource_key}/#{r['id']}/delete")
          log_success("OK")
        end

      end

    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
magellan-cli-0.5.8 lib/magellan/cli/resources/client_version.rb
magellan-cli-0.5.7 lib/magellan/cli/resources/client_version.rb
magellan-cli-0.5.6 lib/magellan/cli/resources/client_version.rb