aboutsummaryrefslogtreecommitdiffstats
path: root/activesupport/lib/active_support
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'master' of github.com:lifo/docrailsVijay Dev2012-09-013-4/+15
|\
| * copy edits [ci skip]Vijay Dev2012-09-011-1/+1
| |
| * Expand documentation for change() method in Time, Date, and DateTimeJeff Shantz2012-08-293-4/+15
| |
* | fixes a regexpXavier Noria2012-08-291-1/+1
| | | | | | | | | | | | | | | | We need to anchor to remove the extension. In addition to be the correct way to do that, files in ~/.rbenv get that .rb removed, so it is a real source of bugs, as reported in https://github.com/rails/rails/commit/b33700f5580b4cd85379a1dc60fa341ac4d8deb2#commitcomment-1781840
* | detect circular constant autoloadingXavier Noria2012-08-281-4/+11
| | | | | | | | | | | | | | Nowadays circular autoloads do not work, but the user gets a NameError that says some constant is undefined. That's puzzling, because he is normally trying to autoload a constant he knows can be autoloaded. With this check we can give a better error message.
* | fixes a bug in dependencies.rbXavier Noria2012-08-281-1/+1
| | | | | | | | | | | | | | loaded stores file names without the .rb extension, but search_for_file returns file names with the extension. The solution is hackish, but this file needs a revamp.
* | Remove unused variableRafael Mendonça França2012-08-261-1/+1
| |
* | Merge pull request #7029 from panthomakos/date-and-timeRafael Mendonça França2012-08-253-379/+218
|\ \ | | | | | | Refactored common date and time calculations.
| * | Refactored common date and time calculations.Pan Thomakos2012-08-043-379/+218
| | | | | | | | | | | | | | | | | | | | | | | | * Added the `DateAndTime::Calculations` module that is included in Time and Date. It houses common calculations to reduce duplicated code. * Simplified and cleaned-up the calculation code. * Removed duplication in tests by adding a behavior module for shared tests. I also added some missing tests.
* | | simplifies yet another regexpXavier Noria2012-08-251-1/+1
| | |
* | | instead of returning $& if =~ succeeds, use String#[]Xavier Noria2012-08-251-1/+1
| | |
* | | simplifies a regexpXavier Noria2012-08-251-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | We simplify two things here: First since * is greedy it is enough to go look for the rightmost ::, no need to ask the regexp engine to match the rest of the string since we are not validating anything, only capturing. The second simplification comes from using a look-ahead assertion, that allows us to have the capture in $&, thus removing the need of a group.
* | | simplifies a regexpXavier Noria2012-08-241-1/+1
| | | | | | | | | | | | | | | The new regexp has less work to do, we anchor a fixed string at the end and need no group.
* | | Revert "Use join without default separator"José Valim2012-08-231-2/+2
| | | | | | | | | | | | | | | | | | This reverts commit b0ab8dc0b2b0f580ffe5ac9ff57fd13152e18577 because it was removing the contents of the message when we did not have any tag. A test case is also committed.
* | | revises a brittle test in Active SupportXavier Noria2012-08-221-11/+21
| |/ |/| | | | | | | | | | | The revised test assumed that the default permissions of a file matched the umask of the process, but in the general case that depends also on the file system. This test was failing in the /vagrant shared folder of Rails development boxes.
* | Merge pull request #3578 from amatsuda/remove_j_alias_for_json_escapeRafael Mendonça França2012-08-211-7/+0
|\ \ | | | | | | Remove j alias for ERB::Util.json_escape
| * | Remove j alias for ERB::Util.json_escapeAkira Matsuda2011-11-091-7/+0
| | |
* | | Get rid of config.preload_frameworks in favor of config.eager_load_namespacesJosé Valim2012-08-211-0/+2
| | | | | | | | | | | | | | | | | | | | | The new option allows any Ruby namespace to be registered and set up for eager load. We are effectively exposing the structure existing in Rails since v3.0 for all developers in order to make their applications thread-safe and CoW friendly.
* | | Make ActiveSupport::Autoload localJosé Valim2012-08-211-17/+43
| | | | | | | | | | | | | | | | | | | | | Previously, ActiveSupport::Autoload was global and reserved for usage inside Rails. This pull request makes it local, fixes its test (they were not being run because its file was named wrongly) and make it part of Rails public API.
* | | Revert "removes unused optional argument in AS::Dependencies::Loadable#load"Xavier Noria2012-08-201-1/+1
| | | | | | | | | | | | | | | | | | This argument is there because that's the signature of Kernel#load. This reverts commit bf3fa34ed0aa33bca3aac9c96165662fe864a7b4.
* | | removes unused optional argument in AS::Dependencies::Loadable#loadXavier Noria2012-08-201-1/+1
| | |
* | | removes the second argument of the AS const_missing hookXavier Noria2012-08-191-8/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Ruby does not pass the nesting to const_missing (unfortunately). That second argument was there in case that changed, Yehuda sent a patch to MRI http://bugs.ruby-lang.org/issues/2740 but there is not much movement there and Matz told me in Amsterdam there was no immediate plan to pass the nesting. So let's go back to implement what happens now, and if in the future we get the nesting then we will adapt this. Double-checked this with Mr Katz.
* | | no need for AS::Dependencies.(hook!|unhook!) to return anything in particularXavier Noria2012-08-191-2/+0
| | |
* | | Replace deprecated `memcache-client` gem with `dalli` in ↵Guillermo Iguaran2012-08-171-32/+21
| | | | | | | | | | | | | | | | | | ActiveSupport::Cache::MemCacheStore memcache-client was deprecated in favour of dalli in 2010.
* | | Evented notifications take priority over Timed notificationsEric Saxby2012-08-111-3/+3
| | | | | | | | | | | | | | | | | | | | | In cases where a notification subscriber includes methods to support both Evented and Timed events, Evented should take priority over Timed. This allows subscribers to be backwards compatible (older Rails only allows Timed events) while defaulting to newer behavior.
* | | Ensure I18n format values always have precedence over defaultsCarlos Antonio da Silva2012-08-111-42/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Always merge I18n format values, namespaced or not, over the default ones, to ensure I18n format defaults will have precedence over our namespaced values. Precedence should happen like this: default :format default :namespace :format i18n :format i18n :namespace :format Because we cannot allow our namespaced default to override a I18n :format config - ie precision in I18n :format should always have higher precedence than our default precision for a particular :namespace. Also simplify default format options logic.
* | | Fallback to :en locale instead of handling a constant with defaultsCarlos Antonio da Silva2012-08-112-25/+134
| | | | | | | | | | | | | | | | | | | | | | | | Action Pack already comes with a default locale fine for :en, that is always loaded. We can just fallback to this locale for defaults, if values for the current locale cannot be found. Closes #4420, #2802, #2890.
* | | Bring back changelog entries for Active SupportCarlos Antonio da Silva2012-08-111-2/+2
| | | | | | | | | | | | Removed in 0228a73b1094a3e19ad291d2ce4789890c09578a, pull request #7310.
* | | Add back missing requireRafael Mendonça França2012-08-071-0/+1
| | |
* | | Fix the deprecation horizon. [ci skip]Rafael Mendonça França2012-08-071-1/+1
| | |
* | | Deprecate ActiveSupport::JSON::VariableErich Menge2012-08-071-0/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Reason: ActiveSupport::JSON::Variable is not used anymore internally. It was deprecated in 3-2-stable but we reverted all the deprecation for point releases. See #6536 and #6546. Conflicts: activesupport/lib/active_support/json/variable.rb
* | | defines String#indent [closes #7263] [Xavier Noria & Ace Suares]Xavier Noria2012-08-072-0/+44
| | |
* | | Merge pull request #7272 from lexmag/string_inquirerRafael Mendonça França2012-08-061-6/+12
|\ \ \ | | | | | | | | Add AS::StringInquirer#respond_to? method
| * | | Add AS::StringInquirer#respond_to? methodAleksey Magusev2012-08-061-6/+12
| | |/ | |/| | | | | | | Consistently with #method_missing
* | | let ruby decompose the tuples in the iteratorAaron Patterson2012-08-061-1/+1
| | |
* | | removes usage of Object#in? from the code base (the method remains defined ↵Xavier Noria2012-08-064-11/+5
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | by Active Support) Selecting which key extensions to include in active_support/rails made apparent the systematic usage of Object#in? in the code base. After some discussion in https://github.com/rails/rails/commit/5ea6b0df9a36d033f21b52049426257a4637028d we decided to remove it and use plain Ruby, which seems enough for this particular idiom. In this commit the refactor has been made case by case. Sometimes include? is the natural alternative, others a simple || is the way you actually spell the condition in your head, others a case statement seems more appropriate. I have chosen the one I liked the most in each case.
* | Merge branch 'master' of github.com:lifo/docrailsVijay Dev2012-08-041-2/+5
|\ \ | | | | | | | | | | | | | | | Conflicts: activemodel/lib/active_model/secure_password.rb activerecord/lib/active_record/associations/collection_proxy.rb
| * | update to_param docs [ci skip]Francesco Rodriguez2012-07-271-2/+5
| | |
* | | load active_support/deprecation in active_support/railsXavier Noria2012-08-021-0/+3
| | |
* | | load active_support/core_ext/module/delegation in active_support/railsXavier Noria2012-08-021-0/+3
| | |
* | | load active_support/core_ext/class/attribute in active_support/railsXavier Noria2012-08-021-3/+6
| | |
* | | load active_support/concern in active_support/railsXavier Noria2012-08-021-0/+3
| | |
* | | load active_support/dependencies/autoload in active_support/railsXavier Noria2012-08-021-0/+3
| | |
* | | load active_support/core_ext/object/inclusion in active_support/railsXavier Noria2012-08-021-0/+4
| | |
* | | load active_support/core_ext/object/blank in active_support/railsXavier Noria2012-08-021-0/+2
| | |
* | | defines a private require-hub active_support/railsXavier Noria2012-08-021-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | This is a private place to put those AS features that are used by every component. Nowadays we cherry-pick individual files wherever they are used, but that it is not worth the effort for stuff that is going to be loaded for sure sooner or later, like blank?, autoload, concern, etc.
* | | html_escape should escape single quotesSantiago Pastorino2012-07-311-3/+3
| | | | | | | | | | | | | | | https://www.owasp.org/index.php/XSS_%28Cross_Site_Scripting%29_Prevention_Cheat_Sheet#RULE_.231_-_HTML_Escape_Before_Inserting_Untrusted_Data_into_HTML_Element_Content Closes #7215
* | | Merge pull request #7197 from davidcelis/i18n_inflectorJosé Valim2012-07-314-20/+49
|\ \ \ | | | | | | | | Make ActiveSupport::Inflector locale aware and multilingual
| * | | Make ActiveSupport::Inflector locale aware and multilingualDavid Celis2012-07-304-20/+49
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Inflector is currently not very supportive of internationalized websites. If a user wants to singularize and/or pluralize words based on any locale other than English, they must define each case in locale files. Rather than create large locale files with mappings between singular and plural words, why not allow the Inflector to accept a locale? This patch makes ActiveSupport::Inflector locale aware and uses `:en`` unless otherwise specified. Users will still be provided a list of English (:en) inflections, but they may additionally define inflection rules for other locales. Each list is kept separately and permanently. There is no reason to limit users to one list of inflections: ActiveSupport::Inflector.inflections(:es) do |inflect| inflect.plural(/$/, 's') inflect.plural(/([^aeéiou])$/i, '\1es') inflect.plural(/([aeiou]s)$/i, '\1') inflect.plural(/z$/i, 'ces') inflect.plural(/á([sn])$/i, 'a\1es') inflect.plural(/é([sn])$/i, 'e\1es') inflect.plural(/í([sn])$/i, 'i\1es') inflect.plural(/ó([sn])$/i, 'o\1es') inflect.plural(/ú([sn])$/i, 'u\1es') inflect.singular(/s$/, '') inflect.singular(/es$/, '') inflect.irregular('el', 'los') end 'ley'.pluralize(:es) # => "leyes" 'ley'.pluralize(:en) # => "leys" 'avión'.pluralize(:es) # => "aviones" 'avión'.pluralize(:en) # => "avións" A multilingual Inflector should be of use to anybody that is tasked with internationalizing their Rails application. Signed-off-by: David Celis <david@davidcelis.com>
* | | | Revert "DRY class_attribute code"José Valim2012-07-301-3/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | class_attribute is a building block and using define_method can be much slower for such basic method definitions. This reverts commit d59208d7032e2be855a89ad8d4685cc08dd7cdb3.