Sha256: 408e2ea3841e428d11d7008b441b4ce44fb7c2fc6c1569e72ce89d32ff008c4a

Contents?: true

Size: 1.99 KB

Versions: 31

Compression:

Stored size: 1.99 KB

Contents

begin
  require 'active_support/core_ext/class/attribute'
rescue LoadError

  # A dumbed down version of ActiveSupport's
  # Class#class_attribute helper.
  class Class
    def class_attribute(*attrs)
      instance_reader = true
      instance_writer = true

      attrs.each do |name|
        class_eval <<-RUBY, __FILE__, __LINE__ + 1
          def self.#{name}() nil end
          def self.#{name}?() !!#{name} end

          def self.#{name}=(val)
            singleton_class.class_eval do
              define_method(:#{name}) { val }
            end

            if singleton_class?
              class_eval do
                def #{name}
                  defined?(@#{name}) ? @#{name} : singleton_class.#{name}
                end
              end
            end
            val
          end

          if instance_reader
            def #{name}
              defined?(@#{name}) ? @#{name} : self.class.#{name}
            end

            def #{name}?
              !!#{name}
            end
          end
        RUBY

        attr_writer name if instance_writer
      end
    end

    private
    def singleton_class?
      ancestors.first != self
    end
  end
end

begin
  require 'active_support/core_ext/hash/keys'
rescue LoadError
  class Hash
    def stringify_keys
      keys.each do |key|
        self[key.to_s] = delete(key)
      end
      self
    end if !{}.respond_to?(:stringify_keys)

    def symbolize_keys
      keys.each do |key|
        self[(key.to_sym rescue key) || key] = delete(key)
      end
      self
    end if !{}.respond_to?(:symbolize_keys)
  end
end

begin
  require 'active_support/core_ext/string/inflections'
rescue LoadError
  class String
    def constantize
      names = self.split('::')
      names.shift if names.empty? || names.first.empty?

      constant = Object
      names.each do |name|
        constant = constant.const_defined?(name) ? constant.const_get(name) : constant.const_missing(name)
      end
      constant
    end
  end if !"".respond_to?(:constantize)
end


Version data entries

31 entries across 31 versions & 2 rubygems

Version Path
sidekiq-2.15.2 lib/sidekiq/core_ext.rb
sidekiq-2.15.1 lib/sidekiq/core_ext.rb
sidekiq-2.15.0 lib/sidekiq/core_ext.rb
sidekiq-2.14.1 lib/sidekiq/core_ext.rb
sidekiq-2.14.0 lib/sidekiq/core_ext.rb
sidekiq-2.13.1 lib/sidekiq/core_ext.rb
sidekiq-2.13.0 lib/sidekiq/core_ext.rb
sidekiq-2.12.4 lib/sidekiq/core_ext.rb
sidekiq-2.12.3 lib/sidekiq/core_ext.rb
sidekiq-2.12.1 lib/sidekiq/core_ext.rb
sidekiq-2.12.0 lib/sidekiq/core_ext.rb
sidekiq-statsd-0.1.1 vendor/ruby/1.9.1/gems/sidekiq-2.11.2/lib/sidekiq/core_ext.rb
sidekiq-statsd-0.1.0 vendor/ruby/1.9.1/gems/sidekiq-2.11.2/lib/sidekiq/core_ext.rb
sidekiq-2.11.2 lib/sidekiq/core_ext.rb
sidekiq-2.11.1 lib/sidekiq/core_ext.rb
sidekiq-2.11.0 lib/sidekiq/core_ext.rb
sidekiq-2.10.1 lib/sidekiq/core_ext.rb
sidekiq-2.10.0 lib/sidekiq/core_ext.rb
sidekiq-2.9.0 lib/sidekiq/core_ext.rb
sidekiq-2.8.0 lib/sidekiq/core_ext.rb