Sha256: 1aac4a5ea0c5975072492b90e94ed48c5d601fe3e02df4a6ebaa4265e94a229a

Contents?: true

Size: 1.01 KB

Versions: 73

Compression:

Stored size: 1.01 KB

Contents

module Apipie

  class SeeDescription

    attr_reader :link, :description

    def initialize(args)
      if args.first.is_a? Hash
        args = args.first
      elsif args.count == 2
        if args.last.is_a? Hash
          args = {:link => args.first}.merge(args.last)
        else
          args = {:link => args.first, :description => args.second}
        end
      elsif args.count == 1 && args.first.is_a?(String)
        args = {:link => args.first, :description => args.first}
      else
        raise ArgumentError "ApipieError: Bad use of see method."
      end
      @link = args[:link] || args['link']
      @description = args[:desc] || args[:description] || args['desc'] || args['description']
    end

    def to_json
      {:link => see_url, :description => description}
    end

    def see_url
      method_description = Apipie[@link]
      if method_description.nil?
        raise ArgumentError.new("Method #{@link} referenced in 'see' does not exist.")
      end
      method_description.doc_url
    end

  end

end

Version data entries

73 entries across 73 versions & 3 rubygems

Version Path
apipie-rails-1.4.2 lib/apipie/see_description.rb
apipie-rails-1.4.1 lib/apipie/see_description.rb
apipie-rails-1.4.0 lib/apipie/see_description.rb
apipie-rails-1.3.0 lib/apipie/see_description.rb
apipie-rails-1.2.3 lib/apipie/see_description.rb
apipie-rails-1.2.2 lib/apipie/see_description.rb
apipie-rails-1.2.1 lib/apipie/see_description.rb
apipie-rails-1.2.0 lib/apipie/see_description.rb
apipie-rails-1.1.0 lib/apipie/see_description.rb
apipie-rails-1.0.0 lib/apipie/see_description.rb
apipie-rails-0.9.4 lib/apipie/see_description.rb
apipie-rails-0.9.3 lib/apipie/see_description.rb
apipie-rails-0.9.2 lib/apipie/see_description.rb
apipie-rails-0.9.1 lib/apipie/see_description.rb
apipie-rails-0.9.0 lib/apipie/see_description.rb
apipie-rails-0.8.2 lib/apipie/see_description.rb
apipie-rails-0.8.1 lib/apipie/see_description.rb
apipie-rails-0.8.0 lib/apipie/see_description.rb
apipie-rails-0.7.2 lib/apipie/see_description.rb
apipie-rails-0.7.1 lib/apipie/see_description.rb