Sha256: ddd9fcac9e1c01afaefa6b8f3a2fd2b41b16fbd4c292a6869a7ac6b16063ff09

Contents?: true

Size: 1.05 KB

Versions: 1

Compression:

Stored size: 1.05 KB

Contents

module LocaleApp
  module CLI
    class Push
      include ::LocaleApp::ApiCall

      def initialize(output = $stdout)
        @output = output
      end

      def execute(file_path = nil)
        @output.puts "LocaleApp Push"
        @output.puts ""

        @file_path = file_path

        file = sanitize_file(file_path)
        if file
          @output.puts "Pushing file:"
          api_call :import,
            :payload => { :file => file },
            :success => :report_success,
            :failure => :report_failure,
            :max_connection_attempts => 3
        else
          @output.puts "Could not load file"
        end
      end

      def report_success(response)
        @output.puts "Success!"
        @output.puts ""
        @output.puts "#{@file_path} queued for processing."
      end

      def report_failure(response)
        @output.puts "Failed!"
      end

      private
      def sanitize_file(file_path)
        if File.exist?(file_path)
          File.new(file_path)
        else
          nil
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
localeapp-0.0.7 lib/locale_app/cli/push.rb