• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

mongoid / origin / 363 / 8
92%
master: 92%

Build:
DEFAULT BRANCH: master
Ran 30 Jan 2015 05:08AM UTC
Files 30
Run time 20s
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

30 Jan 2015 05:05AM UTC coverage: 0.0%. First build
jruby-head, CI="travis"

Pull #106

travis-ci

Shamaoke
Add __FILE__, __LINE__ to class-, module_eval calls

Sometimes when exploring or debugging code it's necessary to know where
some method was defined. For this purpose `Method#source_location` is
used. It reports a filename and a line in the file with a method
definition. However, when using `Module#class_eval` and
`Module#module_eval` to dynamically define methods,
the output of `Method#source_location` is uninformative.

For this reason it's better to add `__FILE__` and `__LINE__` constants
as the second and third arguments to the aforementioned methods. This
allows `Method#source_location` to properly locate methods which was
defined dynamically.

Here's some examples:

    require 'origin'

    class Band
      extend Origin::Forwardable

      select_with :queryable

      def self.queryable
        Object.new.extend Origin::Queryable
      end
    end

    Band.method(:where).source_location
      # without __FILE__, __LINE__
      #=> ["(eval)", 1]

      # with __FILE__, __LINE__
      #=> ["<...>/lib/origin/forwardable.rb", 53]

    require 'origin'

    module Finders
      extend Origin::Forwardable

      select_with :queryable

      def queryable
        Object.new.extend Origin::Queryable
      end
    end

    class Band
      extend Finders
    end

    Band.method(:where).source_location
      # without __FILE__, __LINE__
      #=> ["(eval)", 1]

      # with __FILE__, __LINE__
      #=> ["<...>/lib/origin/forwardable.rb", 47]
Pull Request #106:

0 of 765 relevant lines covered (0.0%)

0.0 hits per line

Source Files on job 363.8 (jruby-head, CI="travis")
  • Tree
  • List 0
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Build 363
  • Travis Job 363.8
  • 9b1aaef4 on github
  • Next Job for jruby-head, CI="travis" on master (#364.8)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc