lukefx/arcserver.rb

View on GitHub
lib/arcserver/map_server.rb

Summary

Maintainability
A
0 mins
Test Coverage
# encoding: utf-8

module ArcServer
  class ArcServerError < StandardError; end

  class MapServer

    include UrlHelper
    include Identifiable
    include Queryable
    extend  Forwardable

    attr_reader    :rest_service
    def_delegators :rest_service, :url, :export

    def initialize(url, opts = {})
      raise Exception, "#{url} is not a valid map server url" unless map_server?(url)
      @rest_service = opts[:rest_service] || REST::MapServer.new(to_rest(url))
    end

    # Utility method for generating a legend image
    # (requires optional dependency, RMagick [>= 2.12.0], to be installed)
    #
    # @return [Magick::Image] the legend as an RMagick Image object
    def get_legend_image
       begin
         require 'RMagick' unless Object.const_defined?("Magick")
       rescue LoadError
         raise ArcServerError, "#{self.class}#get_legend_image needs an optional dependency 'RMagick [>= 2.12.0]' to be installed - try `gem install rmagick`"
       end
       Util::LegendImage.new(self).get_image
    end
  end
end