Class: Pindo::Command::Utils::Icon

Inherits:
Pindo::Command::Utils show all
Extended by:
Executable
Defined in:
lib/pindo/command/utils/icon.rb

Class Method Summary collapse

Instance Method Summary collapse

Methods included from Executable

capture_command, executable, execute_command, which, which!

Constructor Details

#initialize(argv) ⇒ Icon

Returns a new instance of Icon.



53
54
55
56
57
58
# File 'lib/pindo/command/utils/icon.rb', line 53

def initialize(argv)                    
    @icon_name = argv.shift_argument 
    @args_install_flag = argv.flag?('install', false)
    super(argv)
    @additional_args = argv.remainder!
end

Class Method Details

.optionsObject



47
48
49
50
51
# File 'lib/pindo/command/utils/icon.rb', line 47

def self.options
    [
        ['--install', '生成icon后拷贝进Xcode工程里, 用法 pindo utils icon --install'],
    ].concat(super)
end

Instance Method Details

#runObject



65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
# File 'lib/pindo/command/utils/icon.rb', line 65

def run
    icon_name = @icon_name
    time = Time.now.strftime('%m%d-%H%M%S')
    new_icon_dir = File.join(Dir.pwd, "icon_"+time)  


    Funlog.instance.fancyinfo_start("正在生成icon...")
    begin
        XcodeResHelper.create_icons(icon_name: icon_name, new_icon_dir: new_icon_dir)
        Funlog.instance.fancyinfo_success("生成icon成功!")
    rescue StandardError => e
        Funlog.instance.fancyinfo_error("生成icon失败!")
    end
    

    if @args_install_flag
        Funlog.instance.fancyinfo_start("正在给Xcode替换icon...")
        XcodeResHelper.install_icon(proj_dir: Dir.pwd, new_icon_dir: new_icon_dir)
        Funlog.instance.fancyinfo_success("Xcode替换icon完成!")
        begin
            FileUtils.remove_dir(new_icon_dir)
        rescue StandardError => e
            
        end
    else
        puts "open #{new_icon_dir}"
    end

end

#validate!Object



60
61
62
63
# File 'lib/pindo/command/utils/icon.rb', line 60

def validate!
    super
    help! 'Need a icon name' if @icon_name.nil? || @icon_name.empty?
end