aboutsummaryrefslogtreecommitdiffstats
path: root/activesupport/test/core_ext/module_test.rb
Commit message (Collapse)AuthorAgeFilesLines
* Add separate test to ensure that `delegate` with `:private` option returns ↵bogdanvlviv2018-02-281-6/+16
| | | | | | | | correct value Remove extra comments `# Asking for private method` in activesupport/test/core_ext/module_test.rb Improve docs of using `delegate` with `:private` Update changelog of #31944
* add private: true option for ActiveSupport delegateTomas Valent2018-02-261-0/+57
|
* Use assert_predicate and assert_not_predicateDaniel Colson2018-01-251-1/+1
|
* Use respond_to test helpersDaniel Colson2018-01-251-9/+9
|
* Test for the new exception of delegate_missing_to (#30191)Anton Khamets2017-08-121-0/+8
| | | | | | | | | | | | | | | * Add test for the new exception of delegate_missing_to * Add a changelog entry * Only check for nil if NoMethodError was raised * Make method private * Have to pass both target name and value * Inline the re-raise [Rafael Mendonça França + Anton Khamets]
* [Active Support] `rubocop -a --only Layout/EmptyLineAfterMagicComment`Koichi ITO2017-07-111-0/+1
|
* Merge pull request #29728 from kirs/frozen-activesupportMatthew Draper2017-07-091-0/+1
|\ | | | | Use frozen-string-literal in ActiveSupport
| * Use frozen-string-literal in ActiveSupportKir Shatrov2017-07-091-0/+1
| |
* | Fix warning: `*' interpreted as argument prefixRyuta Kamizono2017-07-061-2/+2
| | | | | | | | | | | | | | ``` /Users/kamipo/src/github.com/rails/rails/activesupport/test/core_ext/module_test.rb:402: warning: `*' interpreted as argument prefix /Users/kamipo/src/github.com/rails/rails/activesupport/test/core_ext/module_test.rb:420: warning: `*' interpreted as argument prefix ```
* | Merge pull request #29687 from k3rni/private-prefixed-delegateMatthew Draper2017-07-061-0/+38
|\ \ | |/ |/| | | Return prefixed method names from `Module.delegate`, if using prefixes
| * Use `map` in `delegate` so that actual prefixed method names are returned, ↵Krzysztof Zych2017-07-051-0/+39
|/ | | | if using prefix version.
* Revert "Merge pull request #29540 from kirs/rubocop-frozen-string"Matthew Draper2017-07-021-1/+0
| | | | | This reverts commit 3420a14590c0e6915d8b6c242887f74adb4120f9, reversing changes made to afb66a5a598ce4ac74ad84b125a5abf046dcf5aa.
* Enforce frozen string in RubocopKir Shatrov2017-07-011-0/+1
|
* Update test names to match method nameT.J. Schuck2017-05-041-6/+6
| | | The method is named `delegate_missing_to`, not `delegate_to_missing`
* delegate_missing_to should fall back to superMatthew Draper2017-04-091-0/+22
|
* delegate_to_missing doesn't delegate private methodsMatthew Draper2017-04-091-0/+10
| | | | So we shouldn't claim they're there, even when asked explicitly.
* Adjust `Module.parent_name` to work when frozen; fixes #27637Corey Ward2017-01-171-30/+0
|
* Constant look-up would no longer fall back to top-level constant since ruby 2.5Akira Matsuda2017-01-131-2/+2
| | | | | See: https://github.com/ruby/ruby/commit/44a2576f798b07139adde2d279e48fdbe71a0148 https://github.com/ruby/ruby/commit/9df88e9cae57aa421230f14500e88f33f127414f
* class Foo < Struct.new(:x) creates an extra unneeded anonymous classAkira Matsuda2017-01-131-1/+1
| | | | because Struct.new returns a Class, we just can give it a name and use it directly without inheriting from it
* assert_equal takes expectation firstAkira Matsuda2016-12-261-9/+9
|
* Remove deprecated method alias_method_chainAndrew White2016-11-141-215/+0
|
* Remove deprecated local_constantsAndrew White2016-11-131-10/+0
|
* Add more rubocop rules about whitespacesRafael Mendonça França2016-10-291-2/+2
|
* Add three new rubocop rulesRafael Mendonça França2016-08-161-3/+3
| | | | | | | | Style/SpaceBeforeBlockBraces Style/SpaceInsideBlockBraces Style/SpaceInsideHashLiteralBraces Fix all violations in the repository.
* Add `Style/EmptyLines` in `.rubocop.yml` and remove extra empty linesRyuta Kamizono2016-08-071-1/+0
|
* normalizes indentation and whitespace across the projectXavier Noria2016-08-061-3/+3
|
* modernizes hash syntax in activesupportXavier Noria2016-08-061-25/+25
|
* applies new string literal convention in activesupport/testXavier Noria2016-08-061-35/+35
| | | | | The current code base is not uniform. After some discussion, we have chosen to go with double quotes by default.
* Add test for `delegate_missing_to` where method doesn't existJon Moss2016-05-261-0/+8
|
* Add tests for keyword arg to: for Module#delegateYosuke Kabuto2016-05-251-0/+15
|
* Don't delegate to private methods of the targerRafael Mendonça França2016-05-241-0/+14
| | | | And make sure that it doesn't even try to call the method in the target.
* Merge pull request #23930 from gsamokovarov/module-delegate-missing-toRafael Mendonça França2016-05-241-0/+22
|\ | | | | | | Introduce Module#delegate_missing_to
| * Introduce Module#delegate_missing_toGenadi Samokovarov2016-02-271-0/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When building decorators, a common pattern may emerge: class Partition def initialize(first_event) @events = [ first_event ] end def people if @events.first.detail.people.any? @events.collect { |e| Array(e.detail.people) }.flatten.uniq else @events.collect(&:creator).uniq end end private def respond_to_missing?(name, include_private = false) @events.respond_to?(name, include_private) end def method_missing(method, *args, &block) @events.send(method, *args, &block) end end With `Module#delegate_missing_to`, the above is condensed to: class Partition delegate_missing_to :@events def initialize(first_event) @events = [ first_event ] end def people if @events.first.detail.people.any? @events.collect { |e| Array(e.detail.people) }.flatten.uniq else @events.collect(&:creator).uniq end end end David suggested it in #23824.
* | Remove duplicated `test_` prefix [ci skip]Ryuta Kamizono2016-03-021-1/+1
| |
* | Deprecate `Module.local_constants`yui-knk2016-03-011-1/+7
|/ | | | | After Ruby 1.9, we can easily get the constants that have been defined locally by `Module.constants(false)`.
* Fixing issue when delegating to methods named "block", "args", or "arg"Jake Bell2015-08-191-0/+15
|
* Deprecate alias_method_chain in favour of Module#prependKir Shatrov2015-03-221-95/+125
| | | …as discussed #19413
* Revert 88d08f2ec9f89ba431cba8d0c06ac9ebc204bbbbRafael Mendonça França2015-02-111-1/+1
| | | | | | | This caused a performance regression since we were decided to do the nil check in run time not in the load time. See https://github.com/rails/rails/pull/15187#issuecomment-71760058
* Delegation works with reserved words passed to `:to`Agis-2014-09-191-0/+11
| | | | Fixes #16956.
* Fix confusing exception in ActiveSupport delegationVladimir Yarotsky2014-05-201-1/+1
|
* Remove warningRafael Mendonça França2014-01-161-2/+2
|
* define the delegate methods on one line. fixes #13724Aaron Patterson2014-01-161-0/+10
| | | | sup haters
* Unused classes in AS testsAkira Matsuda2013-12-191-6/+0
|
* Only raise DelegationError if it's is the source of the exceptionAndrew White2013-07-111-0/+27
| | | | | | | | | This fixes situations where nested NoMethodError exceptions are masked by delegations. This would cause confusion especially where there was a problem in the Rails booting process because of a delegation in the routes reloading code. Fixes #10559
* Fixed test broken by local_constant_names Arun Agrawal2013-07-031-6/+0
| | | depreciation removed
* Move delegation error constant to inside ModuleCarlos Antonio da Silva2013-06-261-1/+1
|
* Add DelegationError class. Rasied by delegation to a nil objectSteve Faulkner2013-06-261-1/+1
|
* Module#delegate checks nilness rather that falsehood if :allow_nil is true, ↵Xavier Noria2013-04-261-0/+31
| | | | | | | | | | | | | | and avoids multiple evaluation of the target method Notes: 1) I hope nilness is a word. 2) See rationale for avoiding multiple evaluation in a comment in the patch, credit goes to @jeremy for pointing out this gotcha in the existing implementation. 3) Embeds a little joke dedicated to @pixeltrix (it could be worse! :D). References #10347.
* Delegation method bugLi Ellis Gallardo2013-04-251-0/+5
| | | | | | Add documentation and test to delegation method that make sure we're aware that when a delegated object is not nil or false and doesn't respond to the method it will still raise a NoMethodError exception.
* Nice and easy delegation to the classMarc-Andre Lafortune2012-09-111-0/+11
|