Sha256: 508533267feb6920b8bb42be509dd2713a43badda5483b725849084beb40cd67

Contents?: true

Size: 1.62 KB

Versions: 12

Compression:

Stored size: 1.62 KB

Contents

module Isomorfeus
  if RUBY_ENGINE == 'opal'
    class << self
      attr_accessor :on_browser
      attr_accessor :on_ssr
      attr_accessor :on_server
      attr_accessor :on_desktop
      attr_accessor :on_mobile
      attr_accessor :on_tablet
      attr_accessor :on_tv

      def on_browser?
        # true if running on browser
        @on_browser
      end

      def on_ssr?
        # true if running in server side rendering in restricted node js vm
        @on_ssr
      end

      def on_server?
        # true if running on server
        @on_server
      end

      def on_desktop?
        # true if running as desktop app
        @on_desktop
      end

      def on_mobile?
        # true if running on mobile
        @on_mobile
      end

      def on_tablet?
        # true if running on a tablet
        @on_tablet
      end

      def on_tv?
        # true if running on a tv
        @on_tv
      end
    end

    self.on_ssr       = `(typeof process === 'object' && typeof process.release === 'object' && typeof process.release.name === 'string' && process.release.name === 'node') ? true : false`
    self.on_desktop   = false
    self.on_tablet    = false
    self.on_tv        = false
    self.on_mobile    = false
    self.on_server    = false
    self.on_browser   = !self.on_ssr? && !self.on_desktop? && !self.on_mobile? && !self.on_tv?
  else
    class << self
      def on_ssr?;       false; end
      def on_desktop?;   false; end
      def on_mobile?;    false; end
      def on_tablet?;    false; end
      def on_browser?;   false; end
      def on_tv?;        false; end

      def on_server?;    true;  end
    end
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
isomorfeus-redux-4.2.0 lib/isomorfeus/execution_environment.rb
isomorfeus-redux-4.1.18 lib/isomorfeus/execution_environment.rb
isomorfeus-redux-4.1.17 lib/isomorfeus/execution_environment.rb
isomorfeus-redux-4.1.16 lib/isomorfeus/execution_environment.rb
isomorfeus-redux-4.1.15 lib/isomorfeus/execution_environment.rb
isomorfeus-redux-4.1.14 lib/isomorfeus/execution_environment.rb
isomorfeus-redux-4.1.13 lib/isomorfeus/execution_environment.rb
isomorfeus-redux-4.1.12 lib/isomorfeus/execution_environment.rb
isomorfeus-redux-4.1.11 lib/isomorfeus/execution_environment.rb
isomorfeus-redux-4.1.10 lib/isomorfeus/execution_environment.rb
isomorfeus-redux-4.1.9 lib/isomorfeus/execution_environment.rb
isomorfeus-redux-4.1.8 lib/isomorfeus/execution_environment.rb