class Gzr::Commands::Attribute::Create

Public Class Methods

new(name,label,options) click to toggle source
Calls superclass method Gzr::Command::new
# File lib/gzr/commands/attribute/create.rb, line 32
def initialize(name,label,options)
  super()
  @name = name
  @label = label || @name.split(/ |\_|\-/).map(&:capitalize).join(" ")
  @options = options
end

Public Instance Methods

execute(input: $stdin, output: $stdout) click to toggle source
# File lib/gzr/commands/attribute/create.rb, line 39
def execute(input: $stdin, output: $stdout)
  say_warning(@options) if @options[:debug]
  with_session do
    source = { :name=>@name, :label=>@label, :type=>@options[:type] }
    source[:'default_value'] = @options[:'default-value'] if @options[:'default-value']
    source[:'value_is_hidden'] = true if @options[:'is-hidden']
    source[:'user_can_view'] = true if @options[:'can-view']
    source[:'user_can_edit'] = true if @options[:'can-edit']
    source[:'hidden_value_domain_whitelist'] = @options[:'domain-whitelist'] if @options[:'is-hidden'] && @options[:'domain-whitelist']

    attr = upsert_user_attribute(source, @options[:force], output: $stdout)
    output.puts "Imported attribute #{attr.name} #{attr.id}" unless @options[:plain] 
    output.puts attr.id if @options[:plain] 
  end
end