Sha256: 041a571f496e113a77fd4fcb165d25805a58e4c88e138851edc2e4a65d756e9b

Contents?: true

Size: 719 Bytes

Versions: 4

Compression:

Stored size: 719 Bytes

Contents

require 'yaml'
require 'active_model'
module Sigiss
  class Gateway
    include ActiveModel::Validations
    include ActiveModel::Validations::Callbacks

    attr_accessor :environment
    attr_reader :name, :url

    validates_presence_of :name, :url, :environment

    before_validation :validate_if_gateway_exists

    def initialize(name = nil, environment = :test)
      @name = name
      @url = url_webservice(name, environment)
      @environment = environment
    end

    def url_webservice(name, environment)
      YAML.load_file(File.join(Sigiss.root, 'configs.yml'))[environment.to_s][name.to_s]
    end

    def validate_if_gateway_exists
      errors.add(:name, :invalid) if @url.nil?
    end

  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
sigiss-0.1.4 lib/sigiss/gateway.rb
sigiss-0.1.3 lib/sigiss/gateway.rb
sigiss-0.1.2 lib/sigiss/gateway.rb
sigiss-0.1.1 lib/sigiss/gateway.rb