Sha256: 42ae5f110ced955cf0ae17af533757d3254f2e038990113b023d9cc04dc83424

Contents?: true

Size: 991 Bytes

Versions: 4

Compression:

Stored size: 991 Bytes

Contents

module Badger
  class Service
    def self.badge name, github_slug
      return nil unless params = Config.instance.services[name]
      params = Config.instance.services[name]

      scheme = params['scheme'] ||= 'http'

      if params['service_root']
        base_url = 'http://%s' % [
          params['service_root']
        ]
      else
        base_url = 'http://%s/%s' % [
          Config.instance.config['badge_service'],
          params['badge_slug']
        ]
      end

      badge_url = '%s/%s' % [
        base_url,
        github_slug
      ]

      target_url = 'https://%s/%s' % [
        params['url_path'],
        github_slug
      ]

      if params['suffix']
        badge_url = suffixify badge_url, params['suffix']
        target_url = suffixify target_url, params['suffix']
      end

      Badger.badge params['alt_text'], badge_url, target_url
    end

    def self.suffixify path, suffix
      '%s/%s' % [
        path,
        suffix
      ]
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
badgerbadgerbadger-0.12.0 lib/badger/service.rb
badgerbadgerbadger-0.11.2 lib/badger/service.rb
badgerbadgerbadger-0.11.1 lib/badger/service.rb
badgerbadgerbadger-0.10.2 lib/badger/service.rb