Module: Brauser::BrowserMethods::Attributes

Included in:
Brauser::Browser
Defined in:
lib/brauser/browser.rb

Overview

Methods to handle attributes

Instance Method Summary collapse

Instance Method Details

#classes(join = " ", name = "", version = "version-", platform = "platform-", &block) ⇒ String|Array Also known as: meta

Returns an array of information about the browser. Information are strings which are suitable to use as CSS classes.

For version, it will be included a class for every token of the version. For example, version 7.0.1.2 will return this:

["version-7", "version-7_0", "version-7_0_1", "version-7_0_1_2"]

If you provide a block (with accepts name, version and platform as arguments), it will be used for translating the name.

Parameters:

  • join (String|NilClass) (defaults to: " ")

    If non falsy, the separator to use to join information. If falsy, informations will be returned as array.

  • name (Boolean) (defaults to: "")

    If non falsy, the string to prepend to the name. If falsy, the name information will not be included.

  • version (String|NilClass) (defaults to: "version-")

    If non falsy, the string to prepend to the version. If falsy, the version information will not be included.

  • platform (String|NilClass) (defaults to: "platform-")

    If non falsy, the string to prepend to the platform. If falsy, the platform information will not be included.

  • block (Proc)

    A block to translate browser name.

Returns:

  • (String|Array)

    CSS ready information of the current browser.



442
443
444
445
446
# File 'lib/brauser/browser.rb', line 442

def classes(join = " ", name = "", version = "version-", platform = "platform-", &block)
  platform = "platform-" if platform.is_a?(TrueClass)
  rv = [stringify_name(name, &block), stringify_version(version), !platform ? nil : (platform + @platform.to_s)].compact.flatten
  join ? rv.join(join) : rv
end

#platform_nameString

Gets a human-readable platform name.

Returns:

  • (String)

    A readable platform name.



421
422
423
424
# File 'lib/brauser/browser.rb', line 421

def platform_name
  self.parse_agent(@agent) if !@platform
  ::Brauser::Browser.platforms.fetch(@platform, ["Unknown Platform"]).last.ensure_string
end

#readable_nameString

Gets a human-readable browser name.

Returns:

  • (String)

    A human-readable browser name.



413
414
415
416
# File 'lib/brauser/browser.rb', line 413

def readable_name
  self.parse_agent(@agent) if !@name
  ::Brauser::Browser.browsers.fetch(@name, ["Unknown Browser"]).last.ensure_string
end