Giter Site home page Giter Site logo

Comments (5)

ggilder avatar ggilder commented on June 17, 2024

Hmm. It doesn't seem like calling introspection methods like is_a? and respond_to? should trigger the deprecation warning, but maybe it's just applied to all methods.

from commander.

mattbrictson avatar mattbrictson commented on June 17, 2024

Yes, the deprecation warning seems to be triggered on all methods except inspect. For example, respond_to?:

>> ::RAILS_CACHE.respond_to?(:parse)
DEPRECATION WARNING: RAILS_CACHE is deprecated! Use ::Rails.cache instead. (called from irb_binding at (irb):1)
=> false

Here is the basic implementation from activesupport:

class DeprecationProxy #:nodoc:
  def self.new(*args, &block)
    object = args.first

    return object unless object
    super
  end

  instance_methods.each { |m| undef_method m unless m =~ /^__|^object_id$/ }

  # Don't give a deprecation warning on inspect since test/unit and error
  # logs rely on it for diagnostics.
  def inspect
    target.inspect
  end

  private
    def method_missing(called, *args, &block)
      warn caller, called, args
      target.__send__(called, *args, &block)
    end
end

Should commander work around this, or do you think I should raise this as an issue with activesupport?

from commander.

ggilder avatar ggilder commented on June 17, 2024

@mbrictson could you try this commit and confirm if it fixes the problem? It works for me. b475b6e

from commander.

mattbrictson avatar mattbrictson commented on June 17, 2024

Yes, that fixes the deprecation warning for me. Thanks!

from commander.

ggilder avatar ggilder commented on June 17, 2024

Cool, I've just released 4.1.5 with this fix incorporated.

from commander.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.