Sha256: a0f1281ac8cacd60b1787668675bd444e43a374698d9407b57c69b8490d58af2

Contents?: true

Size: 1.39 KB

Versions: 1

Compression:

Stored size: 1.39 KB

Contents

require 'yaml'
require 'erb'


module Sapos
  module Print
    class Configuration
    
      attr_accessor :printer, :adapter, :interface, :q, :key, :emv_path, :emv_terminal, :user_id
    
      def self.write(args = {})
        config_file = "#{Sapos::Print.app_directory}/config.yml"
        File.write(config_file, args.to_yaml)
      end
    
      def initialize
        config_file = "#{Sapos::Print.app_directory}/config.yml"
        if File.exist?(config_file)
          template = ERB.new(File.read(config_file))
          result = YAML.load(template.result(binding))
          ap result
          @printer = result[:printer]
          @adapter = result[:adapter]
          @interface = result[:interface]
          @q = result[:q]
          @key = result[:key]
          @emv_path = result[:emv_path]
          @emv_terminal = result[:emv_terminal]
          @user_id = result[:user_id]
        else
          raise Sapos::Print::Error, "Configuration is missing. Make sure to create this file: #{config_file}"
        end
      end
    
      def server?
        @mode.eql?("server")
      end
    
      def queue?
        @mode.eql?("queue")
      end
    
      def verify?
        @verify == true
      end
    
      def to_h
        {printer: @printer, adapter: @adapter, interface: @interface, q: @q, key: @key, emv_path: @emv_path, emv_terminal: @emv_terminal, user_id: @user_id }
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
sapos-print-1.0.7 lib/sapos/print/configuration.rb